target/i386: Fix carry flag for BLSI
BLSI has inverted semantics for C as compared to the other two BMI1 instructions, BLSMSK and BLSR. Introduce CC_OP_BLSI* for this purpose. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2175 Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20240801075845.573075-3-richard.henderson@linaro.org>
This commit is contained in:
@@ -1339,6 +1339,11 @@ typedef enum {
|
||||
CC_OP_BMILGL,
|
||||
CC_OP_BMILGQ,
|
||||
|
||||
CC_OP_BLSIB, /* Z,S via CC_DST, C = SRC!=0; O=0; P,A undefined */
|
||||
CC_OP_BLSIW,
|
||||
CC_OP_BLSIL,
|
||||
CC_OP_BLSIQ,
|
||||
|
||||
/*
|
||||
* Note that only CC_OP_POPCNT (i.e. the one with MO_TL size)
|
||||
* is used or implemented, because the translation needs
|
||||
|
||||
Reference in New Issue
Block a user