[PATCH] D57621: [X86] Print %st(0) as %st to match what gcc inline asm uses as the clobber name to make MS inline asm work correctly
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 1 14:34:06 PST 2019
craig.topper created this revision.
craig.topper added reviewers: RKSimon, rnk, efriedma, spatel.
Herald added subscribers: lebedev.ri, gbedwell, eraman.
Herald added a reviewer: andreadb.
Herald added a reviewer: lebedev.ri.
When calculating clobbers for MS style inline assembly we fail if the asm clobbers stack top because we print st(0) and try to pass it through the gcc register name check. This was found with when I attempted to make a emms/femms clobber all ST registers. If you use emms/femms in MS inline asm we print the wrong clobber name
This also matches what objdump disassembly prints.
https://reviews.llvm.org/D57621
Files:
lib/Target/X86/AsmParser/X86AsmParser.cpp
lib/Target/X86/X86InstrFPStack.td
lib/Target/X86/X86InstrInfo.td
lib/Target/X86/X86RegisterInfo.td
test/CodeGen/X86/2007-09-27-LDIntrinsics.ll
test/CodeGen/X86/avx512-regcall-NoMask.ll
test/CodeGen/X86/fcmove.ll
test/CodeGen/X86/finite-libcalls.ll
test/CodeGen/X86/fmf-flags.ll
test/CodeGen/X86/fp-cvt.ll
test/CodeGen/X86/fp128-cast.ll
test/CodeGen/X86/inline-asm-fpstack.ll
test/CodeGen/X86/pr13577.ll
test/CodeGen/X86/pr33349.ll
test/CodeGen/X86/pr34080.ll
test/CodeGen/X86/pr34177.ll
test/CodeGen/X86/scalar-fp-to-i64.ll
test/CodeGen/X86/select.ll
test/CodeGen/X86/sibcall.ll
test/CodeGen/X86/x87-schedule.ll
test/MC/Disassembler/X86/fp-stack.txt
test/MC/Disassembler/X86/x86-16.txt
test/MC/X86/PPRO-32.s
test/MC/X86/PPRO-64.s
test/MC/X86/X87-32.s
test/MC/X86/X87-64.s
test/MC/X86/intel-syntax.s
test/MC/X86/x86-16.s
test/MC/X86/x86-32-coverage.s
test/MC/X86/x86-32.s
test/MC/X86/x86-64.s
test/tools/llvm-mca/X86/Atom/resources-x87.s
test/tools/llvm-mca/X86/BdVer2/resources-x87.s
test/tools/llvm-mca/X86/Broadwell/resources-x87.s
test/tools/llvm-mca/X86/BtVer2/resources-x87.s
test/tools/llvm-mca/X86/Generic/resources-x87.s
test/tools/llvm-mca/X86/Haswell/resources-x87.s
test/tools/llvm-mca/X86/SLM/resources-x87.s
test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
test/tools/llvm-mca/X86/Znver1/resources-x87.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57621.184848.patch
Type: text/x-patch
Size: 332911 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190201/519d141b/attachment-0001.bin>
More information about the llvm-commits
mailing list