Commit 649ad05e authored by Aurelien Jarno's avatar Aurelien Jarno
Browse files

target-i386: SSE4.2: fix pcmpXstrX instructions in "Ranges" mode



Fix the order of the of the comparisons to match the "Intel 64 and
IA-32 Architectures Software Developer's Manual".

Reviewed-by: default avatarRichard Henderson <rth@twiddle.net>
Signed-off-by: default avatarAurelien Jarno <aurelien@aurel32.net>
parent 2b8d7e9d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2019,8 +2019,8 @@ static inline unsigned pcmpxstrx(CPUX86State *env, Reg *d, Reg *s,
            res <<= 1;
            v = pcmp_val(s, ctrl, j);
            for (i = ((validd - 1) | 1); i >= 0; i -= 2) {
                res |= (pcmp_val(d, ctrl, i - 0) <= v &&
                        pcmp_val(d, ctrl, i - 1) >= v);
                res |= (pcmp_val(d, ctrl, i - 0) >= v &&
                        pcmp_val(d, ctrl, i - 1) <= v);
            }
        }
        break;