OSDN Git Service

tcg/i386: Always enable TCG_TARGET_HAS_extr[lh]_i64_i32
authorRichard Henderson <richard.henderson@linaro.org>
Mon, 20 Mar 2023 14:54:45 +0000 (07:54 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 17 May 2023 03:13:51 +0000 (20:13 -0700)
Keep all 32-bit values zero extended in the register, not solely when
addresses are 32 bits.  This eliminates a dependency on TARGET_LONG_BITS.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
tcg/i386/tcg-target.h

index 943af67..0b5a2c6 100644 (file)
@@ -154,9 +154,9 @@ extern bool have_atomic16;
 #define TCG_TARGET_HAS_mulsh_i32        0
 
 #if TCG_TARGET_REG_BITS == 64
-/* Keep target addresses zero-extended in a register.  */
-#define TCG_TARGET_HAS_extrl_i64_i32    (TARGET_LONG_BITS == 32)
-#define TCG_TARGET_HAS_extrh_i64_i32    (TARGET_LONG_BITS == 32)
+/* Keep 32-bit values zero-extended in a register.  */
+#define TCG_TARGET_HAS_extrl_i64_i32    1
+#define TCG_TARGET_HAS_extrh_i64_i32    1
 #define TCG_TARGET_HAS_div2_i64         1
 #define TCG_TARGET_HAS_rot_i64          1
 #define TCG_TARGET_HAS_ext8s_i64        1