]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386: Cleanup ix86_expand_{unary|binary}_operator issues
authorUros Bizjak <ubizjak@gmail.com>
Thu, 28 Dec 2023 11:31:30 +0000 (12:31 +0100)
committerUros Bizjak <ubizjak@gmail.com>
Thu, 28 Dec 2023 11:31:30 +0000 (12:31 +0100)
Move ix86_expand_unary_operator from i386.cc to i386-expand.cc, re-arrange
prototypes and do some cosmetic changes with the usage of TARGET_APX_NDD.

No functional changes.

gcc/ChangeLog:

* config/i386/i386.cc (ix86_unary_operator_ok): Move from here...
* config/i386/i386-expand.cc (ix86_unary_operator_ok): ... to here.
* config/i386/i386-protos.h: Re-arrange ix86_{unary|binary}_operator_ok
and ix86_expand_{unary|binary}_operator prototypes.
* config/i386/i386.md: Cosmetic changes with the usage of
TARGET_APX_NDD in ix86_expand_{unary|binary}_operator
and ix86_{unary|binary}_operator_ok function calls.

gcc/config/i386/i386-expand.cc
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.cc
gcc/config/i386/i386.md

index 57a108ae4a76741f0f0290694fb989a828d4141b..fd1b2a9ff364ef2ef49a00e1bbb9532e3ab420d9 100644 (file)
@@ -1537,6 +1537,23 @@ ix86_expand_unary_operator (enum rtx_code code, machine_mode mode,
     emit_move_insn (operands[0], dst);
 }
 
+/* Return TRUE or FALSE depending on whether the unary operator meets the
+   appropriate constraints.  */
+
+bool
+ix86_unary_operator_ok (enum rtx_code,
+                       machine_mode,
+                       rtx operands[2],
+                       bool use_ndd)
+{
+  /* If one of operands is memory, source and destination must match.  */
+  if ((MEM_P (operands[0])
+       || (!use_ndd && MEM_P (operands[1])))
+      && ! rtx_equal_p (operands[0], operands[1]))
+    return false;
+  return true;
+}
+
 /* Predict just emitted jump instruction to be taken with probability PROB.  */
 
 static void
index 56349064a6caca6e1225898edd1bec51a31a220a..9ee08d8ecc06024b416d3e996661f28ca9bd6b78 100644 (file)
@@ -108,15 +108,20 @@ extern void ix86_expand_clear (rtx);
 extern void ix86_expand_move (machine_mode, rtx[]);
 extern void ix86_expand_vector_move (machine_mode, rtx[]);
 extern void ix86_expand_vector_move_misalign (machine_mode, rtx[]);
-extern rtx ix86_fixup_binary_operands (enum rtx_code,
-                                      machine_mode, rtx[], bool = false);
-extern void ix86_fixup_binary_operands_no_copy (enum rtx_code,
-                                               machine_mode, rtx[], bool = false);
-extern void ix86_expand_binary_operator (enum rtx_code,
-                                        machine_mode, rtx[], bool = false);
+extern rtx ix86_fixup_binary_operands (enum rtx_code, machine_mode,
+                                      rtx[], bool = false);
+extern void ix86_fixup_binary_operands_no_copy (enum rtx_code, machine_mode,
+                                               rtx[], bool = false);
+extern void ix86_expand_binary_operator (enum rtx_code, machine_mode,
+                                        rtx[], bool = false);
+extern bool ix86_binary_operator_ok (enum rtx_code, machine_mode,
+                                    rtx[3], bool = false);
+extern void ix86_expand_unary_operator (enum rtx_code, machine_mode,
+                                       rtx[], bool = false);
+extern bool ix86_unary_operator_ok (enum rtx_code, machine_mode,
+                                   rtx[2], bool = false);
 extern void ix86_expand_vector_logical_operator (enum rtx_code,
                                                 machine_mode, rtx[]);
-extern bool ix86_binary_operator_ok (enum rtx_code, machine_mode, rtx[3], bool = false);
 extern bool ix86_avoid_lea_for_add (rtx_insn *, rtx[]);
 extern bool ix86_use_lea_for_mov (rtx_insn *, rtx[]);
 extern bool ix86_avoid_lea_for_addr (rtx_insn *, rtx[]);
