Set neverHasSideEffects on 64-bit pushf and popf, for consistency with
authorDan Gohman <gohman@apple.com>
Thu, 20 May 2010 15:42:55 +0000 (15:42 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 20 May 2010 15:42:55 +0000 (15:42 +0000)
16-bit and 32-bit pushf and popf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104228 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86Instr64bit.td

index b67ea0e7c944c432cf07b38a8ff7bc4ed9d9a4a1..8b17f6f3d423f96dcc209cfbf4114f718ac32f04 100644 (file)
@@ -274,9 +274,9 @@ def PUSH64i32  : Ii32<0x68, RawFrm, (outs), (ins i32imm:$imm),
                       "push{q}\t$imm", []>;
 }
 
-let Defs = [RSP, EFLAGS], Uses = [RSP], mayLoad = 1 in
+let Defs = [RSP, EFLAGS], Uses = [RSP], mayLoad = 1, neverHasSideEffects=1 in
 def POPFQ    : I<0x9D, RawFrm, (outs), (ins), "popf{q}", []>, REX_W;
-let Defs = [RSP], Uses = [RSP, EFLAGS], mayStore = 1 in
+let Defs = [RSP], Uses = [RSP, EFLAGS], mayStore = 1, neverHasSideEffects=1 in
 def PUSHFQ64   : I<0x9C, RawFrm, (outs), (ins), "pushf{q}", []>;
 
 def LEA64_32r : I<0x8D, MRMSrcMem,