func SubFromConst(a int) int {
// ppc64x: `SUBC\tR[0-9]+,\s[$]40,\sR`
+ // riscv64: "ADDI\t\\$-40","NEG"
b := 40 - a
return b
}
func SubFromConstNeg(a int) int {
// ppc64x: `ADD\t[$]40,\sR[0-9]+,\sR`
+ // riscv64: "NEG","ADDI\t\\$-40","NEG"
c := 40 - (-a)
return c
}
func SubSubFromConst(a int) int {
// ppc64x: `ADD\t[$]20,\sR[0-9]+,\sR`
+ // riscv64: "ADDI\t\\$20",-"NEG"
c := 40 - (20 - a)
return c
}
func AddSubFromConst(a int) int {
// ppc64x: `SUBC\tR[0-9]+,\s[$]60,\sR`
+ // riscv64: "ADDI\t\\$-60","NEG"
c := 40 + (20 - a)
return c
}
func NegSubFromConst(a int) int {
// ppc64x: `ADD\t[$]-20,\sR[0-9]+,\sR`
+ // riscv64: "ADDI\t\\$-20"
c := -(20 - a)
return c
}
func NegAddFromConstNeg(a int) int {
// ppc64x: `SUBC\tR[0-9]+,\s[$]40,\sR`
+ // riscv64: "ADDI\t\\$-40","NEG"
c := -(-40 + a)
return c
}
func SubSubNegSimplify(a, b int) int {
// amd64:"NEGQ"
// ppc64x:"NEG"
+ // riscv64:"NEG",-"SUB"
r := (a - b) - a
return r
}
func SubAddSimplify(a, b int) int {
// amd64:-"SUBQ",-"ADDQ"
// ppc64x:-"SUB",-"ADD"
+ // riscv64:-"SUB",-"ADD"
r := a + (b - a)
return r
}
func SubAddNegSimplify(a, b int) int {
// amd64:"NEGQ",-"ADDQ",-"SUBQ"
// ppc64x:"NEG",-"ADD",-"SUB"
+ // riscv64:"NEG",-"ADD",-"SUB"
r := a - (b + a)
return r
}
func AddAddSubSimplify(a, b, c int) int {
// amd64:-"SUBQ"
// ppc64x:-"SUB"
+ // riscv64:"ADD","ADD",-"SUB"
r := a + (b + (c - a))
return r
}