@@ -126,12 +131,9 @@ extern int ix86_last_zero_store_uid;
 extern bool ix86_vec_interleave_v2df_operator_ok (rtx operands[3], bool high);
 extern bool ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn);
 extern bool ix86_agi_dependent (rtx_insn *set_insn, rtx_insn *use_insn);
-extern void ix86_expand_unary_operator (enum rtx_code, machine_mode,
-                                       rtx[], bool = false);
 extern rtx ix86_build_const_vector (machine_mode, bool, rtx);
 extern rtx ix86_build_signbit_mask (machine_mode, bool, bool);
-extern HOST_WIDE_INT ix86_convert_const_vector_to_integer (rtx,
-                                                          machine_mode);
+extern HOST_WIDE_INT ix86_convert_const_vector_to_integer (rtx, machine_mode);
 extern void ix86_split_convert_uns_si_sse (rtx[]);
 extern void ix86_expand_convert_uns_didf_sse (rtx, rtx);
 extern void ix86_expand_convert_uns_sixf_sse (rtx, rtx);
@@ -147,8 +149,6 @@ extern void ix86_split_fp_absneg_operator (enum rtx_code, machine_mode,
                                           rtx[]);
 extern void ix86_expand_copysign (rtx []);
 extern void ix86_expand_xorsign (rtx []);
-extern bool ix86_unary_operator_ok (enum rtx_code, machine_mode, rtx[2],
-                                   bool = false);
 extern bool ix86_match_ccmode (rtx, machine_mode);
 extern bool ix86_match_ptest_ccmode (rtx);
 extern void ix86_expand_branch (enum rtx_code, rtx, rtx, rtx);
index a05fa34f7b774ac98684c73fe5e661f327bfefa2..38d515dac04486e6d4960e73c7daf7313d23d6fa 100644 (file)
@@ -16219,23 +16219,6 @@ ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn)
                                       PATTERN (use_insn));
 }
 
-/* Return TRUE or FALSE depending on whether the unary operator meets the
-   appropriate constraints.  */
-
-bool
-ix86_unary_operator_ok (enum rtx_code,
-                       machine_mode,
-                       rtx operands[2],
-                       bool use_ndd)
-{
-  /* If one of operands is memory, source and destination must match.  */
-  if ((MEM_P (operands[0])
-       || (!use_ndd && MEM_P (operands[1])))
-      && ! rtx_equal_p (operands[0], operands[1]))
-    return false;
-  return true;
-}
-
 /* Return TRUE if the operands to a vec_interleave_{high,low}v2df
    are ok, keeping in mind the possible movddup alternative.  */
 
index 4c6368bf3b72a7fb2defe8a5cf777b1bb1a24f09..ca6dbf42a6d991c28180c25282b7ffc7c7a4b71a 100644 (file)
        (plus:SDWIM (match_operand:SDWIM 1 "nonimmediate_operand")
                    (match_operand:SDWIM 2 "<general_hilo_operand>")))]
   ""
