From: Christian Konig Date: Thu, 21 Feb 2013 15:17:09 +0000 (+0000) Subject: R600/SI: rework VOP3 classes X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b4dc10c8c5df75c0b281e0d815018b5830b965b9;p=oota-llvm.git R600/SI: rework VOP3 classes Order the classes and add asm operands. Signed-off-by: Christian König Reviewed-by: Tom Stellard Reviewed-by: Michel Dänzer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175751 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td index 0808f24c21e..05325db4d03 100644 --- a/lib/Target/R600/SIInstrInfo.td +++ b/lib/Target/R600/SIInstrInfo.td @@ -127,20 +127,6 @@ multiclass SMRD_Helper op, string asm, RegisterClass dstClass> { // Vector ALU classes //===----------------------------------------------------------------------===// -class VOP3_32 op, string opName, list pattern> : VOP3 < - op, (outs VReg_32:$dst), - (ins VSrc_32:$src0, VReg_32:$src1, VReg_32:$src2, i32imm:$src3, - i32imm:$src4, i32imm:$src5, i32imm:$src6), - opName, pattern ->; - -class VOP3_64 op, string opName, list pattern> : VOP3 < - op, (outs VReg_64:$dst), - (ins VSrc_64:$src0, VReg_64:$src1, VReg_64:$src2, - i32imm:$src3, i32imm:$src4, i32imm:$src5, i32imm:$src6), - opName, pattern ->; - multiclass VOP1_Helper op, RegisterClass drc, RegisterClass src, string opName, list pattern> { @@ -224,6 +210,20 @@ multiclass VOPC_64 op, string opName, ValueType vt = untyped, PatLeaf cond = COND_NULL> : VOPC_Helper ; +class VOP3_32 op, string opName, list pattern> : VOP3 < + op, (outs VReg_32:$dst), + (ins VSrc_32:$src0, VReg_32:$src1, VReg_32:$src2, + i32imm:$abs, i32imm:$clamp, i32imm:$omod, i32imm:$neg), + opName#" $dst, $src0, $src1, $src2, $abs, $clamp, $omod, $neg", pattern +>; + +class VOP3_64 op, string opName, list pattern> : VOP3 < + op, (outs VReg_64:$dst), + (ins VSrc_64:$src0, VReg_64:$src1, VReg_64:$src2, + i32imm:$abs, i32imm:$clamp, i32imm:$omod, i32imm:$neg), + opName#" $dst, $src0, $src1, $src2, $abs, $clamp, $omod, $neg", pattern +>; + //===----------------------------------------------------------------------===// // Vector I/O classes //===----------------------------------------------------------------------===//