| ... | ... | @@ -93,7 +93,7 @@ pub fn emitMir( |
| 93 | 93 | .lduw => try emit.mirArithmetic3Op(inst), |
| 94 | 94 | .ldx => try emit.mirArithmetic3Op(inst), |
| 95 | 95 | |
| 96 | | .@"and" => @panic("TODO implement sparc64 and"), |
| 96 | .@"and" => try emit.mirArithmetic3Op(inst), |
| 97 | 97 | .@"or" => try emit.mirArithmetic3Op(inst), |
| 98 | 98 | .xor => try emit.mirArithmetic3Op(inst), |
| 99 | 99 | .xnor => try emit.mirArithmetic3Op(inst), |
| ... | ... | @@ -227,6 +227,7 @@ fn mirArithmetic3Op(emit: *Emit, inst: Mir.Inst.Index) !void { |
| 227 | 227 | .lduh => try emit.writeInstruction(Instruction.lduh(i13, rs1, imm, rd)), |
| 228 | 228 | .lduw => try emit.writeInstruction(Instruction.lduw(i13, rs1, imm, rd)), |
| 229 | 229 | .ldx => try emit.writeInstruction(Instruction.ldx(i13, rs1, imm, rd)), |
| 230 | .@"and" => try emit.writeInstruction(Instruction.@"and"(i13, rs1, imm, rd)), |
| 230 | 231 | .@"or" => try emit.writeInstruction(Instruction.@"or"(i13, rs1, imm, rd)), |
| 231 | 232 | .xor => try emit.writeInstruction(Instruction.xor(i13, rs1, imm, rd)), |
| 232 | 233 | .xnor => try emit.writeInstruction(Instruction.xnor(i13, rs1, imm, rd)), |
| ... | ... | @@ -251,6 +252,7 @@ fn mirArithmetic3Op(emit: *Emit, inst: Mir.Inst.Index) !void { |
| 251 | 252 | .lduh => try emit.writeInstruction(Instruction.lduh(Register, rs1, rs2, rd)), |
| 252 | 253 | .lduw => try emit.writeInstruction(Instruction.lduw(Register, rs1, rs2, rd)), |
| 253 | 254 | .ldx => try emit.writeInstruction(Instruction.ldx(Register, rs1, rs2, rd)), |
| 255 | .@"and" => try emit.writeInstruction(Instruction.@"and"(Register, rs1, rs2, rd)), |
| 254 | 256 | .@"or" => try emit.writeInstruction(Instruction.@"or"(Register, rs1, rs2, rd)), |
| 255 | 257 | .xor => try emit.writeInstruction(Instruction.xor(Register, rs1, rs2, rd)), |
| 256 | 258 | .xnor => try emit.writeInstruction(Instruction.xnor(Register, rs1, rs2, rd)), |