diff options
Diffstat (limited to 'lib/Target/Sparc')
-rw-r--r-- | lib/Target/Sparc/SparcInstrFormats.td | 6 | ||||
-rw-r--r-- | lib/Target/Sparc/SparcInstrInfo.td | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/lib/Target/Sparc/SparcInstrFormats.td b/lib/Target/Sparc/SparcInstrFormats.td index e30edce83c..d2ed82ebba 100644 --- a/lib/Target/Sparc/SparcInstrFormats.td +++ b/lib/Target/Sparc/SparcInstrFormats.td @@ -21,11 +21,13 @@ class F2 : InstV8 { // Format 2 instructions // Specific F2 classes: SparcV8 manual, page 44 // -class F2_1<bits<3> op2Val, string name> : F2 { +class F2_1<bits<3> op2Val, dag ops, string asmstr> : F2 { bits<5> rd; + dag OperandList = ops; + let AsmString = asmstr; + let op2 = op2Val; - let Name = name; let Inst{29-25} = rd; } diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td index 1f8349e11b..ad5325dec6 100644 --- a/lib/Target/Sparc/SparcInstrInfo.td +++ b/lib/Target/Sparc/SparcInstrInfo.td @@ -149,12 +149,14 @@ def STDFQri : F3_2<3, 0b100110, "std $src, [$base+$offset]">; // Section B.9 - SETHI Instruction, p. 104 -def SETHIi: F2_1<0b100, "sethi">; +def SETHIi: F2_1<0b100, + (ops IntRegs:$dst, i32imm:$src), + "sethi $src, $dst">; // Section B.10 - NOP Instruction, p. 105 // (It's a special case of SETHI) let rd = 0, imm22 = 0 in - def NOP : F2_1<0b100, "nop">; + def NOP : F2_1<0b100, (ops), "nop">; // Section B.11 - Logical Instructions, p. 106 def ANDrr : F3_1<2, 0b000001, |