Commit a1756896 authored by Richard Henderson's avatar Richard Henderson
Browse files

tcg-s390: Fix off-by-one in wraparound andi

parent 450445d5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -983,8 +983,8 @@ static void tgen_andi(TCGContext *s, TCGType type, TCGReg dest, uint64_t val)
        int msb, lsb;
        if ((val & 0x8000000000000001ull) == 0x8000000000000001ull) {
            /* Achieve wraparound by swapping msb and lsb.  */
            msb = 63 - ctz64(~val);
            lsb = clz64(~val) + 1;
            msb = 64 - ctz64(~val);
            lsb = clz64(~val) - 1;
        } else {
            msb = clz64(val);
            lsb = 63 - ctz64(val);