-  "ix86_expand_binary_operator (PLUS, <MODE>mode, operands,
-                               TARGET_APX_NDD); DONE;")
+{
+  ix86_expand_binary_operator (PLUS, <MODE>mode, operands, TARGET_APX_NDD);
+  DONE;
+})
 
 (define_insn_and_split "*add<dwi>3_doubleword"
   [(set (match_operand:<DWI> 0 "nonimmediate_operand" "=ro,r,&r,&r")
            (match_operand:DWIH 2 "nonimmediate_operand" "rm,r,rm,r"))
          (match_operand:<DWI> 1 "nonimmediate_operand" "0,0,r,m")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (UNKNOWN, <DWI>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (UNKNOWN, <DWI>mode, operands, TARGET_APX_NDD)"
   "#"
   "&& reload_completed"
   [(parallel [(set (reg:CCC FLAGS_REG)
          (match_operand:SWI48 1 "nonimmediate_operand" "%0,0,r,r,rm,r,m,r")
          (match_operand:SWI48 2 "x86_64_general_operand" "re,BM,0,le,r,e,je,BM")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (PLUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (PLUS, <MODE>mode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
          (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,r,r,r,rm")
                   (match_operand:SI 2 "x86_64_general_operand" "rBMe,0,le,rBMe,re"))))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
        (plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0,r,Yp,rm,r")
                 (match_operand:HI 2 "general_operand" "rn,m,0,ln,rn,m")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (PLUS, HImode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
        (minus:SDWIM (match_operand:SDWIM 1 "nonimmediate_operand")
                     (match_operand:SDWIM 2 "<general_hilo_operand>")))]
   ""
-  "ix86_expand_binary_operator (MINUS, <MODE>mode, operands,
-                               TARGET_APX_NDD); DONE;")
+{
+  ix86_expand_binary_operator (MINUS, <MODE>mode, operands, TARGET_APX_NDD);
+  DONE;
+})
 
 (define_insn_and_split "*sub<dwi>3_doubleword"
   [(set (match_operand:<DWI> 0 "nonimmediate_operand" "=ro,r,&r,&r")
          (match_operand:<DWI> 1 "nonimmediate_operand" "0,0,ro,r")
          (match_operand:<DWI> 2 "x86_64_hilo_general_operand" "r<di>,o,r<di>,o")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"
   "#"
   "&& reload_completed"
   [(parallel [(set (reg:CC FLAGS_REG)
          (zero_extend:<DWI>
            (match_operand:DWIH 2 "nonimmediate_operand" "rm,r,rm,r"))))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (UNKNOWN, <DWI>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (UNKNOWN, <DWI>mode, operands, TARGET_APX_NDD)"
   "#"
   "&& reload_completed"
   [(parallel [(set (reg:CC FLAGS_REG)
          (match_operand:SWI 1 "nonimmediate_operand" "0,0,rm,r")
          (match_operand:SWI 2 "<general_operand>" "<r><i>,<m>,r<i>,<m>")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
   sub{<imodesuffix>}\t{%2, %0|%0, %2}
   sub{<imodesuffix>}\t{%2, %0|%0, %2}
          (minus:SI (match_operand:SI 1 "nonimmediate_operand" "0,r,rm")
                    (match_operand:SI 2 "x86_64_general_operand" "rBMe,rBMe,re"))))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)"
   "@
   sub{l}\t{%2, %k0|%k0, %2}
   sub{l}\t{%2, %1, %k0|%k0, %1, %2}
    (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,<r>,r,r")
        (minus:SWI (match_dup 1) (match_dup 2)))]
   "ix86_match_ccmode (insn, CCGOCmode)
-   && ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
   sub{<imodesuffix>}\t{%2, %0|%0, %2}
   sub{<imodesuffix>}\t{%2, %0|%0, %2}
          (minus:SI (match_dup 1)
                    (match_dup 2))))]
   "TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
-   && ix86_binary_operator_ok (MINUS, SImode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)"
   "@
   sub{l}\t{%2, %k0|%k0, %2}
   sub{l}\t{%2, %1, %k0|%k0, %1, %2}
                   (minus:SWI (match_dup 1) (match_dup 2)))))
    (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,<r>,r,r")
        (minus:SWI (match_dup 1) (match_dup 2)))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
   sub{<imodesuffix>}\t{%2, %0|%0, %2}
   sub{<imodesuffix>}\t{%2, %0|%0, %2}
                     (match_operand:SWI 2 "x86_64_immediate_operand" "<i>,<i>")))))
    (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,r")
        (minus:SWI (match_dup 1) (match_dup 2)))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)
    && CONST_INT_P (operands[2])
    && INTVAL (operands[2]) == INTVAL (operands[3])"
   "@
            (minus:<DWI> (match_dup 1) (match_dup 2)))))
    (set (match_operand:<DWI> 0 "nonimmediate_operand" "=ro,r,&r,&r")
        (minus:<DWI> (match_dup 1) (match_dup 2)))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"
   "#"
   "&& reload_completed"
   [(parallel [(set (reg:CC FLAGS_REG)
              (match_operand:<DWI> 2 "x86_64_hilo_general_operand" "<di>,<di>")))))
    (set (match_operand:<DWI> 0 "nonimmediate_operand" "=ro,&r")
        (minus:<DWI> (match_dup 1) (match_dup 2)))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)
    && CONST_SCALAR_INT_P (operands[2])
    && rtx_equal_p (operands[2], operands[3])"
   "#"
            (match_dup 1)
            (match_op_dup 5 [(match_dup 3) (const_int 0)]))
          (match_dup 2)))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
   sbb{<imodesuffix>}\t{%2, %0|%0, %2}
   sbb{<imodesuffix>}\t{%2, %0|%0, %2}
            (match_dup 1)
            (match_op_dup 5 [(match_dup 3) (const_int 0)]))
          (match_dup 2)))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)
    && CONST_INT_P (operands[2])
    && INTVAL (operands[2]) == INTVAL (operands[6])"
   "@
    (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,<r>i,r,r")
        (minus:SWI (match_dup 1) (match_dup 2)))]
   "ix86_match_ccmode (insn, CCmode)
