On 5/14/24 18:36, Helge Deller wrote:
- tcg_gen_shli_i64(tmp, tcg_r, p);
-
- cond = cond_make_ti(a->c ? TCG_COND_GE : TCG_COND_LT, tmp, 0);
+ cond = cond_make_vi(a->c ? TCG_COND_TSTEQ : TCG_COND_TSTNE,
+ load_gpr(ctx, a->r), 1ull << (63 - p));
I wonder if this actually fixes a bug...
Before it tested against all values >= tmp (even for which the bit
wasn't set), and now it correctly just checks the bit.
No, the shli moved the bit under test up to the sign bit.
The comparison was always against 0.
r~