Fix AVX vs SSE patterns ordering issue for VPCMPESTRM and VPCMPISTRM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149053 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2012-01-26 07:31:30 +00:00
parent e566cd0f4d
commit 15388c4666

View File

@ -6583,8 +6583,9 @@ multiclass pseudo_pcmpistrm<string asm> {
} }
let Defs = [EFLAGS], usesCustomInserter = 1 in { let Defs = [EFLAGS], usesCustomInserter = 1 in {
let AddedComplexity = 1 in
defm VPCMPISTRM128 : pseudo_pcmpistrm<"#VPCMPISTRM128">, Requires<[HasAVX]>;
defm PCMPISTRM128 : pseudo_pcmpistrm<"#PCMPISTRM128">, Requires<[HasSSE42]>; defm PCMPISTRM128 : pseudo_pcmpistrm<"#PCMPISTRM128">, Requires<[HasSSE42]>;
defm VPCMPISTRM128 : pseudo_pcmpistrm<"#VPCMPISTRM128">, Requires<[HasAVX]>;
} }
let Defs = [XMM0, EFLAGS], neverHasSideEffects = 1, Predicates = [HasAVX] in { let Defs = [XMM0, EFLAGS], neverHasSideEffects = 1, Predicates = [HasAVX] in {
@ -6620,8 +6621,9 @@ multiclass pseudo_pcmpestrm<string asm> {
} }
let Defs = [EFLAGS], Uses = [EAX, EDX], usesCustomInserter = 1 in { let Defs = [EFLAGS], Uses = [EAX, EDX], usesCustomInserter = 1 in {
let AddedComplexity = 1 in
defm VPCMPESTRM128 : pseudo_pcmpestrm<"#VPCMPESTRM128">, Requires<[HasAVX]>;
defm PCMPESTRM128 : pseudo_pcmpestrm<"#PCMPESTRM128">, Requires<[HasSSE42]>; defm PCMPESTRM128 : pseudo_pcmpestrm<"#PCMPESTRM128">, Requires<[HasSSE42]>;
defm VPCMPESTRM128 : pseudo_pcmpestrm<"#VPCMPESTRM128">, Requires<[HasAVX]>;
} }
let Predicates = [HasAVX], let Predicates = [HasAVX],