func SubFromConstNeg(a int) int {
// loong64: "ADDV[U]\t\\$40"
+ // mips: "ADD[U]\t\\$40"
// mips64: "ADDV[U]\t\\$40"
// ppc64x: `ADD\t[$]40,\sR[0-9]+,\sR`
// riscv64: "ADDI\t\\$40",-"NEG"
func SubSubFromConst(a int) int {
// loong64: "ADDV[U]\t\\$20"
+ // mips: "ADD[U]\t\\$20"
// mips64: "ADDV[U]\t\\$20"
// ppc64x: `ADD\t[$]20,\sR[0-9]+,\sR`
// riscv64: "ADDI\t\\$20",-"NEG"
func NegSubFromConst(a int) int {
// loong64: "ADDV[U]\t\\$-20"
+ // mips: "ADD[U]\t\\$-20"
// mips64: "ADDV[U]\t\\$-20"
// ppc64x: `ADD\t[$]-20,\sR[0-9]+,\sR`
// riscv64: "ADDI\t\\$-20"
func NegAddFromConstNeg(a int) int {
// loong64: "ADDV[U]\t\\$-40","SUBV"
+ // mips: "ADD[U]\t\\$-40","SUB"
// mips64: "ADDV[U]\t\\$-40","SUBV"
// ppc64x: `SUBC\tR[0-9]+,\s[$]40,\sR`
// riscv64: "ADDI\t\\$-40","NEG"
func SubSubNegSimplify(a, b int) int {
// amd64:"NEGQ"
// loong64:"SUBV"
+ // mips:"SUB"
// mips64:"SUBV"
// ppc64x:"NEG"
// riscv64:"NEG",-"SUB"
func SubAddSimplify(a, b int) int {
// amd64:-"SUBQ",-"ADDQ"
// loong64:-"SUBV",-"ADDV"
+ // mips:-"SUB",-"ADD"
// mips64:-"SUBV",-"ADDV"
// ppc64x:-"SUB",-"ADD"
// riscv64:-"SUB",-"ADD"
func SubAddSimplify2(a, b, c int) (int, int, int, int, int, int) {
// amd64:-"ADDQ"
+ // mips:"SUB",-"ADD"
// mips64:"SUBV",-"ADDV"
// loong64:"SUBV",-"ADDV"
r := (a + b) - (a + c)
// amd64:-"ADDQ"
r3 := (b + a) - (c + a)
// amd64:-"SUBQ"
+ // mips:"ADD",-"SUB"
// mips64:"ADDV",-"SUBV"
// loong64:"ADDV",-"SUBV"
r4 := (a - c) + (c + b)
func SubAddNegSimplify(a, b int) int {
// amd64:"NEGQ",-"ADDQ",-"SUBQ"
// loong64:"SUBV",-"ADDV"
+ // mips:"SUB",-"ADD"
// mips64:"SUBV",-"ADDV"
// ppc64x:"NEG",-"ADD",-"SUB"
// riscv64:"NEG",-"ADD",-"SUB"
func AddAddSubSimplify(a, b, c int) int {
// amd64:-"SUBQ"
// loong64:"ADDV",-"SUBV"
+ // mips:"ADD",-"SUB"
// mips64:"ADDV",-"SUBV"
// ppc64x:-"SUB"
// riscv64:"ADD","ADD",-"SUB"