From 2ad48511fd25d27486c973ab38f73324825e8c7e Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Wed, 18 Feb 2015 16:08:09 +0000 Subject: [PATCH] R600/SI: Refactor SOP2 definitions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229684 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/R600/SIInstrInfo.td | 46 ++++++++++++++-------------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td index 1ca1f9f0909..f5df1acb327 100644 --- a/lib/Target/R600/SIInstrInfo.td +++ b/lib/Target/R600/SIInstrInfo.td @@ -464,39 +464,31 @@ multiclass SOP2_SELECT_32 pattern> { opName#" $dst, $src0, $src1 [$scc]">; } -multiclass SOP2_32 pattern> { - def "" : SOP2_Pseudo ; +multiclass SOP2_m pattern> { - def _si : SOP2_Real_si ; + def "" : SOP2_Pseudo ; + + def _si : SOP2_Real_si ; + + def _vi : SOP2_Real_vi ; - def _vi : SOP2_Real_vi ; } -multiclass SOP2_64 pattern> { - def "" : SOP2_Pseudo ; +multiclass SOP2_32 pattern> : SOP2_m < + op, opName, (outs SReg_32:$dst), (ins SSrc_32:$src0, SSrc_32:$src1), + opName#" $dst, $src0, $src1", pattern +>; - def _si : SOP2_Real_si ; - - def _vi : SOP2_Real_vi ; -} - -multiclass SOP2_64_32 pattern> { - def "" : SOP2_Pseudo ; - - def _si : SOP2_Real_si ; - - def _vi : SOP2_Real_vi ; -} +multiclass SOP2_64 pattern> : SOP2_m < + op, opName, (outs SReg_64:$dst), (ins SSrc_64:$src0, SSrc_64:$src1), + opName#" $dst, $src0, $src1", pattern +>; +multiclass SOP2_64_32 pattern> : SOP2_m < + op, opName, (outs SReg_64:$dst), (ins SSrc_64:$src0, SSrc_32:$src1), + opName#" $dst, $src0, $src1", pattern +>; class SOPC_Helper op, RegisterOperand rc, ValueType vt, string opName, PatLeaf cond> : SOPC <