diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-05-09 21:53:03 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-05-09 21:53:03 +0000 |
commit | d880b97257c7f8ec4e94948874cb87c865d9f96f (patch) | |
tree | 59d6c369dc79d145efdb3db769c0de0240fc14c9 /lib/Target/X86/X86InstrMMX.td | |
parent | c6c6a3e2b3ffa580cb84d75a2c60a961977e40d1 (diff) | |
download | llvm-d880b97257c7f8ec4e94948874cb87c865d9f96f.tar.gz llvm-d880b97257c7f8ec4e94948874cb87c865d9f96f.tar.bz2 llvm-d880b97257c7f8ec4e94948874cb87c865d9f96f.tar.xz |
Handle a few more cases of folding load i64 into xmm and zero top bits.
Note, some of the code will be moved into target independent part of DAG combiner in a subsequent patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50918 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrMMX.td')
-rw-r--r-- | lib/Target/X86/X86InstrMMX.td | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Target/X86/X86InstrMMX.td b/lib/Target/X86/X86InstrMMX.td index 3c1fc750a1..42f19af1f8 100644 --- a/lib/Target/X86/X86InstrMMX.td +++ b/lib/Target/X86/X86InstrMMX.td @@ -201,12 +201,12 @@ let AddedComplexity = 15 in def MMX_MOVZDI2PDIrr : MMXI<0x6E, MRMSrcReg, (outs VR64:$dst), (ins GR32:$src), "movd\t{$src, $dst|$dst, $src}", [(set VR64:$dst, - (v2i32 (X86zvmovl (v2i32 (scalar_to_vector GR32:$src)))))]>; + (v2i32 (X86vzmovl (v2i32 (scalar_to_vector GR32:$src)))))]>; let AddedComplexity = 20 in def MMX_MOVZDI2PDIrm : MMXI<0x6E, MRMSrcMem, (outs VR64:$dst), (ins i32mem:$src), "movd\t{$src, $dst|$dst, $src}", [(set VR64:$dst, - (v2i32 (X86zvmovl (v2i32 + (v2i32 (X86vzmovl (v2i32 (scalar_to_vector (loadi32 addr:$src))))))]>; // Arithmetic Instructions @@ -560,9 +560,9 @@ def : Pat<(i64 (bitconvert (v8i8 VR64:$src))), // Move scalar to XMM zero-extended // movd to XMM register zero-extends let AddedComplexity = 15 in { - def : Pat<(v8i8 (X86zvmovl (bc_v8i8 (v2i32 (scalar_to_vector GR32:$src))))), + def : Pat<(v8i8 (X86vzmovl (bc_v8i8 (v2i32 (scalar_to_vector GR32:$src))))), (MMX_MOVZDI2PDIrr GR32:$src)>; - def : Pat<(v4i16 (X86zvmovl (bc_v8i8 (v2i32 (scalar_to_vector GR32:$src))))), + def : Pat<(v4i16 (X86vzmovl (bc_v4i16 (v2i32 (scalar_to_vector GR32:$src))))), (MMX_MOVZDI2PDIrr GR32:$src)>; } |