summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/SIInstrInfo.td
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-07-25 08:56:08 -0400
committerTom Stellard <[email protected]>2012-07-27 17:08:09 +0000
commitc9ef27276f83b021221fb7e2c7397719e143709c (patch)
tree19f8cefb7f07d1566a799caba8071cffdba87e95 /src/gallium/drivers/radeon/SIInstrInfo.td
parentee0f0f03c6c174a160e5fb3882ec5c03cdfcd163 (diff)
radeon/llvm: Add instruction defs for branches on SI
Diffstat (limited to 'src/gallium/drivers/radeon/SIInstrInfo.td')
-rw-r--r--src/gallium/drivers/radeon/SIInstrInfo.td11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeon/SIInstrInfo.td b/src/gallium/drivers/radeon/SIInstrInfo.td
index d71df43d0a4..78b1a37f081 100644
--- a/src/gallium/drivers/radeon/SIInstrInfo.td
+++ b/src/gallium/drivers/radeon/SIInstrInfo.td
@@ -56,6 +56,11 @@ class SIOperand <ValueType vt, dag opInfo>: Operand <vt> {
let MIOperandInfo = opInfo;
}
+def IMM16bit : ImmLeaf <
+ i16,
+ [{return isInt<16>(Imm);}]
+>;
+
def IMM8bit : ImmLeaf <
i32,
[{return (int32_t)Imm >= 0 && (int32_t)Imm <= 0xff;}]
@@ -299,6 +304,8 @@ class SOPC <bits<7> op, dag outs, dag ins, string asm, list<dag> pattern> :
let Inst{22-16} = op;
let Inst{31-23} = 0x17e;
let EncodingType = 8; // SIInstrEncodingType::SOPC
+
+ let DisableEncoding = "$dst";
}
class SOPK <bits<5> op, dag outs, dag ins, string asm, list<dag> pattern> :
@@ -314,11 +321,11 @@ class SOPK <bits<5> op, dag outs, dag ins, string asm, list<dag> pattern> :
let EncodingType = 9; // SIInstrEncodingType::SOPK
}
-class SOPP <bits<7> op, dag ins, string asm> : Enc32 <
+class SOPP <bits<7> op, dag ins, string asm, list<dag> pattern> : Enc32 <
(outs),
ins,
asm,
- [] > {
+ pattern > {
bits <16> SIMM16;