aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/MachineCSE.cpp
diff options
context:
space:
mode:
authorShih-wei Liao <sliao@google.com>2011-06-15 12:38:29 -0700
committerShih-wei Liao <sliao@google.com>2011-06-15 12:38:29 -0700
commitb460d4ba2d88c13480c2a6a8495de9d07a2c9f66 (patch)
treed23c75f9822883e4e67805ca729ba339f13b2ffa /lib/CodeGen/MachineCSE.cpp
parentca65f4e8b7d5566d70a99273a4baabf4dbf08c05 (diff)
downloadexternal_llvm-b460d4ba2d88c13480c2a6a8495de9d07a2c9f66.zip
external_llvm-b460d4ba2d88c13480c2a6a8495de9d07a2c9f66.tar.gz
external_llvm-b460d4ba2d88c13480c2a6a8495de9d07a2c9f66.tar.bz2
Fix the wrong encoding of vmov.32's immed8 value in LLVM's ARMInstrVFP.td.
Taking Renderscript Balls as example, fc: eeb00a03 vmov.f32 s0, #3 120: edd00a02 vldr s1, [r0, #8] 128: ee600a80 vmul.f32 s1, s1, s0 VFPexpand in ARM's hardware will expand #3 above to 0x4e180000. This corresponds to floating point value of 2.375. However, in the original Balls code it is 6.0. As a result, Balls got smaller recently. Note that 6.0 in F32 is 0x40c00000 and 6.0 in F64 is 0x4018000000000000! This leads to how I fixed the bug. Change-Id: I9a8e71771884dc27d5b9392abe7dfa541b45f357
Diffstat (limited to 'lib/CodeGen/MachineCSE.cpp')
0 files changed, 0 insertions, 0 deletions