-   && ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
   sub{<imodesuffix>}\t{%2, %0|%0, %2}
   sub{<imodesuffix>}\t{%2, %0|%0, %2}
          (minus:SI (match_dup 1)
                    (match_dup 2))))]
   "TARGET_64BIT && ix86_match_ccmode (insn, CCmode)
-   && ix86_binary_operator_ok (MINUS, SImode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)"
   "@
   sub{l}\t{%2, %1|%1, %2}
   sub{l}\t{%2, %1, %k0|%k0, %1, %2}
                     (match_operand:SI 1 "nonimmediate_operand" "%0,r,rm"))
            (match_operand:SI 2 "x86_64_general_operand" "rBMe,rBMe,re"))))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)"
   "@
   adc{l}\t{%2, %k0|%k0, %2}
   adc{l}\t{%2, %1, %k0|%k0, %1, %2}
             (match_dup 1)))
       (set (match_operand:SWI48 0 "nonimmediate_operand")
           (plus:SWI48 (match_dup 1) (match_dup 2)))])]
-  "ix86_binary_operator_ok (PLUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)")
+  "ix86_binary_operator_ok (PLUS, <MODE>mode, operands, TARGET_APX_NDD)")
 
 (define_insn "*addcarry<mode>_1"
   [(set (reg:CCC FLAGS_REG)
             [(match_operand 3 "flags_reg_operand") (const_int 0)]))
          (match_operand:SWI 2 "<general_operand>" "<r><i>,<m>,r<i>,<m>")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
   sbb{<imodesuffix>}\t{%2, %0|%0, %2}
   sbb{<imodesuffix>}\t{%2, %0|%0, %2}
               [(reg FLAGS_REG) (const_int 0)]))
            (match_operand:SI 2 "x86_64_general_operand" "rBMe,rBMe,re"))))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)"
   "@
   sbb{l}\t{%2, %k0|%k0, %2}
   sbb{l}\t{%2, %1, %k0|%k0, %1, %2}
                       (match_operator:SWI48 5 "ix86_carry_flag_operator"
                         [(match_dup 3) (const_int 0)]))
                     (match_dup 2)))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
   sbb{<imodesuffix>}\t{%2, %0|%0, %2}
   sbb{<imodesuffix>}\t{%2, %0|%0, %2}
             (match_operand:SWI48 2 "<general_operand>")))
       (set (match_operand:SWI48 0 "register_operand")
           (minus:SWI48 (match_dup 1) (match_dup 2)))])]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)")
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)")
 
 (define_expand "uaddc<mode>5"
   [(match_operand:SWI48 0 "register_operand")
          (match_dup 1)))
    (set (match_operand:DI 0 "register_operand" "=r,r,r")
        (zero_extend:DI (plus:SI (match_dup 1) (match_dup 2))))]
-  "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)"
   "@
   add{l}\t{%2, %k0|%k0, %2}
   add{l}\t{%2, %1, %k0|%k0, %1, %2}
          (match_dup 2)))
    (set (match_operand:DI 0 "register_operand" "=r,r,r")
        (zero_extend:DI (plus:SI (match_dup 1) (match_dup 2))))]
-  "TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)"
   "@
   add{l}\t{%2, %k0|%k0, %2}
   add{l}\t{%2, %1, %k0|%k0, %1, %2}
   "CONST_INT_P (operands[2])
    && (<MODE>mode != DImode
        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
-   && ix86_binary_operator_ok (PLUS, <MODE>mode, operands,
-                              TARGET_APX_NDD)
+   && ix86_binary_operator_ok (PLUS, <MODE>mode, operands, TARGET_APX_NDD)
    && ix86_pre_reload_split ()"
   "#"
   "&& 1"
                    (const_int 0)))
          (match_operand:SWI 2 "<general_operand>")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                           TARGET_APX_NDD)
