You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
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. :-) ).
The text was updated successfully, but these errors were encountered:
For what it's worth, Agner Fogg's disassembler reports that that vroundss is encoded as expected, so that suggests this is a bug in llvm-objdump, not in the output from the AVX backend.
(I'll spend some time today spinning up on the AVX encodings to confirm this from the ISA spec as well.)
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:
However, if I run "llc -mattr=+avx -filetype=obj bug.ll -o - | llvm-objdump - -disassemble", then the output for the corresponding part is:
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. :-) ).
The text was updated successfully, but these errors were encountered: