@@ -298,12 +298,12 @@ func init() {
298
298
{name : "XORLload" , argLength : 3 , reg : gp21load , asm : "XORL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , faultOnNilArg1 : true , symEffect : "Read" }, // arg0 ^ tmp, tmp loaded from arg1+auxint+aux, arg2 = mem
299
299
300
300
// binary-op with an indexed memory source operand
301
- {name : "ADDLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "ADDL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , faultOnNilArg1 : true , symEffect : "Read" }, // arg0 + tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
302
- {name : "SUBLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "SUBL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , faultOnNilArg1 : true , symEffect : "Read" }, // arg0 - tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
303
- {name : "MULLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "IMULL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , faultOnNilArg1 : true , symEffect : "Read" }, // arg0 * tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
304
- {name : "ANDLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "ANDL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , faultOnNilArg1 : true , symEffect : "Read" }, // arg0 & tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
305
- {name : "ORLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "ORL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , faultOnNilArg1 : true , symEffect : "Read" }, // arg0 | tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
306
- {name : "XORLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "XORL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , faultOnNilArg1 : true , symEffect : "Read" }, // arg0 ^ tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
301
+ {name : "ADDLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "ADDL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , symEffect : "Read" }, // arg0 + tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
302
+ {name : "SUBLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "SUBL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , symEffect : "Read" }, // arg0 - tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
303
+ {name : "MULLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "IMULL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , symEffect : "Read" }, // arg0 * tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
304
+ {name : "ANDLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "ANDL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , symEffect : "Read" }, // arg0 & tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
305
+ {name : "ORLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "ORL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , symEffect : "Read" }, // arg0 | tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
306
+ {name : "XORLloadidx4" , argLength : 4 , reg : gp21loadidx , asm : "XORL" , aux : "SymOff" , resultInArg0 : true , clobberFlags : true , symEffect : "Read" }, // arg0 ^ tmp, tmp loaded from arg1+arg2*4+auxint+aux, arg3 = mem
307
307
308
308
// unary ops
309
309
{name : "NEGL" , argLength : 1 , reg : gp11 , asm : "NEGL" , resultInArg0 : true , clobberFlags : true }, // -arg0
@@ -386,11 +386,11 @@ func init() {
386
386
{name : "XORLmodify" , argLength : 3 , reg : gpstore , asm : "XORL" , aux : "SymOff" , typ : "Mem" , faultOnNilArg0 : true , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+auxint+aux) ^= arg1, arg2=mem
387
387
388
388
// direct binary-op on indexed memory (read-modify-write)
389
- {name : "ADDLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "ADDL" , aux : "SymOff" , typ : "Mem" , faultOnNilArg0 : true , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) += arg2, arg3=mem
390
- {name : "SUBLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "SUBL" , aux : "SymOff" , typ : "Mem" , faultOnNilArg0 : true , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) -= arg2, arg3=mem
391
- {name : "ANDLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "ANDL" , aux : "SymOff" , typ : "Mem" , faultOnNilArg0 : true , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) &= arg2, arg3=mem
392
- {name : "ORLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "ORL" , aux : "SymOff" , typ : "Mem" , faultOnNilArg0 : true , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) |= arg2, arg3=mem
393
- {name : "XORLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "XORL" , aux : "SymOff" , typ : "Mem" , faultOnNilArg0 : true , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) ^= arg2, arg3=mem
389
+ {name : "ADDLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "ADDL" , aux : "SymOff" , typ : "Mem" , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) += arg2, arg3=mem
390
+ {name : "SUBLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "SUBL" , aux : "SymOff" , typ : "Mem" , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) -= arg2, arg3=mem
391
+ {name : "ANDLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "ANDL" , aux : "SymOff" , typ : "Mem" , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) &= arg2, arg3=mem
392
+ {name : "ORLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "ORL" , aux : "SymOff" , typ : "Mem" , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) |= arg2, arg3=mem
393
+ {name : "XORLmodifyidx4" , argLength : 4 , reg : gpstoreidx , asm : "XORL" , aux : "SymOff" , typ : "Mem" , clobberFlags : true , symEffect : "Read,Write" }, // *(arg0+arg1*4+auxint+aux) ^= arg2, arg3=mem
394
394
395
395
// direct binary-op on memory with a constant (read-modify-write)
396
396
{name : "ADDLconstmodify" , argLength : 2 , reg : gpstoreconst , asm : "ADDL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , faultOnNilArg0 : true , symEffect : "Read,Write" }, // add ValAndOff(AuxInt).Val() to arg0+ValAndOff(AuxInt).Off()+aux, arg1=mem
@@ -399,10 +399,10 @@ func init() {
399
399
{name : "XORLconstmodify" , argLength : 2 , reg : gpstoreconst , asm : "XORL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , faultOnNilArg0 : true , symEffect : "Read,Write" }, // xor ValAndOff(AuxInt).Val() to arg0+ValAndOff(AuxInt).Off()+aux, arg1=mem
400
400
401
401
// direct binary-op on indexed memory with a constant (read-modify-write)
402
- {name : "ADDLconstmodifyidx4" , argLength : 3 , reg : gpstoreconstidx , asm : "ADDL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , faultOnNilArg0 : true , symEffect : "Read,Write" }, // add ValAndOff(AuxInt).Val() to arg0+arg1*4+ValAndOff(AuxInt).Off()+aux, arg2=mem
403
- {name : "ANDLconstmodifyidx4" , argLength : 3 , reg : gpstoreconstidx , asm : "ANDL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , faultOnNilArg0 : true , symEffect : "Read,Write" }, // and ValAndOff(AuxInt).Val() to arg0+arg1*4+ValAndOff(AuxInt).Off()+aux, arg2=mem
404
- {name : "ORLconstmodifyidx4" , argLength : 3 , reg : gpstoreconstidx , asm : "ORL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , faultOnNilArg0 : true , symEffect : "Read,Write" }, // or ValAndOff(AuxInt).Val() to arg0+arg1*4+ValAndOff(AuxInt).Off()+aux, arg2=mem
405
- {name : "XORLconstmodifyidx4" , argLength : 3 , reg : gpstoreconstidx , asm : "XORL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , faultOnNilArg0 : true , symEffect : "Read,Write" }, // xor ValAndOff(AuxInt).Val() to arg0+arg1*4+ValAndOff(AuxInt).Off()+aux, arg2=mem
402
+ {name : "ADDLconstmodifyidx4" , argLength : 3 , reg : gpstoreconstidx , asm : "ADDL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , symEffect : "Read,Write" }, // add ValAndOff(AuxInt).Val() to arg0+arg1*4+ValAndOff(AuxInt).Off()+aux, arg2=mem
403
+ {name : "ANDLconstmodifyidx4" , argLength : 3 , reg : gpstoreconstidx , asm : "ANDL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , symEffect : "Read,Write" }, // and ValAndOff(AuxInt).Val() to arg0+arg1*4+ValAndOff(AuxInt).Off()+aux, arg2=mem
404
+ {name : "ORLconstmodifyidx4" , argLength : 3 , reg : gpstoreconstidx , asm : "ORL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , symEffect : "Read,Write" }, // or ValAndOff(AuxInt).Val() to arg0+arg1*4+ValAndOff(AuxInt).Off()+aux, arg2=mem
405
+ {name : "XORLconstmodifyidx4" , argLength : 3 , reg : gpstoreconstidx , asm : "XORL" , aux : "SymValAndOff" , typ : "Mem" , clobberFlags : true , symEffect : "Read,Write" }, // xor ValAndOff(AuxInt).Val() to arg0+arg1*4+ValAndOff(AuxInt).Off()+aux, arg2=mem
406
406
407
407
// indexed loads/stores
408
408
{name : "MOVBloadidx1" , argLength : 3 , reg : gploadidx , commutative : true , asm : "MOVBLZX" , aux : "SymOff" , symEffect : "Read" }, // load a byte from arg0+arg1+auxint+aux. arg2=mem
0 commit comments