+  "ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)
    && ix86_pre_reload_split ()"
   "#"
   "&& 1"
   "CONST_INT_P (operands[2])
    && (<MODE>mode != DImode
        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
-   && ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                              TARGET_APX_NDD)
+   && ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)
    && ix86_pre_reload_split ()"
   "#"
   "&& 1"
   "CONST_INT_P (operands[2])
    && (<MODE>mode != DImode
        || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
-   && ix86_binary_operator_ok (MINUS, <MODE>mode, operands,
-                              TARGET_APX_NDD)
+   && ix86_binary_operator_ok (MINUS, <MODE>mode, operands, TARGET_APX_NDD)
    && ix86_pre_reload_split ()"
   "#"
   "&& 1"
               (operands[0], gen_lowpart (mode, operands[1]),
                <MODE>mode, mode, 1));
   else
-    ix86_expand_binary_operator (AND, <MODE>mode, operands,
-                                TARGET_APX_NDD);
+    ix86_expand_binary_operator (AND, <MODE>mode, operands, TARGET_APX_NDD);
 
   DONE;
 })
        emit_insn_deleted_note_p = true;
     }
   else
-    ix86_expand_binary_operator (AND, <MODE>mode, &operands[0],
-                                TARGET_APX_NDD);
+    ix86_expand_binary_operator (AND, <MODE>mode, &operands[0], TARGET_APX_NDD);
 
   if (operands[5] == const0_rtx)
     emit_move_insn (operands[3], const0_rtx);
        emit_note (NOTE_INSN_DELETED);
     }
   else
-    ix86_expand_binary_operator (AND, <MODE>mode, &operands[3],
-                                TARGET_APX_NDD);
+    ix86_expand_binary_operator (AND, <MODE>mode, &operands[3], TARGET_APX_NDD);
 
   DONE;
 }
         (match_operand:DI 1 "nonimmediate_operand" "%0,r,0,0,rm,r,qm,k")
         (match_operand:DI 2 "x86_64_szext_general_operand" "Z,Z,re,m,re,m,L,k")))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (AND, DImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)"
   "@
    and{l}\t{%k2, %k0|%k0, %k2}
    and{l}\t{%k2, %k1, %k0|%k0, %k1, %k2}
          (and:SI (match_operand:SI 1 "nonimmediate_operand" "%0,rm,r")
                  (match_operand:SI 2 "x86_64_general_operand" "rBMe,re,BM"))))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (AND, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)"
   "@
   and{l}\t{%2, %k0|%k0, %2}
   and{l}\t{%2, %1, %k0|%k0, %1, %2}
    (set (match_operand:SWI124 0 "nonimmediate_operand" "=<r>m,<r>,r,r")
        (and:SWI124 (match_dup 1) (match_dup 2)))]
   "ix86_match_ccmode (insn, CCNOmode)
-   && ix86_binary_operator_ok (AND, <MODE>mode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (AND, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
   and{<imodesuffix>}\t{%2, %0|%0, %2}
   and{<imodesuffix>}\t{%2, %0|%0, %2}
       && !x86_64_hilo_general_operand (operands[2], <MODE>mode))
     operands[2] = force_reg (<MODE>mode, operands[2]);
 
-  ix86_expand_binary_operator (<CODE>, <MODE>mode, operands,
-                              TARGET_APX_NDD);
+  ix86_expand_binary_operator (<CODE>, <MODE>mode, operands, TARGET_APX_NDD);
   DONE;
 })
 
         (match_operand:<DWI> 1 "nonimmediate_operand" "%0,0,ro,r")
         (match_operand:<DWI> 2 "x86_64_hilo_general_operand" "r<di>,o,r<di>,o")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (<CODE>, <DWI>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (<CODE>, <DWI>mode, operands, TARGET_APX_NDD)"
   "#"
   "&& reload_completed"
   [(const_int:DWIH 0)]
         (match_operand:SWI248 1 "nonimmediate_operand" "%0,0,rm,r,k")
         (match_operand:SWI248 2 "<general_operand>" "r<i>,<m>,r<i>,<m>,k")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
    <logic>{<imodesuffix>}\t{%2, %0|%0, %2}
    <logic>{<imodesuffix>}\t{%2, %0|%0, %2}
         (any_or:SI (match_operand:SI 1 "nonimmediate_operand" "%0,rm,r")
                    (match_operand:SI 2 "x86_64_general_operand" "rBMe,re,BM"))))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (<CODE>, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (<CODE>, SImode, operands, TARGET_APX_NDD)"
   "@
   <logic>{l}\t{%2, %k0|%k0, %2}
   <logic>{l}\t{%2, %1, %k0|%k0, %1, %2}
         (zero_extend:DI (match_operand:SI 1 "nonimmediate_operand" "%0,rm"))
         (match_operand:DI 2 "x86_64_zext_immediate_operand" "Z,Z")))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (<CODE>, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (<CODE>, SImode, operands, TARGET_APX_NDD)"
   "@
   <logic>{l}\t{%2, %k0|%k0, %2}
   <logic>{l}\t{%2, %1, %k0|%k0, %1, %2}"
    (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,<r>,r,r")
        (any_or:SWI (match_dup 1) (match_dup 2)))]
   "ix86_match_ccmode (insn, CCNOmode)
