aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-05-20 15:42:55 +0000
committerDan Gohman <gohman@apple.com>2010-05-20 15:42:55 +0000
commit100804f494a4e17f588a1c62f5bb1eee4a67c8a9 (patch)
tree7ba1bd0ac38e8978957afc0ef43d21b3a602b7ef
parent5ce6d05ad6b500a6262211674e51b8d0598714d3 (diff)
downloadexternal_llvm-100804f494a4e17f588a1c62f5bb1eee4a67c8a9.zip
external_llvm-100804f494a4e17f588a1c62f5bb1eee4a67c8a9.tar.gz
external_llvm-100804f494a4e17f588a1c62f5bb1eee4a67c8a9.tar.bz2
Set neverHasSideEffects on 64-bit pushf and popf, for consistency with
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
-rw-r--r--lib/Target/X86/X86Instr64bit.td4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/X86/X86Instr64bit.td b/lib/Target/X86/X86Instr64bit.td
index b67ea0e..8b17f6f 100644
--- a/lib/Target/X86/X86Instr64bit.td
+++ b/lib/Target/X86/X86Instr64bit.td
@@ -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,