From 21c8a8fa499c2e5dcafeb82ab2f438e41abe7cb7 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Thu, 18 Jan 2018 07:44:06 +0000 Subject: [X86] Remove isel patterns for using unmasked vmovdqa32/vmovdqu32 for integer vector loads. These patterns were just looking for a vXi64 bitcasted to vXi32, but there is no advantage to using vmovdqa32 over vmovdqa64. llvm-svn: 322819 --- llvm/lib/Target/X86/X86InstrAVX512.td | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'llvm/lib/Target') diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index f5320cba02a..8a6bc5d2a4a 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -3192,19 +3192,20 @@ multiclass avx512_load opc, string OpcodeStr, MoveLoadStoreItins itins, multiclass avx512_alignedload_vl opc, string OpcodeStr, AVX512VLVectorVTInfo _, - Predicate prd> { + Predicate prd, + bit NoRMPattern = 0> { let Predicates = [prd] in defm Z : avx512_load, - EVEX_V512; + _.info512.AlignedLdFrag, masked_load_aligned512, + NoRMPattern>, EVEX_V512; let Predicates = [prd, HasVLX] in { defm Z256 : avx512_load, - EVEX_V256; + _.info256.AlignedLdFrag, masked_load_aligned256, + NoRMPattern>, EVEX_V256; defm Z128 : avx512_load, - EVEX_V128; + _.info128.AlignedLdFrag, masked_load_aligned128, + NoRMPattern>, EVEX_V128; } } @@ -3324,7 +3325,7 @@ defm VMOVUPD : avx512_load_vl<0x10, "vmovupd", avx512vl_f64_info, HasAVX512, PD, VEX_W, EVEX_CD8<64, CD8VF>; defm VMOVDQA32 : avx512_alignedload_vl<0x6F, "vmovdqa32", avx512vl_i32_info, - HasAVX512>, + HasAVX512, 1>, avx512_alignedstore_vl<0x7F, "vmovdqa32", avx512vl_i32_info, HasAVX512, "VMOVDQA32">, PD, EVEX_CD8<32, CD8VF>; @@ -3346,7 +3347,7 @@ defm VMOVDQU16 : avx512_load_vl<0x6F, "vmovdqu16", avx512vl_i16_info, HasBWI, 1> XD, VEX_W, EVEX_CD8<16, CD8VF>; defm VMOVDQU32 : avx512_load_vl<0x6F, "vmovdqu32", avx512vl_i32_info, HasAVX512, - 0, null_frag>, + 1, null_frag>, avx512_store_vl<0x7F, "vmovdqu32", avx512vl_i32_info, HasAVX512, "VMOVDQU32">, XS, EVEX_CD8<32, CD8VF>; -- cgit v1.2.3