No functional changes.

2021-06-06  Uroš Bizjak  <ubiz...@gmail.com>

gcc/
    * config/i386/constraints.md (Bs):
    Remove boolean operators from match_test RTX.
    (Bw): Ditto.
    (L): Ditto.
    (M): Use "mode" variable instead of GET_MODE (op) in match_test RTX.
    (Wz): Ditto.

Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.

Pushed to master.

Uros.
diff --git a/gcc/config/i386/constraints.md b/gcc/config/i386/constraints.md
index eaa582d2055..485e3f5b2cf 100644
--- a/gcc/config/i386/constraints.md
+++ b/gcc/config/i386/constraints.md
@@ -198,7 +198,8 @@ (define_constraint "Bs"
   (ior (and (not (match_test "TARGET_INDIRECT_BRANCH_REGISTER"))
            (not (match_test "TARGET_X32"))
            (match_operand 0 "sibcall_memory_operand"))
-       (and (match_test "TARGET_X32 && Pmode == DImode")
+       (and (match_test "TARGET_X32")
+           (match_test "Pmode == DImode")
            (match_operand 0 "GOT_memory_operand"))))
 
 (define_constraint "Bw"
@@ -206,7 +207,8 @@ (define_constraint "Bw"
   (ior (and (not (match_test "TARGET_INDIRECT_BRANCH_REGISTER"))
            (not (match_test "TARGET_X32"))
            (match_operand 0 "memory_operand"))
-       (and (match_test "TARGET_X32 && Pmode == DImode")
+       (and (match_test "TARGET_X32")
+           (match_test "Pmode == DImode")
            (match_operand 0 "GOT_memory_operand"))))
 
 (define_constraint "Bz"
@@ -239,8 +241,9 @@ (define_constraint "L"
   "@code{0xFF}, @code{0xFFFF} or @code{0xFFFFFFFF}
    for AND as a zero-extending move."
   (and (match_code "const_int")
-       (match_test "ival == 0xff || ival == 0xffff
-                   || ival == (HOST_WIDE_INT) 0xffffffff")))
+       (ior (match_test "ival == 0xff")
+           (match_test "ival == 0xffff")
+           (match_test "ival == (HOST_WIDE_INT) 0xffffffff"))))
 
 (define_constraint "M"
   "0, 1, 2, or 3 (shifts for the @code{lea} instruction)."
@@ -289,14 +292,14 @@ (define_constraint "We"
    to fit that range (for sign-extending conversion operations that
    require non-VOIDmode immediate operands)."
   (and (match_operand 0 "x86_64_immediate_operand")
-       (match_test "GET_MODE (op) != VOIDmode")))
+       (match_test "mode != VOIDmode")))
 
 (define_constraint "Wz"
   "32-bit unsigned integer constant, or a symbolic reference known
    to fit that range (for zero-extending conversion operations that
    require non-VOIDmode immediate operands)."
   (and (match_operand 0 "x86_64_zext_immediate_operand")
-       (match_test "GET_MODE (op) != VOIDmode")))
+       (match_test "mode != VOIDmode")))
 
 (define_constraint "Wd"
   "128-bit integer constant where both the high and low 64-bit word

Reply via email to