aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86Instr3DNow.td
diff options
context:
space:
mode:
authorMichael Liao <michael.liao@intel.com>2013-03-26 17:47:11 +0000
committerMichael Liao <michael.liao@intel.com>2013-03-26 17:47:11 +0000
commit675eb3b9ac547119f6db676ebdd172d40a797b1c (patch)
tree4f13b3e2e5500e67183794bd4f1409ccd12b04d9 /lib/Target/X86/X86Instr3DNow.td
parent30ebb962b6fe110514917f31522a81f2c6d914ba (diff)
downloadexternal_llvm-675eb3b9ac547119f6db676ebdd172d40a797b1c.zip
external_llvm-675eb3b9ac547119f6db676ebdd172d40a797b1c.tar.gz
external_llvm-675eb3b9ac547119f6db676ebdd172d40a797b1c.tar.bz2
Add PREFETCHW codegen support
- Add 'PRFCHW' feature defined in AVX2 ISA extension git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178040 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86Instr3DNow.td')
-rw-r--r--lib/Target/X86/X86Instr3DNow.td13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/Target/X86/X86Instr3DNow.td b/lib/Target/X86/X86Instr3DNow.td
index bb362f5..ba1aede 100644
--- a/lib/Target/X86/X86Instr3DNow.td
+++ b/lib/Target/X86/X86Instr3DNow.td
@@ -84,13 +84,16 @@ defm PI2FD : I3DNow_conv_rm_int<0x0D, "pi2fd">;
defm PMULHRW : I3DNow_binop_rm_int<0xB7, "pmulhrw">;
-def FEMMS : I3DNow<0x0E, RawFrm, (outs), (ins), "femms", [(int_x86_mmx_femms)]>;
+def FEMMS : I3DNow<0x0E, RawFrm, (outs), (ins), "femms",
+ [(int_x86_mmx_femms)]>;
-def PREFETCH : I3DNow<0x0D, MRM0m, (outs), (ins i32mem:$addr),
- "prefetch\t$addr", []>;
+def PREFETCH : I3DNow<0x0D, MRM0m, (outs), (ins i8mem:$addr),
+ "prefetch\t$addr",
+ [(prefetch addr:$addr, (i32 0), imm, (i32 1))]>;
-def PREFETCHW : I3DNow<0x0D, MRM1m, (outs), (ins i16mem:$addr),
- "prefetchw\t$addr", []>;
+def PREFETCHW : I<0x0D, MRM1m, (outs), (ins i8mem:$addr), "prefetchw\t$addr",
+ [(prefetch addr:$addr, (i32 1), (i32 3), (i32 1))]>, TB,
+ Requires<[HasPrefetchW]>;
// "3DNowA" instructions
defm PF2IW : I3DNow_conv_rm_int<0x1C, "pf2iw", "a">;