OSDN Git Service

[X86] Mark EMMS and FEMMS as clobbering MM0-7 and ST0-7.
authorCraig Topper <craig.topper@intel.com>
Wed, 30 Jan 2019 19:57:01 +0000 (19:57 +0000)
committerCraig Topper <craig.topper@intel.com>
Wed, 30 Jan 2019 19:57:01 +0000 (19:57 +0000)
commit8ec862fc8586af743769335c8e4d099be9d98a84
tree5476ef75b293ed83d00fa5dedf7c8fa5d20ed57e
parenta7fb287a31970b9e453140cdbf5c2bf18e732c95
[X86] Mark EMMS and FEMMS as clobbering MM0-7 and ST0-7.

This fixes the test case in PR35982 by preventing MMX instructions that read MM0-7 from being moved below EMMS/FEMMS by the post RA scheduler.

Though as discussed in bugzilla, this is not a complete fix. There is still the possibility of reordering in IR or by the pre-RA scheduler.

Differential Revision: https://reviews.llvm.org/D57298

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352660 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86Instr3DNow.td
lib/Target/X86/X86InstrMMX.td
test/CodeGen/X86/pr35982.ll