From 193679b6ae366662ce89075eb756be459466ce06 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Fri, 13 Feb 2015 21:02:37 +0000 Subject: [PATCH] R600/SI: Refactor SOP1 classes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229152 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/R600/SIInstrInfo.td | 45 ++++++++++++++-------------------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td index 9a098abea1b..8c0a7151050 100644 --- a/lib/Target/R600/SIInstrInfo.td +++ b/lib/Target/R600/SIInstrInfo.td @@ -392,28 +392,27 @@ class SOP1_Real_vi : SOP1e , SIMCInstr; -multiclass SOP1_32 pattern> { - def "" : SOP1_Pseudo ; - - def _si : SOP1_Real_si ; +multiclass SOP1_m pattern> { - def _vi : SOP1_Real_vi ; -} + def "" : SOP1_Pseudo ; -multiclass SOP1_64 pattern> { - def "" : SOP1_Pseudo ; + def _si : SOP1_Real_si ; - def _si : SOP1_Real_si ; + def _vi : SOP1_Real_vi ; - def _vi : SOP1_Real_vi ; } +multiclass SOP1_32 pattern> : SOP1_m < + op, opName, (outs SReg_32:$dst), (ins SSrc_32:$src0), + opName#" $dst, $src0", pattern +>; + +multiclass SOP1_64 pattern> : SOP1_m < + op, opName, (outs SReg_64:$dst), (ins SSrc_64:$src0), + opName#" $dst, $src0", pattern +>; + // no input, 64-bit output. multiclass SOP1_64_0 pattern> { def "" : SOP1_Pseudo ; @@ -430,16 +429,10 @@ multiclass SOP1_64_0 pattern> { } // 64-bit input, 32-bit output. -multiclass SOP1_32_64 pattern> { - def "" : SOP1_Pseudo ; - - def _si : SOP1_Real_si ; - - def _vi : SOP1_Real_vi ; -} +multiclass SOP1_32_64 pattern> : SOP1_m < + op, opName, (outs SReg_32:$dst), (ins SSrc_64:$src0), + opName#" $dst, $src0", pattern +>; class SOP2_Pseudo pattern> : SOP2, -- 2.34.1