Description
Bugzilla Link | 10840 |
Resolution | FIXED |
Resolved on | Sep 26, 2011 00:32 |
Version | unspecified |
OS | All |
Blocks | llvm/llvm-bugzilla-archive#10988 |
Attachments | test case |
Reporter | LLVM Bugzilla Contributor |
CC | @d0k,@topperc |
Extended Description
If I run llvm-objdump -disassemble on the object file generated by running the attached test case through llc -filetype=obj, I get errors about invalid instruction encoding.
Specifically, if I run "llc -mattr=+avx bug.ll -o -", there is this instruction sequence toward the end:
vmulss LCPI0_1(%rip), %xmm1, %xmm2
vroundss $9, %xmm2, %xmm2, %xmm2
vcvttss2si %xmm2, %edx
andl $3, %edx
However, if I run "llc -mattr=+avx -filetype=obj bug.ll -o - | llvm-objdump - -disassemble", then the output for the corresponding part is:
160: c5 f2 59 15 bc 00 00 00 vmulss 188(%rip), %xmm1, %xmm2
llvm-objdump: warning: invalid instruction encoding
16c: d2 09 rorb %cl, (%rcx)
16e: c5 fa 2c d2 vcvttss2si %xmm2, %edx
172: 83 e2 03 andl $3, %edx
So either the wrong encoding is being generated when making object files, or llvm-objdump doesn't know about this instruction. (I hope it's the former, since I'm seeing crashes when running the generated code. :-) ).