| ... | @@ -81,7 +81,7 @@ pub fn emitMir( | ... | @@ -81,7 +81,7 @@ pub fn emitMir( |
| 81 | .stx => try emit.mirArithmetic3Op(inst), | 81 | .stx => try emit.mirArithmetic3Op(inst), |
| 82 | | 82 | |
| 83 | .sub => try emit.mirArithmetic3Op(inst), | 83 | .sub => try emit.mirArithmetic3Op(inst), |
| 84 | .subcc => @panic("TODO implement sparcv9 subcc"), | 84 | .subcc => try emit.mirArithmetic3Op(inst), |
| 85 | | 85 | |
| 86 | .tcc => try emit.mirTrap(inst), | 86 | .tcc => try emit.mirTrap(inst), |
| 87 | } | 87 | } |
| ... | @@ -169,6 +169,7 @@ fn mirArithmetic3Op(emit: *Emit, inst: Mir.Inst.Index) !void { | ... | @@ -169,6 +169,7 @@ fn mirArithmetic3Op(emit: *Emit, inst: Mir.Inst.Index) !void { |
| 169 | .stw => try emit.writeInstruction(Instruction.stw(i13, rs1, imm, rd)), | 169 | .stw => try emit.writeInstruction(Instruction.stw(i13, rs1, imm, rd)), |
| 170 | .stx => try emit.writeInstruction(Instruction.stx(i13, rs1, imm, rd)), | 170 | .stx => try emit.writeInstruction(Instruction.stx(i13, rs1, imm, rd)), |
| 171 | .sub => try emit.writeInstruction(Instruction.sub(i13, rs1, imm, rd)), | 171 | .sub => try emit.writeInstruction(Instruction.sub(i13, rs1, imm, rd)), |
| | 172 | .subcc => try emit.writeInstruction(Instruction.subcc(i13, rs1, imm, rd)), |
| 172 | else => unreachable, | 173 | else => unreachable, |
| 173 | } | 174 | } |
| 174 | } else { | 175 | } else { |
| ... | @@ -188,6 +189,7 @@ fn mirArithmetic3Op(emit: *Emit, inst: Mir.Inst.Index) !void { | ... | @@ -188,6 +189,7 @@ fn mirArithmetic3Op(emit: *Emit, inst: Mir.Inst.Index) !void { |
| 188 | .stw => try emit.writeInstruction(Instruction.stw(Register, rs1, rs2, rd)), | 189 | .stw => try emit.writeInstruction(Instruction.stw(Register, rs1, rs2, rd)), |
| 189 | .stx => try emit.writeInstruction(Instruction.stx(Register, rs1, rs2, rd)), | 190 | .stx => try emit.writeInstruction(Instruction.stx(Register, rs1, rs2, rd)), |
| 190 | .sub => try emit.writeInstruction(Instruction.sub(Register, rs1, rs2, rd)), | 191 | .sub => try emit.writeInstruction(Instruction.sub(Register, rs1, rs2, rd)), |
| | 192 | .subcc => try emit.writeInstruction(Instruction.subcc(Register, rs1, rs2, rd)), |
| 191 | else => unreachable, | 193 | else => unreachable, |
| 192 | } | 194 | } |
| 193 | } | 195 | } |