Re: [PATCH 06/29] tcg/optimize: Handle TCG_COND_TST{EQ,NE}

2023-10-26 Thread Paolo Bonzini
On 10/26/23 02:13, Richard Henderson wrote: + +sh = ctz64(val); +ret = op->args[0]; +src1 = op->args[1]; +inv = cond == TCG_COND_TSTEQ; + +if (neg && !inv && sext_opc) { +op->opc = sext_opc; +op->args[1] = src1; +op->args[2] = sh; +op->args[3]

[PATCH 06/29] tcg/optimize: Handle TCG_COND_TST{EQ,NE}

2023-10-25 Thread Richard Henderson
Fold constant comparisons. Canonicalize "tst x,x" to equality vs zero. Canonicalize "tst x,sign" to sign test vs zero. Fold double-word comparisons with zero parts. Fold setcond of "tst x,pow2" to a bit extract. Signed-off-by: Richard Henderson --- tcg/optimize.c | 225

[PATCH 06/29] tcg/optimize: Handle TCG_COND_TST{EQ,NE}

2023-10-25 Thread Richard Henderson
Fold constant comparisons. Canonicalize "tst x,x" to equality vs zero. Canonicalize "tst x,sign" to sign test vs zero. Fold double-word comparisons with zero parts. Fold setcond of "tst x,pow2" to a bit extract. Signed-off-by: Richard Henderson --- tcg/optimize.c | 225