diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-03-21 23:01:21 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-03-21 23:01:21 +0000 |
commit | 48090aa8145640c023563751a8a1e1bcc09125e5 (patch) | |
tree | 9d079c38e7b5c7217fa3fe4fe9f8a1716e36646a /lib/Target/X86/X86InstrMMX.td | |
parent | e35c218f3e8e15f96cb44c5fbc70c7ea20d6c962 (diff) | |
download | llvm-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.td | 4 |
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, |