[X86] Remove unnecessary alignment check on patterns that use VEXTRACTF128 for integer types when only AVX1 is supported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270335 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2016-05-21 22:50:18 +00:00
parent 022094446e
commit 7b297a76d7

View File

@ -7984,20 +7984,20 @@ def : Pat<(vextract128_extract:$ext VR256:$src1, (iPTR imm)),
(v32i8 VR256:$src1), (v32i8 VR256:$src1),
(EXTRACT_get_vextract128_imm VR128:$ext)))>; (EXTRACT_get_vextract128_imm VR128:$ext)))>;
def : Pat<(alignedstore (v2i64 (vextract128_extract:$ext (v4i64 VR256:$src1), def : Pat<(store (v2i64 (vextract128_extract:$ext (v4i64 VR256:$src1),
(iPTR imm))), addr:$dst), (iPTR imm))), addr:$dst),
(VEXTRACTF128mr addr:$dst, VR256:$src1, (VEXTRACTF128mr addr:$dst, VR256:$src1,
(EXTRACT_get_vextract128_imm VR128:$ext))>; (EXTRACT_get_vextract128_imm VR128:$ext))>;
def : Pat<(alignedstore (v4i32 (vextract128_extract:$ext (v8i32 VR256:$src1), def : Pat<(store (v4i32 (vextract128_extract:$ext (v8i32 VR256:$src1),
(iPTR imm))), addr:$dst), (iPTR imm))), addr:$dst),
(VEXTRACTF128mr addr:$dst, VR256:$src1, (VEXTRACTF128mr addr:$dst, VR256:$src1,
(EXTRACT_get_vextract128_imm VR128:$ext))>; (EXTRACT_get_vextract128_imm VR128:$ext))>;
def : Pat<(alignedstore (v8i16 (vextract128_extract:$ext (v16i16 VR256:$src1), def : Pat<(store (v8i16 (vextract128_extract:$ext (v16i16 VR256:$src1),
(iPTR imm))), addr:$dst), (iPTR imm))), addr:$dst),
(VEXTRACTF128mr addr:$dst, VR256:$src1, (VEXTRACTF128mr addr:$dst, VR256:$src1,
(EXTRACT_get_vextract128_imm VR128:$ext))>; (EXTRACT_get_vextract128_imm VR128:$ext))>;
def : Pat<(alignedstore (v16i8 (vextract128_extract:$ext (v32i8 VR256:$src1), def : Pat<(store (v16i8 (vextract128_extract:$ext (v32i8 VR256:$src1),
(iPTR imm))), addr:$dst), (iPTR imm))), addr:$dst),
(VEXTRACTF128mr addr:$dst, VR256:$src1, (VEXTRACTF128mr addr:$dst, VR256:$src1,
(EXTRACT_get_vextract128_imm VR128:$ext))>; (EXTRACT_get_vextract128_imm VR128:$ext))>;
} }