From: Eli Friedman Date: Sat, 6 Jun 2009 04:17:04 +0000 (+0000) Subject: Get rid of a bogus pattern that interferes with optimization. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1762c1439e5e9e55880e6e938a74e14e3783de66;p=oota-llvm.git Get rid of a bogus pattern that interferes with optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72985 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrMMX.td b/lib/Target/X86/X86InstrMMX.td index 8f287e17dc3..38c54712f18 100644 --- a/lib/Target/X86/X86InstrMMX.td +++ b/lib/Target/X86/X86InstrMMX.td @@ -605,13 +605,6 @@ let AddedComplexity = 15 in { (MMX_PUNPCKLDQrr VR64:$src, (MMX_V_SET0))>; } -// Scalar to v4i16 / v8i8. The source may be a GR32, but only the lower -// 8 or 16-bits matter. -def : Pat<(bc_v8i8 (v2i32 (scalar_to_vector GR32:$src))), - (MMX_MOVD64rr GR32:$src)>; -def : Pat<(bc_v4i16 (v2i32 (scalar_to_vector GR32:$src))), - (MMX_MOVD64rr GR32:$src)>; - // Patterns to perform canonical versions of vector shuffling. let AddedComplexity = 10 in { def : Pat<(v8i8 (mmx_unpckl_undef VR64:$src, (undef))), diff --git a/test/CodeGen/X86/2009-06-05-ScalarToVectorByteMMX.ll b/test/CodeGen/X86/2009-06-05-ScalarToVectorByteMMX.ll new file mode 100644 index 00000000000..94df530ec0e --- /dev/null +++ b/test/CodeGen/X86/2009-06-05-ScalarToVectorByteMMX.ll @@ -0,0 +1,7 @@ +; RUN: llvm-as < %s | llc -march=x86 -mattr=+mmx | not grep movl + +define <8 x i8> @a(i8 zeroext %x) nounwind { + %r = insertelement <8 x i8> undef, i8 %x, i32 0 + ret <8 x i8> %r +} +