-   && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
   <logic>{<imodesuffix>}\t{%2, %0|%0, %2}
   <logic>{<imodesuffix>}\t{%2, %0|%0, %2}
    (set (match_operand:DI 0 "register_operand" "=r,r,r")
        (zero_extend:DI (any_or:SI (match_dup 1) (match_dup 2))))]
   "TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
-   && ix86_binary_operator_ok (<CODE>, SImode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (<CODE>, SImode, operands, TARGET_APX_NDD)"
   "@
   <logic>{l}\t{%2, %k0|%k0, %2}
   <logic>{l}\t{%2, %1, %k0|%k0, %1, %2}
    (set (match_operand:DI 0 "register_operand" "=r,r")
        (any_or:DI (zero_extend:DI (match_dup 1)) (match_dup 2)))]
   "TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
-   && ix86_binary_operator_ok (<CODE>, SImode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (<CODE>, SImode, operands, TARGET_APX_NDD)"
   "@
   <logic>{l}\t{%2, %k0|%k0, %2}
   <logic>{l}\t{%2, %1, %k0|%k0, %1, %2}"
   [(set (match_operand:SDWIM 0 "nonimmediate_operand")
        (neg:SDWIM (match_operand:SDWIM 1 "nonimmediate_operand")))]
   ""
-  "ix86_expand_unary_operator (NEG, <MODE>mode, operands,
-                              TARGET_APX_NDD); DONE;")
+{
+  ix86_expand_unary_operator (NEG, <MODE>mode, operands, TARGET_APX_NDD);
+  DONE;
+})
 
 (define_insn_and_split "*neg<dwi>2_doubleword"
   [(set (match_operand:<DWI> 0 "nonimmediate_operand" "=ro,&r")
        (zero_extend:DI
          (neg:SI (match_operand:SI 1 "nonimmediate_operand" "0,rm"))))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_unary_operator_ok (NEG, SImode, operands,
-                                          TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)"
   "@
   neg{l}\t%k0
   neg{l}\t{%k1, %k0|%k0, %k1}"
    (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,r")
        (neg:SWI (match_dup 1)))]
   "ix86_match_ccmode (insn, CCGOCmode)
-   && ix86_unary_operator_ok (NEG, <MODE>mode, operands,
-                             TARGET_APX_NDD)"
+   && ix86_unary_operator_ok (NEG, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
    neg{<imodesuffix>}\t%0
    neg{<imodesuffix>}\t{%1, %0|%0, %1}"
        (zero_extend:DI
          (neg:SI (match_dup 1))))]
   "TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
-   && ix86_unary_operator_ok (NEG, SImode, operands,
-                             TARGET_APX_NDD)"
+   && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)"
   "@
    neg{l}\t%k0
    neg{l}\t{%1, %k0|%k0, %1}"
   [(set (match_operand:SDWIM 0 "nonimmediate_operand")
        (not:SDWIM (match_operand:SDWIM 1 "nonimmediate_operand")))]
   ""
