]> git.proxmox.com Git - qemu.git/commitdiff
target-i386: SSE4.2: fix pcmpXstrX instructions with "Masked(-)" polarity
authorAurelien Jarno <aurelien@aurel32.net>
Tue, 26 Mar 2013 18:56:02 +0000 (19:56 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Mon, 1 Apr 2013 16:49:16 +0000 (18:49 +0200)
valids can equals to -1 if the reg/mem string is empty. Change the
expression to have an empty xor mask in that case.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-i386/ops_sse.h

index 77ab410b9ea88ed9369d6e1e1a8fa2d4a28d7cd9..a0bac07ba3ce3a3fe0a6352a0c38c78bbd600e36 100644 (file)
@@ -2050,7 +2050,7 @@ static inline unsigned pcmpxstrx(CPUX86State *env, Reg *d, Reg *s,
         res ^= (2 << upper) - 1;
         break;
     case 3:
-        res ^= (2 << valids) - 1;
+        res ^= (1 << (valids + 1)) - 1;
         break;
     }