From 1422e1f158810323cfbe06d9242ba35c3f674921 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sun, 27 Dec 2015 19:45:21 +0000 Subject: [PATCH] [AVX512] Remove alternate data type versions of VALIGND, VALIGNQ, VMOVSHDUP and VMOVSLDUP. They don't have any tests and I don't think they can be selected. If they are truly needed they should be implemented with patterns against the normal instructions and not separate instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256475 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrAVX512.td | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index 03d610313eb..cec95dc533e 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -7057,19 +7057,14 @@ defm VSHUFI32X4 : avx512_shuff_packed_128<"vshufi32x4",avx512vl_i32_info, 0x43>, defm VSHUFI64X2 : avx512_shuff_packed_128<"vshufi64x2",avx512vl_i64_info, 0x43>, AVX512AIi8Base, EVEX_4V, EVEX_CD8<64, CD8VF>, VEX_W; -multiclass avx512_valign{ +multiclass avx512_valign { defm NAME: avx512_common_3Op_imm8, AVX512AIi8Base, EVEX_4V; - let isCodeGenOnly = 1 in { - defm NAME#_FP: avx512_common_3Op_imm8, - AVX512AIi8Base, EVEX_4V; - } } -defm VALIGND: avx512_valign<"valignd", avx512vl_i32_info, avx512vl_f32_info>, +defm VALIGND: avx512_valign<"valignd", avx512vl_i32_info>, EVEX_CD8<32, CD8VF>; -defm VALIGNQ: avx512_valign<"valignq", avx512vl_i64_info, avx512vl_f64_info>, +defm VALIGNQ: avx512_valign<"valignq", avx512vl_i64_info>, EVEX_CD8<64, CD8VF>, VEX_W; multiclass avx512_vpalign_lowering p>{ @@ -7203,9 +7198,6 @@ defm VPCONFLICT : avx512_unary_rm_vl_dq<0xC4, 0xC4, "vpconflict", X86Conflict, H multiclass avx512_replicate opc, string OpcodeStr, SDNode OpNode>{ defm NAME: avx512_unary_rm_vl, XS; - let isCodeGenOnly = 1 in - defm NAME#_I: avx512_unary_rm_vl, XS; } defm VMOVSHDUP : avx512_replicate<0x16, "vmovshdup", X86Movshdup>; @@ -7244,9 +7236,6 @@ multiclass avx512_movddup_common opc, string OpcodeStr, SDNode OpNode, multiclass avx512_movddup opc, string OpcodeStr, SDNode OpNode>{ defm NAME: avx512_movddup_common, XD, VEX_W; - let isCodeGenOnly = 1 in - defm NAME#_I: avx512_movddup_common; } defm VMOVDDUP : avx512_movddup<0x12, "vmovddup", X86Movddup>; @@ -7404,11 +7393,6 @@ multiclass avx512_shufp, EVEX_CD8, AVX512AIi8Base, EVEX_4V; - let isCodeGenOnly = 1 in { - defm NAME#_I: avx512_common_3Op_imm8, - EVEX_CD8, - AVX512AIi8Base, EVEX_4V; - } } defm VSHUFPS: avx512_shufp<"vshufps", avx512vl_i32_info, avx512vl_f32_info>, PS; -- 2.34.1