-  "ix86_expand_unary_operator (NOT, <MODE>mode, operands,
-                              TARGET_APX_NDD); DONE;")
+{
+  ix86_expand_unary_operator (NOT, <MODE>mode, operands, TARGET_APX_NDD);
+  DONE;
+})
 
 (define_insn_and_split "*one_cmpl<dwi>2_doubleword"
   [(set (match_operand:<DWI> 0 "nonimmediate_operand" "=ro,&r")
   [(set (match_operand:DI 0 "register_operand" "=r,r,?k")
        (zero_extend:DI
          (not:SI (match_operand:SI 1 "nonimmediate_operand" "0,rm,k"))))]
-  "TARGET_64BIT && ix86_unary_operator_ok (NOT, SImode, operands,
-                                          TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)"
   "@
    not{l}\t%k0
    not{l}\t{%1, %k0|%k0, %1}
    (set (match_operand:SWI 0 "nonimmediate_operand" "=<r>m,r")
        (not:SWI (match_dup 1)))]
   "ix86_match_ccmode (insn, CCNOmode)
-   && ix86_unary_operator_ok (NOT, <MODE>mode, operands,
-                             TARGET_APX_NDD)"
+   && ix86_unary_operator_ok (NOT, <MODE>mode, operands, TARGET_APX_NDD)"
   "#"
   [(set_attr "type" "alu1")
    (set_attr "isa" "*,apx_ndd")
        (ashift:SDWIM (match_operand:SDWIM 1 "<ashl_input_operand>")
                      (match_operand:QI 2 "nonmemory_operand")))]
   ""
