summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86InstrMMX.td
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-03-21 23:01:21 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-03-21 23:01:21 +0000
commit48090aa8145640c023563751a8a1e1bcc09125e5 (patch)
tree9d079c38e7b5c7217fa3fe4fe9f8a1716e36646a /lib/Target/X86/X86InstrMMX.td
parente35c218f3e8e15f96cb44c5fbc70c7ea20d6c962 (diff)
downloadllvm-48090aa8145640c023563751a8a1e1bcc09125e5.tar.gz
llvm-48090aa8145640c023563751a8a1e1bcc09125e5.tar.bz2
llvm-48090aa8145640c023563751a8a1e1bcc09125e5.tar.xz
- Use movaps to store 128-bit vector integers.
- Each scalar to vector v8i16 and v16i8 is a any_extend followed by a movd. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26932 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrMMX.td')
-rw-r--r--lib/Target/X86/X86InstrMMX.td4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Target/X86/X86InstrMMX.td b/lib/Target/X86/X86InstrMMX.td
index 244cac69d1..38b40a7334 100644
--- a/lib/Target/X86/X86InstrMMX.td
+++ b/lib/Target/X86/X86InstrMMX.td
@@ -24,7 +24,9 @@ def : Pat<(v2i32 (undef)), (IMPLICIT_DEF_VR64)>, Requires<[HasMMX]>;
// Move Instructions
def MOVD64rr : I<0x6E, MRMSrcReg, (ops VR64:$dst, R32:$src),
- "movd {$src, $dst|$dst, $src}", []>, TB,
+ "movd {$src, $dst|$dst, $src}",
+ [(set VR64:$dst,
+ (v2i32 (scalar_to_vector R32:$src)))]>, TB,
Requires<[HasMMX]>;
def MOVD64rm : I<0x6E, MRMSrcMem, (ops VR64:$dst, i32mem:$src),
"movd {$src, $dst|$dst, $src}", []>, TB,