Yin Ma
2014-Feb-07 21:44 UTC
[LLVMdev] Bug? LLVM X86 -m32 generates 64bit register in movd
Hi,
I am getting a weird situation. The m32 x86 generates an instruction using
64bit registers.
The compiler I used is
clang version 3.5 (trunk 198389)
Target: x86_64-unknown-linux-gnu
Thread model: posix
# BB#10: # %land.rhs.i
cvttsd2si %xmm0, %eax
xorps %xmm1, %xmm1
cvtsi2sdl %eax, %xmm1
cmpeqsd %xmm0, %xmm1
movd %xmm1, %rcx ß-- 64bit registers
andq $1, %rcx
jmp .LBB172_11
movd is generated after O1 is used. O0 has no this problem.
Could anyone let me know if this is a bug that has been fixed.
Thanks,
Yin
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20140207/4b370eec/attachment.html>
Tim Northover
2014-Feb-08 08:57 UTC
[LLVMdev] Bug? LLVM X86 -m32 generates 64bit register in movd
Hi Yin,> movd is generated after –O1 is used. –O0 has no this problem. > > Could anyone let me know if this is a bug that has been fixed.I don't see any recent changes in the area, but it's impossible to say for certain without a test case. Can you attach either a C or .ll file that demonstrates the issue? Cheers. Tim.