-  "ix86_expand_binary_operator (ASHIFT, <MODE>mode, operands,
-                               TARGET_APX_NDD); DONE;")
+{
+  ix86_expand_binary_operator (ASHIFT, <MODE>mode, operands, TARGET_APX_NDD);
+  DONE;
+})
 
 (define_insn_and_split "*ashl<dwi>3_doubleword_mask"
   [(set (match_operand:<DWI> 0 "register_operand")
        (ashift:SWI48 (match_operand:SWI48 1 "nonimmediate_operand" "0,l,rm,k,rm")
                      (match_operand:QI 2 "nonmemory_operand" "c<S>,M,r,<KS>,c<S>")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (ASHIFT, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (ASHIFT, <MODE>mode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
          (ashift:SI (match_operand:SI 1 "nonimmediate_operand" "0,l,rm,rm")
                     (match_operand:QI 2 "nonmemory_operand" "cI,M,r,cI"))))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (ASHIFT, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
        (ashift:HI (match_operand:HI 1 "nonimmediate_operand" "0,l,k,rm")
                   (match_operand:QI 2 "nonmemory_operand" "cI,M,Ww,cI")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (ASHIFT, HImode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
        (ashift:QI (match_operand:QI 1 "nonimmediate_operand" "0,0,l,k,rm")
                   (match_operand:QI 2 "nonmemory_operand" "cI,cI,M,Wb,cI")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (ASHIFT, QImode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
        && (TARGET_SHIFT1
            || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
    && ix86_match_ccmode (insn, CCGOCmode)
-   && ix86_binary_operator_ok (ASHIFT, <MODE>mode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (ASHIFT, <MODE>mode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
           && (TARGET_SHIFT1
               || TARGET_DOUBLE_WITH_ADD)))
    && ix86_match_ccmode (insn, CCGOCmode)
-   && ix86_binary_operator_ok (ASHIFT, SImode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
        (any_shiftrt:SDWIM (match_operand:SDWIM 1 "<shift_operand>")
                           (match_operand:QI 2 "nonmemory_operand")))]
   ""
-  "ix86_expand_binary_operator (<CODE>, <MODE>mode, operands,
-                               TARGET_APX_NDD); DONE;")
+{
+  ix86_expand_binary_operator (<CODE>, <MODE>mode, operands, TARGET_APX_NDD);
+  DONE;
+})
 
 ;; Avoid useless masking of count operand.
 (define_insn_and_split "*<insn><mode>3_mask"
    (clobber (reg:CC FLAGS_REG))]
   "INTVAL (operands[2]) == GET_MODE_BITSIZE (<MODE>mode)-1
    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
-   && ix86_binary_operator_ok (ASHIFTRT, <MODE>mode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (ASHIFTRT, <MODE>mode, operands, TARGET_APX_NDD)"
   "@
    <cvt_mnemonic>
    sar{<imodesuffix>}\t{%2, %0|%0, %2}
    (clobber (reg:CC FLAGS_REG))]
   "TARGET_64BIT && INTVAL (operands[2]) == 31
    && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
-   && ix86_binary_operator_ok (ASHIFTRT, SImode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)"
   "@
    {cltd|cdq}
    sar{l}\t{%2, %k0|%k0, %2}
          (match_operand:SWI48 1 "nonimmediate_operand" "0,rm,rm")
          (match_operand:QI 2 "nonmemory_operand" "c<S>,r,c<S>")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (ASHIFTRT, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (ASHIFTRT, <MODE>mode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
          (match_operand:SWI48 1 "nonimmediate_operand" "0,rm,k,rm")
          (match_operand:QI 2 "nonmemory_operand" "c<S>,r,<KS>,c<S>")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (LSHIFTRT, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (LSHIFTRT, <MODE>mode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
          (any_shiftrt:SI (match_operand:SI 1 "nonimmediate_operand" "0,rm,rm")
                          (match_operand:QI 2 "nonmemory_operand" "cI,r,cI"))))
    (clobber (reg:CC FLAGS_REG))]
-  "TARGET_64BIT && ix86_binary_operator_ok (<CODE>, SImode, operands,
-                                           TARGET_APX_NDD)"
+  "TARGET_64BIT
+   && ix86_binary_operator_ok (<CODE>, SImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
          (match_operand:SWI12 1 "nonimmediate_operand" "0, rm")
          (match_operand:QI 2 "nonmemory_operand" "c<S>, c<S>")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (ASHIFTRT, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (ASHIFTRT, <MODE>mode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   if (operands[2] == const1_rtx
          (match_operand:QI 1 "nonimmediate_operand" "0, k, rm")
          (match_operand:QI 2 "nonmemory_operand"    "cI,Wb,cI")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (LSHIFTRT, QImode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
          (match_operand:HI 1 "nonimmediate_operand" "0, k, rm")
          (match_operand:QI 2 "nonmemory_operand" "cI, Ww, cI")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (LSHIFTRT, HImode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
     || (operands[2] == const1_rtx
        && TARGET_SHIFT1))
    && ix86_match_ccmode (insn, CCGOCmode)
-   && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   if (operands[2] == const1_rtx
        || (operands[2] == const1_rtx
           && TARGET_SHIFT1))
    && ix86_match_ccmode (insn, CCGOCmode)
-   && ix86_binary_operator_ok (<CODE>, SImode, operands,
-                              TARGET_APX_NDD)"
+   && ix86_binary_operator_ok (<CODE>, SImode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   if (operands[2] == const1_rtx
  ""
 {
   if (TARGET_64BIT)
-    ix86_expand_binary_operator (<CODE>, DImode, operands,
-                                TARGET_APX_NDD);
+    ix86_expand_binary_operator (<CODE>, DImode, operands, TARGET_APX_NDD);
   else if (const_1_to_31_operand (operands[2], VOIDmode))
     emit_insn (gen_ix86_<insn>di3_doubleword
                (operands[0], operands[1], operands[2]));
        (any_rotate:SWIM124 (match_operand:SWIM124 1 "nonimmediate_operand")
                            (match_operand:QI 2 "nonmemory_operand")))]
   ""
-  "ix86_expand_binary_operator (<CODE>, <MODE>mode, operands,
-                               TARGET_APX_NDD); DONE;")
+{
+  ix86_expand_binary_operator (<CODE>, <MODE>mode, operands, TARGET_APX_NDD);
+  DONE;
+})
 
 ;; Avoid useless masking of count operand.
 (define_insn_and_split "*<insn><mode>3_mask"
          (match_operand:SWI48 1 "nonimmediate_operand" "0,rm,rm")
          (match_operand:QI 2 "nonmemory_operand" "c<S>,<S>,c<S>")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   switch (get_attr_type (insn))
        (any_rotate:SWI12 (match_operand:SWI12 1 "nonimmediate_operand" "0,rm")
                          (match_operand:QI 2 "nonmemory_operand" "c<S>,c<S>")))
    (clobber (reg:CC FLAGS_REG))]
-  "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands,
-                           TARGET_APX_NDD)"
+  "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands, TARGET_APX_NDD)"
 {
   bool use_ndd = get_attr_isa (insn) == ISA_APX_NDD;
   if (operands[2] == const1_rtx