forked from OSchip/llvm-project
Enforce subtarget checks in a few places to be explicit when the
pattern should be matched llvm-svn: 139065
This commit is contained in:
parent
521b0cfdc6
commit
903952223a
|
@ -3103,7 +3103,7 @@ def MOVNTDQmr : PDI<0xE7, MRMDestMem, (outs), (ins f128mem:$dst, VR128:$src),
|
|||
[(alignednontemporalstore (v4f32 VR128:$src), addr:$dst)]>;
|
||||
|
||||
def : Pat<(alignednontemporalstore (v2i64 VR128:$src), addr:$dst),
|
||||
(MOVNTDQmr addr:$dst, VR128:$src)>;
|
||||
(MOVNTDQmr addr:$dst, VR128:$src)>, Requires<[HasSSE2]>;
|
||||
|
||||
// There is no AVX form for instructions below this point
|
||||
def MOVNTImr : I<0xC3, MRMDestMem, (outs), (ins i32mem:$dst, GR32:$src),
|
||||
|
@ -3251,9 +3251,11 @@ def MOVDQUmr_Int : I<0x7F, MRMDestMem, (outs), (ins i128mem:$dst, VR128:$src),
|
|||
|
||||
} // ExeDomain = SSEPackedInt
|
||||
|
||||
let Predicates = [HasAVX] in {
|
||||
def : Pat<(int_x86_avx_loadu_dq_256 addr:$src), (VMOVDQUYrm addr:$src)>;
|
||||
def : Pat<(int_x86_avx_storeu_dq_256 addr:$dst, VR256:$src),
|
||||
(VMOVDQUYmr addr:$dst, VR256:$src)>;
|
||||
}
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
// SSE2 - Packed Integer Arithmetic Instructions
|
||||
|
@ -3634,6 +3636,7 @@ let Constraints = "$src1 = $dst" in {
|
|||
defm PCMPGTD : PDI_binop_rm_int<0x66, "pcmpgtd", int_x86_sse2_pcmpgt_d>;
|
||||
} // Constraints = "$src1 = $dst"
|
||||
|
||||
let Predicates = [HasSSE2] in {
|
||||
def : Pat<(v16i8 (X86pcmpeqb VR128:$src1, VR128:$src2)),
|
||||
(PCMPEQBrr VR128:$src1, VR128:$src2)>;
|
||||
def : Pat<(v16i8 (X86pcmpeqb VR128:$src1, (memop addr:$src2))),
|
||||
|
@ -3659,6 +3662,7 @@ def : Pat<(v4i32 (X86pcmpgtd VR128:$src1, VR128:$src2)),
|
|||
(PCMPGTDrr VR128:$src1, VR128:$src2)>;
|
||||
def : Pat<(v4i32 (X86pcmpgtd VR128:$src1, (memop addr:$src2))),
|
||||
(PCMPGTDrm VR128:$src1, addr:$src2)>;
|
||||
}
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
// SSE2 - Packed Integer Pack Instructions
|
||||
|
|
Loading…
Reference in New Issue