From 29344a6349af5e37b1187de5d354cb95a5840e13 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Mon, 14 Jan 2013 07:46:34 +0000 Subject: [PATCH] Simplify nested strconcats in X86 td files since strconcat can take more than 2 arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172379 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrFMA.td | 14 +++++----- lib/Target/X86/X86InstrSSE.td | 50 +++++++++++++++++------------------ 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/lib/Target/X86/X86InstrFMA.td b/lib/Target/X86/X86InstrFMA.td index f48f133b12f..7759a8a2dab 100644 --- a/lib/Target/X86/X86InstrFMA.td +++ b/lib/Target/X86/X86InstrFMA.td @@ -60,14 +60,14 @@ multiclass fma3p_forms opc132, bits<8> opc213, bits<8> opc231, PatFrag MemFrag128, PatFrag MemFrag256, SDNode Op, ValueType OpTy128, ValueType OpTy256> { defm r213 : fma3p_rm; let neverHasSideEffects = 1 in { defm r132 : fma3p_rm; defm r231 : fma3p_rm; } // neverHasSideEffects = 1 } @@ -160,15 +160,15 @@ multiclass fma3s_forms opc132, bits<8> opc213, bits<8> opc231, X86MemOperand x86memop, Operand memop, PatFrag mem_frag, ComplexPattern mem_cpat> { let neverHasSideEffects = 1 in { - defm r132 : fma3s_rm; - defm r231 : fma3s_rm; } -defm r213 : fma3s_rm, - fma3s_rm_int; } diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index b3d6066a8ea..89149c65bf4 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -3013,18 +3013,18 @@ multiclass sse1_fp_unop_s opc, string OpcodeStr, let Predicates = [HasAVX], hasSideEffects = 0 in { def V#NAME#SSr : SSI, VEX_4V, VEX_LIG; let mayLoad = 1 in { def V#NAME#SSm : SSI, VEX_4V, VEX_LIG; def V#NAME#SSm_Int : SSI, VEX_4V, VEX_LIG; } @@ -3055,18 +3055,18 @@ multiclass sse1_fp_unop_rw opc, string OpcodeStr, SDNode OpNode, let Predicates = [HasAVX], hasSideEffects = 0 in { def V#NAME#SSr : SSI, VEX_4V, VEX_LIG; let mayLoad = 1 in { def V#NAME#SSm : SSI, VEX_4V, VEX_LIG; def V#NAME#SSm_Int : SSI, VEX_4V, VEX_LIG; } @@ -3101,22 +3101,22 @@ multiclass sse1_fp_unop_p opc, string OpcodeStr, SDNode OpNode, OpndItins itins> { let Predicates = [HasAVX] in { def V#NAME#PSr : PSI, VEX; def V#NAME#PSm : PSI, VEX; def V#NAME#PSYr : PSI, VEX, VEX_L; def V#NAME#PSYm : PSI, VEX, VEX_L; @@ -3136,23 +3136,23 @@ multiclass sse1_fp_unop_p_int opc, string OpcodeStr, OpndItins itins> { let Predicates = [HasAVX] in { def V#NAME#PSr_Int : PSI, VEX; def V#NAME#PSm_Int : PSI, VEX; def V#NAME#PSYr_Int : PSI, VEX, VEX_L; def V#NAME#PSYm_Int : PSI, VEX, VEX_L; @@ -3174,18 +3174,18 @@ multiclass sse2_fp_unop_s opc, string OpcodeStr, let Predicates = [HasAVX], hasSideEffects = 0 in { def V#NAME#SDr : SDI, VEX_4V, VEX_LIG; let mayLoad = 1 in { def V#NAME#SDm : SDI, VEX_4V, VEX_LIG; def V#NAME#SDm_Int : SDI, VEX_4V, VEX_LIG; } @@ -3212,22 +3212,22 @@ multiclass sse2_fp_unop_p opc, string OpcodeStr, SDNode OpNode, OpndItins itins> { let Predicates = [HasAVX] in { def V#NAME#PDr : PDI, VEX; def V#NAME#PDm : PDI, VEX; def V#NAME#PDYr : PDI, VEX, VEX_L; def V#NAME#PDYm : PDI, VEX, VEX_L; @@ -3986,14 +3986,14 @@ multiclass sse2_pshuffle, VEX; def V#NAME#mi : Ii8<0x70, MRMSrcMem, (outs VR128:$dst), (ins i128mem:$src1, i8imm:$src2), - !strconcat(!strconcat("v", OpcodeStr), + !strconcat("v", OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"), [(set VR128:$dst, (vt128 (OpNode (bitconvert (memopv2i64 addr:$src1)), @@ -4003,14 +4003,14 @@ let Predicates = [HasAVX] in { let Predicates = [HasAVX2] in { def V#NAME#Yri : Ii8<0x70, MRMSrcReg, (outs VR256:$dst), (ins VR256:$src1, i8imm:$src2), - !strconcat(!strconcat("v", OpcodeStr), + !strconcat("v", OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"), [(set VR256:$dst, (vt256 (OpNode VR256:$src1, (i8 imm:$src2))))], IIC_SSE_PSHUF>, VEX, VEX_L; def V#NAME#Ymi : Ii8<0x70, MRMSrcMem, (outs VR256:$dst), (ins i256mem:$src1, i8imm:$src2), - !strconcat(!strconcat("v", OpcodeStr), + !strconcat("v", OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"), [(set VR256:$dst, (vt256 (OpNode (bitconvert (memopv4i64 addr:$src1)), -- 2.34.1