Commit 67b2c493 by Richard Sandiford Committed by Richard Sandiford

i386.md: Use (match_test ...) for attribute tests.

gcc/
	* config/i386/i386.md: Use (match_test ...) for attribute tests.
	* config/i386/mmx.md: Likewise.
	* config/i386/sse.md: Likewise.
	* config/i386/predicates.md (call_insn_operand): Use
	(not (match_test "...")) instead of (match_test "!...")
	* config/i386/constraints.md (w): Likewise.

From-SVN: r178389
parent 0c0d3957
2011-08-31 Richard Sandiford <rdsandiford@googlemail.com> 2011-08-31 Richard Sandiford <rdsandiford@googlemail.com>
* config/i386/i386.md: Use (match_test ...) for attribute tests.
* config/i386/mmx.md: Likewise.
* config/i386/sse.md: Likewise.
* config/i386/predicates.md (call_insn_operand): Use
(not (match_test "...")) instead of (match_test "!...")
* config/i386/constraints.md (w): Likewise.
2011-08-31 Richard Sandiford <rdsandiford@googlemail.com>
* doc/md.texi: Describe the use of match_tests in attribute tests. * doc/md.texi: Describe the use of match_tests in attribute tests.
* rtl.def (MATCH_TEST): Update commentary. * rtl.def (MATCH_TEST): Update commentary.
* genattrtab.c (attr_copy_rtx, check_attr_test, clear_struct_flag) * genattrtab.c (attr_copy_rtx, check_attr_test, clear_struct_flag)
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
(define_constraint "w" (define_constraint "w"
"@internal Call memory operand." "@internal Call memory operand."
(and (match_test "!TARGET_X32") (and (not (match_test "TARGET_X32"))
(match_operand 0 "memory_operand"))) (match_operand 0 "memory_operand")))
;; Integer constant constraints. ;; Integer constant constraints.
......
...@@ -490,18 +490,16 @@ ...@@ -490,18 +490,16 @@
;; Set when REX opcode prefix is used. ;; Set when REX opcode prefix is used.
(define_attr "prefix_rex" "" (define_attr "prefix_rex" ""
(cond [(eq (symbol_ref "TARGET_64BIT") (const_int 0)) (cond [(not (match_test "TARGET_64BIT"))
(const_int 0) (const_int 0)
(and (eq_attr "mode" "DI") (and (eq_attr "mode" "DI")
(and (eq_attr "type" "!push,pop,call,callv,leave,ibr") (and (eq_attr "type" "!push,pop,call,callv,leave,ibr")
(eq_attr "unit" "!mmx"))) (eq_attr "unit" "!mmx")))
(const_int 1) (const_int 1)
(and (eq_attr "mode" "QI") (and (eq_attr "mode" "QI")
(ne (symbol_ref "x86_extended_QIreg_mentioned_p (insn)") (match_test "x86_extended_QIreg_mentioned_p (insn)"))
(const_int 0)))
(const_int 1) (const_int 1)
(ne (symbol_ref "x86_extended_reg_mentioned_p (insn)") (match_test "x86_extended_reg_mentioned_p (insn)")
(const_int 0))
(const_int 1) (const_int 1)
(and (eq_attr "type" "imovx") (and (eq_attr "type" "imovx")
(match_operand:QI 1 "ext_QIreg_operand" "")) (match_operand:QI 1 "ext_QIreg_operand" ""))
...@@ -551,7 +549,7 @@ ...@@ -551,7 +549,7 @@
(eq_attr "unit" "i387") (eq_attr "unit" "i387")
(const_int 0) (const_int 0)
(and (eq_attr "type" "incdec") (and (eq_attr "type" "incdec")
(and (eq (symbol_ref "TARGET_64BIT") (const_int 0)) (and (not (match_test "TARGET_64BIT"))
(ior (match_operand:SI 1 "register_operand" "") (ior (match_operand:SI 1 "register_operand" "")
(match_operand:HI 1 "register_operand" "")))) (match_operand:HI 1 "register_operand" ""))))
(const_int 0) (const_int 0)
...@@ -597,7 +595,7 @@ ...@@ -597,7 +595,7 @@
(attr "length_address"))) (attr "length_address")))
(ior (eq_attr "prefix" "vex") (ior (eq_attr "prefix" "vex")
(and (eq_attr "prefix" "maybe_vex") (and (eq_attr "prefix" "maybe_vex")
(ne (symbol_ref "TARGET_AVX") (const_int 0)))) (match_test "TARGET_AVX")))
(plus (attr "length_vex") (plus (attr "length_vex")
(plus (attr "length_immediate") (plus (attr "length_immediate")
(plus (attr "modrm") (plus (attr "modrm")
...@@ -1927,16 +1925,13 @@ ...@@ -1927,16 +1925,13 @@
(set (attr "mode") (set (attr "mode")
(cond [(eq_attr "alternative" "2,3") (cond [(eq_attr "alternative" "2,3")
(if_then_else (if_then_else
(ne (symbol_ref "optimize_function_for_size_p (cfun)") (match_test "optimize_function_for_size_p (cfun)")
(const_int 0))
(const_string "V4SF") (const_string "V4SF")
(const_string "TI")) (const_string "TI"))
(eq_attr "alternative" "4") (eq_attr "alternative" "4")
(if_then_else (if_then_else
(ior (ne (symbol_ref "TARGET_SSE_TYPELESS_STORES") (ior (match_test "TARGET_SSE_TYPELESS_STORES")
(const_int 0)) (match_test "optimize_function_for_size_p (cfun)"))
(ne (symbol_ref "optimize_function_for_size_p (cfun)")
(const_int 0)))
(const_string "V4SF") (const_string "V4SF")
(const_string "TI"))] (const_string "TI"))]
(const_string "DI")))]) (const_string "DI")))])
...@@ -1985,13 +1980,11 @@ ...@@ -1985,13 +1980,11 @@
[(set_attr "type" "sselog1,ssemov,ssemov") [(set_attr "type" "sselog1,ssemov,ssemov")
(set_attr "prefix" "maybe_vex") (set_attr "prefix" "maybe_vex")
(set (attr "mode") (set (attr "mode")
(cond [(ior (eq (symbol_ref "TARGET_SSE2") (const_int 0)) (cond [(ior (not (match_test "TARGET_SSE2"))
(ne (symbol_ref "optimize_function_for_size_p (cfun)") (match_test "optimize_function_for_size_p (cfun)"))
(const_int 0)))
(const_string "V4SF") (const_string "V4SF")
(and (eq_attr "alternative" "2") (and (eq_attr "alternative" "2")
(ne (symbol_ref "TARGET_SSE_TYPELESS_STORES") (match_test "TARGET_SSE_TYPELESS_STORES"))
(const_int 0)))
(const_string "V4SF")] (const_string "V4SF")]
(const_string "TI")))]) (const_string "TI")))])
...@@ -2308,11 +2301,11 @@ ...@@ -2308,11 +2301,11 @@
(const_string "DI") (const_string "DI")
(eq_attr "alternative" "6,7") (eq_attr "alternative" "6,7")
(if_then_else (if_then_else
(eq (symbol_ref "TARGET_SSE2") (const_int 0)) (not (match_test "TARGET_SSE2"))
(const_string "V4SF") (const_string "V4SF")
(const_string "TI")) (const_string "TI"))
(and (eq_attr "alternative" "8,9,10,11") (and (eq_attr "alternative" "8,9,10,11")
(eq (symbol_ref "TARGET_SSE2") (const_int 0))) (not (match_test "TARGET_SSE2")))
(const_string "SF") (const_string "SF")
] ]
(const_string "SI")))]) (const_string "SI")))])
...@@ -2336,20 +2329,16 @@ ...@@ -2336,20 +2329,16 @@
} }
} }
[(set (attr "type") [(set (attr "type")
(cond [(ne (symbol_ref "optimize_function_for_size_p (cfun)") (cond [(match_test "optimize_function_for_size_p (cfun)")
(const_int 0))
(const_string "imov") (const_string "imov")
(and (eq_attr "alternative" "0") (and (eq_attr "alternative" "0")
(ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL") (ior (not (match_test "TARGET_PARTIAL_REG_STALL"))
(const_int 0)) (not (match_test "TARGET_HIMODE_MATH"))))
(eq (symbol_ref "TARGET_HIMODE_MATH")
(const_int 0))))
(const_string "imov") (const_string "imov")
(and (eq_attr "alternative" "1,2") (and (eq_attr "alternative" "1,2")
(match_operand:HI 1 "aligned_operand" "")) (match_operand:HI 1 "aligned_operand" ""))
(const_string "imov") (const_string "imov")
(and (ne (symbol_ref "TARGET_MOVX") (and (match_test "TARGET_MOVX")
(const_int 0))
(eq_attr "alternative" "0,2")) (eq_attr "alternative" "0,2"))
(const_string "imovx") (const_string "imovx")
] ]
...@@ -2361,10 +2350,8 @@ ...@@ -2361,10 +2350,8 @@
(match_operand:HI 1 "aligned_operand" "")) (match_operand:HI 1 "aligned_operand" ""))
(const_string "SI") (const_string "SI")
(and (eq_attr "alternative" "0") (and (eq_attr "alternative" "0")
(ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL") (ior (not (match_test "TARGET_PARTIAL_REG_STALL"))
(const_int 0)) (not (match_test "TARGET_HIMODE_MATH"))))
(eq (symbol_ref "TARGET_HIMODE_MATH")
(const_int 0))))
(const_string "SI") (const_string "SI")
] ]
(const_string "HI")))]) (const_string "HI")))])
...@@ -2400,19 +2387,15 @@ ...@@ -2400,19 +2387,15 @@
(cond [(and (eq_attr "alternative" "5") (cond [(and (eq_attr "alternative" "5")
(not (match_operand:QI 1 "aligned_operand" ""))) (not (match_operand:QI 1 "aligned_operand" "")))
(const_string "imovx") (const_string "imovx")
(ne (symbol_ref "optimize_function_for_size_p (cfun)") (match_test "optimize_function_for_size_p (cfun)")
(const_int 0))
(const_string "imov") (const_string "imov")
(and (eq_attr "alternative" "3") (and (eq_attr "alternative" "3")
(ior (eq (symbol_ref "TARGET_PARTIAL_REG_STALL") (ior (not (match_test "TARGET_PARTIAL_REG_STALL"))
(const_int 0)) (not (match_test "TARGET_QIMODE_MATH"))))
(eq (symbol_ref "TARGET_QIMODE_MATH")
(const_int 0))))
(const_string "imov") (const_string "imov")
(eq_attr "alternative" "3,5") (eq_attr "alternative" "3,5")
(const_string "imovx") (const_string "imovx")
(and (ne (symbol_ref "TARGET_MOVX") (and (match_test "TARGET_MOVX")
(const_int 0))
(eq_attr "alternative" "2")) (eq_attr "alternative" "2"))
(const_string "imovx") (const_string "imovx")
] ]
...@@ -2426,20 +2409,15 @@ ...@@ -2426,20 +2409,15 @@
(const_string "SI") (const_string "SI")
(and (eq_attr "type" "imov") (and (eq_attr "type" "imov")
(and (eq_attr "alternative" "0,1") (and (eq_attr "alternative" "0,1")
(and (ne (symbol_ref "TARGET_PARTIAL_REG_DEPENDENCY") (and (match_test "TARGET_PARTIAL_REG_DEPENDENCY")
(const_int 0)) (and (not (match_test "optimize_function_for_size_p (cfun)"))
(and (eq (symbol_ref "optimize_function_for_size_p (cfun)") (not (match_test "TARGET_PARTIAL_REG_STALL"))))))
(const_int 0))
(eq (symbol_ref "TARGET_PARTIAL_REG_STALL")
(const_int 0))))))
(const_string "SI") (const_string "SI")
;; Avoid partial register stalls when not using QImode arithmetic ;; Avoid partial register stalls when not using QImode arithmetic
(and (eq_attr "type" "imov") (and (eq_attr "type" "imov")
(and (eq_attr "alternative" "0,1") (and (eq_attr "alternative" "0,1")
(and (ne (symbol_ref "TARGET_PARTIAL_REG_STALL") (and (match_test "TARGET_PARTIAL_REG_STALL")
(const_int 0)) (not (match_test "TARGET_QIMODE_MATH")))))
(eq (symbol_ref "TARGET_QIMODE_MATH")
(const_int 0)))))
(const_string "SI") (const_string "SI")
] ]
(const_string "QI")))]) (const_string "QI")))])
...@@ -2579,8 +2557,7 @@ ...@@ -2579,8 +2557,7 @@
} }
[(set (attr "type") [(set (attr "type")
(if_then_else (ior (not (match_operand:QI 0 "QIreg_operand" "")) (if_then_else (ior (not (match_operand:QI 0 "QIreg_operand" ""))
(ne (symbol_ref "TARGET_MOVX") (match_test "TARGET_MOVX"))
(const_int 0)))
(const_string "imovx") (const_string "imovx")
(const_string "imov"))) (const_string "imov")))
(set (attr "mode") (set (attr "mode")
...@@ -2606,8 +2583,7 @@ ...@@ -2606,8 +2583,7 @@
[(set (attr "type") [(set (attr "type")
(if_then_else (and (match_operand:QI 0 "register_operand" "") (if_then_else (and (match_operand:QI 0 "register_operand" "")
(ior (not (match_operand:QI 0 "QIreg_operand" "")) (ior (not (match_operand:QI 0 "QIreg_operand" ""))
(ne (symbol_ref "TARGET_MOVX") (match_test "TARGET_MOVX")))
(const_int 0))))
(const_string "imovx") (const_string "imovx")
(const_string "imov"))) (const_string "imov")))
(set (attr "mode") (set (attr "mode")
...@@ -2643,8 +2619,7 @@ ...@@ -2643,8 +2619,7 @@
} }
[(set (attr "type") [(set (attr "type")
(if_then_else (ior (not (match_operand:QI 0 "QIreg_operand" "")) (if_then_else (ior (not (match_operand:QI 0 "QIreg_operand" ""))
(ne (symbol_ref "TARGET_MOVX") (match_test "TARGET_MOVX"))
(const_int 0)))
(const_string "imovx") (const_string "imovx")
(const_string "imov"))) (const_string "imov")))
(set (attr "mode") (set (attr "mode")
...@@ -2671,8 +2646,7 @@ ...@@ -2671,8 +2646,7 @@
[(set (attr "type") [(set (attr "type")
(if_then_else (and (match_operand:QI 0 "register_operand" "") (if_then_else (and (match_operand:QI 0 "register_operand" "")
(ior (not (match_operand:QI 0 "QIreg_operand" "")) (ior (not (match_operand:QI 0 "QIreg_operand" ""))
(ne (symbol_ref "TARGET_MOVX") (match_test "TARGET_MOVX")))
(const_int 0))))
(const_string "imovx") (const_string "imovx")
(const_string "imov"))) (const_string "imov")))
(set (attr "mode") (set (attr "mode")
...@@ -2937,16 +2911,13 @@ ...@@ -2937,16 +2911,13 @@
(set (attr "mode") (set (attr "mode")
(cond [(eq_attr "alternative" "0,2") (cond [(eq_attr "alternative" "0,2")
(if_then_else (if_then_else
(ne (symbol_ref "optimize_function_for_size_p (cfun)") (match_test "optimize_function_for_size_p (cfun)")
(const_int 0))
(const_string "V4SF") (const_string "V4SF")
(const_string "TI")) (const_string "TI"))
(eq_attr "alternative" "1") (eq_attr "alternative" "1")
(if_then_else (if_then_else
(ior (ne (symbol_ref "TARGET_SSE_TYPELESS_STORES") (ior (match_test "TARGET_SSE_TYPELESS_STORES")
(const_int 0)) (match_test "optimize_function_for_size_p (cfun)"))
(ne (symbol_ref "optimize_function_for_size_p (cfun)")
(const_int 0)))
(const_string "V4SF") (const_string "V4SF")
(const_string "TI"))] (const_string "TI"))]
(const_string "DI")))]) (const_string "DI")))])
...@@ -3084,11 +3055,9 @@ ...@@ -3084,11 +3055,9 @@
/* xorps is one byte shorter. */ /* xorps is one byte shorter. */
(eq_attr "alternative" "7") (eq_attr "alternative" "7")
(cond [(ne (symbol_ref "optimize_function_for_size_p (cfun)") (cond [(match_test "optimize_function_for_size_p (cfun)")
(const_int 0))
(const_string "V4SF") (const_string "V4SF")
(ne (symbol_ref "TARGET_SSE_LOAD0_BY_PXOR") (match_test "TARGET_SSE_LOAD0_BY_PXOR")
(const_int 0))
(const_string "TI") (const_string "TI")
] ]
(const_string "V2DF")) (const_string "V2DF"))
...@@ -3100,11 +3069,9 @@ ...@@ -3100,11 +3069,9 @@
movaps encodes one byte shorter. */ movaps encodes one byte shorter. */
(eq_attr "alternative" "8") (eq_attr "alternative" "8")
(cond (cond
[(ne (symbol_ref "optimize_function_for_size_p (cfun)") [(match_test "optimize_function_for_size_p (cfun)")
(const_int 0))
(const_string "V4SF") (const_string "V4SF")
(ne (symbol_ref "TARGET_SSE_PARTIAL_REG_DEPENDENCY") (match_test "TARGET_SSE_PARTIAL_REG_DEPENDENCY")
(const_int 0))
(const_string "V2DF") (const_string "V2DF")
] ]
(const_string "DF")) (const_string "DF"))
...@@ -3113,8 +3080,7 @@ ...@@ -3113,8 +3080,7 @@
of register. */ of register. */
(eq_attr "alternative" "9") (eq_attr "alternative" "9")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_SSE_SPLIT_REGS") (match_test "TARGET_SSE_SPLIT_REGS")
(const_int 0))
(const_string "V1DF") (const_string "V1DF")
(const_string "DF")) (const_string "DF"))
] ]
...@@ -3208,7 +3174,7 @@ ...@@ -3208,7 +3174,7 @@
(const_string "SI") (const_string "SI")
/* For SSE1, we have many fewer alternatives. */ /* For SSE1, we have many fewer alternatives. */
(eq (symbol_ref "TARGET_SSE2") (const_int 0)) (not (match_test "TARGET_SSE2"))
(if_then_else (if_then_else
(eq_attr "alternative" "5,6,9,10") (eq_attr "alternative" "5,6,9,10")
(const_string "V4SF") (const_string "V4SF")
...@@ -3216,11 +3182,9 @@ ...@@ -3216,11 +3182,9 @@
/* xorps is one byte shorter. */ /* xorps is one byte shorter. */
(eq_attr "alternative" "5,9") (eq_attr "alternative" "5,9")
(cond [(ne (symbol_ref "optimize_function_for_size_p (cfun)") (cond [(match_test "optimize_function_for_size_p (cfun)")
(const_int 0))
(const_string "V4SF") (const_string "V4SF")
(ne (symbol_ref "TARGET_SSE_LOAD0_BY_PXOR") (match_test "TARGET_SSE_LOAD0_BY_PXOR")
(const_int 0))
(const_string "TI") (const_string "TI")
] ]
(const_string "V2DF")) (const_string "V2DF"))
...@@ -3232,11 +3196,9 @@ ...@@ -3232,11 +3196,9 @@
movaps encodes one byte shorter. */ movaps encodes one byte shorter. */
(eq_attr "alternative" "6,10") (eq_attr "alternative" "6,10")
(cond (cond
[(ne (symbol_ref "optimize_function_for_size_p (cfun)") [(match_test "optimize_function_for_size_p (cfun)")
(const_int 0))
(const_string "V4SF") (const_string "V4SF")
(ne (symbol_ref "TARGET_SSE_PARTIAL_REG_DEPENDENCY") (match_test "TARGET_SSE_PARTIAL_REG_DEPENDENCY")
(const_int 0))
(const_string "V2DF") (const_string "V2DF")
] ]
(const_string "DF")) (const_string "DF"))
...@@ -3245,8 +3207,7 @@ ...@@ -3245,8 +3207,7 @@
of register. */ of register. */
(eq_attr "alternative" "7,11") (eq_attr "alternative" "7,11")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_SSE_SPLIT_REGS") (match_test "TARGET_SSE_SPLIT_REGS")
(const_int 0))
(const_string "V1DF") (const_string "V1DF")
(const_string "DF")) (const_string "DF"))
] ]
...@@ -3321,12 +3282,9 @@ ...@@ -3321,12 +3282,9 @@
(const_string "SI") (const_string "SI")
(eq_attr "alternative" "5") (eq_attr "alternative" "5")
(if_then_else (if_then_else
(and (and (ne (symbol_ref "TARGET_SSE_LOAD0_BY_PXOR") (and (and (match_test "TARGET_SSE_LOAD0_BY_PXOR")
(const_int 0)) (match_test "TARGET_SSE2"))
(ne (symbol_ref "TARGET_SSE2") (not (match_test "optimize_function_for_size_p (cfun)")))
(const_int 0)))
(eq (symbol_ref "optimize_function_for_size_p (cfun)")
(const_int 0)))
(const_string "TI") (const_string "TI")
(const_string "V4SF")) (const_string "V4SF"))
/* For architectures resolving dependencies on /* For architectures resolving dependencies on
...@@ -3341,10 +3299,8 @@ ...@@ -3341,10 +3299,8 @@
to avoid problems on using packed logical operations. */ to avoid problems on using packed logical operations. */
(eq_attr "alternative" "6") (eq_attr "alternative" "6")
(if_then_else (if_then_else
(ior (ne (symbol_ref "TARGET_SSE_PARTIAL_REG_DEPENDENCY") (ior (match_test "TARGET_SSE_PARTIAL_REG_DEPENDENCY")
(const_int 0)) (match_test "TARGET_SSE_SPLIT_REGS"))
(ne (symbol_ref "TARGET_SSE_SPLIT_REGS")
(const_int 0)))
(const_string "V4SF") (const_string "V4SF")
(const_string "SF")) (const_string "SF"))
(eq_attr "alternative" "11") (eq_attr "alternative" "11")
...@@ -4962,7 +4918,7 @@ ...@@ -4962,7 +4918,7 @@
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(and (eq_attr "prefix" "maybe_vex") (and (eq_attr "prefix" "maybe_vex")
(ne (symbol_ref "<SWI48x:MODE>mode == DImode") (const_int 0))) (match_test "<SWI48x:MODE>mode == DImode"))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set_attr "unit" "i387,*,*") (set_attr "unit" "i387,*,*")
...@@ -4987,7 +4943,7 @@ ...@@ -4987,7 +4943,7 @@
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(and (eq_attr "prefix" "maybe_vex") (and (eq_attr "prefix" "maybe_vex")
(ne (symbol_ref "<SWI48x:MODE>mode == DImode") (const_int 0))) (match_test "<SWI48x:MODE>mode == DImode"))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set_attr "athlon_decode" "*,direct") (set_attr "athlon_decode" "*,direct")
...@@ -5182,7 +5138,7 @@ ...@@ -5182,7 +5138,7 @@
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(and (eq_attr "prefix" "maybe_vex") (and (eq_attr "prefix" "maybe_vex")
(ne (symbol_ref "<SWI48x:MODE>mode == DImode") (const_int 0))) (match_test "<SWI48x:MODE>mode == DImode"))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set_attr "athlon_decode" "double,direct") (set_attr "athlon_decode" "double,direct")
...@@ -5217,7 +5173,7 @@ ...@@ -5217,7 +5173,7 @@
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(and (eq_attr "prefix" "maybe_vex") (and (eq_attr "prefix" "maybe_vex")
(ne (symbol_ref "<SWI48x:MODE>mode == DImode") (const_int 0))) (match_test "<SWI48x:MODE>mode == DImode"))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set_attr "athlon_decode" "direct") (set_attr "athlon_decode" "direct")
...@@ -7751,7 +7707,7 @@ ...@@ -7751,7 +7707,7 @@
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(and (eq_attr "type" "imovx") (and (eq_attr "type" "imovx")
(and (ne (symbol_ref "INTVAL (operands[2]) == 0xff") (const_int 0)) (and (match_test "INTVAL (operands[2]) == 0xff")
(match_operand 1 "ext_QIreg_operand" ""))) (match_operand 1 "ext_QIreg_operand" "")))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
...@@ -7795,7 +7751,7 @@ ...@@ -7795,7 +7751,7 @@
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(and (eq_attr "type" "imovx") (and (eq_attr "type" "imovx")
(and (ne (symbol_ref "INTVAL (operands[2]) == 0xff") (const_int 0)) (and (match_test "INTVAL (operands[2]) == 0xff")
(match_operand 1 "ext_QIreg_operand" ""))) (match_operand 1 "ext_QIreg_operand" "")))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
...@@ -9130,8 +9086,7 @@ ...@@ -9130,8 +9086,7 @@
(const_string "lea") (const_string "lea")
(eq_attr "alternative" "2") (eq_attr "alternative" "2")
(const_string "ishiftx") (const_string "ishiftx")
(and (and (ne (symbol_ref "TARGET_DOUBLE_WITH_ADD") (and (and (match_test "TARGET_DOUBLE_WITH_ADD")
(const_int 0))
(match_operand 0 "register_operand" "")) (match_operand 0 "register_operand" ""))
(match_operand 2 "const1_operand" "")) (match_operand 2 "const1_operand" ""))
(const_string "alu") (const_string "alu")
...@@ -9142,8 +9097,8 @@ ...@@ -9142,8 +9097,8 @@
(ior (eq_attr "type" "alu") (ior (eq_attr "type" "alu")
(and (eq_attr "type" "ishift") (and (eq_attr "type" "ishift")
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))))) (match_test "optimize_function_for_size_p (cfun)")))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
...@@ -9201,8 +9156,7 @@ ...@@ -9201,8 +9156,7 @@
(const_string "lea") (const_string "lea")
(eq_attr "alternative" "2") (eq_attr "alternative" "2")
(const_string "ishiftx") (const_string "ishiftx")
(and (ne (symbol_ref "TARGET_DOUBLE_WITH_ADD") (and (match_test "TARGET_DOUBLE_WITH_ADD")
(const_int 0))
(match_operand 2 "const1_operand" "")) (match_operand 2 "const1_operand" ""))
(const_string "alu") (const_string "alu")
] ]
...@@ -9212,8 +9166,8 @@ ...@@ -9212,8 +9166,8 @@
(ior (eq_attr "type" "alu") (ior (eq_attr "type" "alu")
(and (eq_attr "type" "ishift") (and (eq_attr "type" "ishift")
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))))) (match_test "optimize_function_for_size_p (cfun)")))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "SI")]) (set_attr "mode" "SI")])
...@@ -9257,8 +9211,7 @@ ...@@ -9257,8 +9211,7 @@
[(set (attr "type") [(set (attr "type")
(cond [(eq_attr "alternative" "1") (cond [(eq_attr "alternative" "1")
(const_string "lea") (const_string "lea")
(and (and (ne (symbol_ref "TARGET_DOUBLE_WITH_ADD") (and (and (match_test "TARGET_DOUBLE_WITH_ADD")
(const_int 0))
(match_operand 0 "register_operand" "")) (match_operand 0 "register_operand" ""))
(match_operand 2 "const1_operand" "")) (match_operand 2 "const1_operand" ""))
(const_string "alu") (const_string "alu")
...@@ -9269,8 +9222,8 @@ ...@@ -9269,8 +9222,8 @@
(ior (eq_attr "type" "alu") (ior (eq_attr "type" "alu")
(and (eq_attr "type" "ishift") (and (eq_attr "type" "ishift")
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))))) (match_test "optimize_function_for_size_p (cfun)")))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "HI,SI")]) (set_attr "mode" "HI,SI")])
...@@ -9316,8 +9269,7 @@ ...@@ -9316,8 +9269,7 @@
[(set (attr "type") [(set (attr "type")
(cond [(eq_attr "alternative" "2") (cond [(eq_attr "alternative" "2")
(const_string "lea") (const_string "lea")
(and (and (ne (symbol_ref "TARGET_DOUBLE_WITH_ADD") (and (and (match_test "TARGET_DOUBLE_WITH_ADD")
(const_int 0))
(match_operand 0 "register_operand" "")) (match_operand 0 "register_operand" ""))
(match_operand 2 "const1_operand" "")) (match_operand 2 "const1_operand" ""))
(const_string "alu") (const_string "alu")
...@@ -9328,8 +9280,8 @@ ...@@ -9328,8 +9280,8 @@
(ior (eq_attr "type" "alu") (ior (eq_attr "type" "alu")
(and (eq_attr "type" "ishift") (and (eq_attr "type" "ishift")
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))))) (match_test "optimize_function_for_size_p (cfun)")))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "QI,SI,SI")]) (set_attr "mode" "QI,SI,SI")])
...@@ -9360,8 +9312,7 @@ ...@@ -9360,8 +9312,7 @@
} }
} }
[(set (attr "type") [(set (attr "type")
(cond [(and (and (ne (symbol_ref "TARGET_DOUBLE_WITH_ADD") (cond [(and (and (match_test "TARGET_DOUBLE_WITH_ADD")
(const_int 0))
(match_operand 0 "register_operand" "")) (match_operand 0 "register_operand" ""))
(match_operand 1 "const1_operand" "")) (match_operand 1 "const1_operand" ""))
(const_string "alu") (const_string "alu")
...@@ -9372,8 +9323,8 @@ ...@@ -9372,8 +9323,8 @@
(ior (eq_attr "type" "alu") (ior (eq_attr "type" "alu")
(and (eq_attr "type" "ishift1") (and (eq_attr "type" "ishift1")
(and (match_operand 1 "const1_operand" "") (and (match_operand 1 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))))) (match_test "optimize_function_for_size_p (cfun)")))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "QI")]) (set_attr "mode" "QI")])
...@@ -9457,8 +9408,7 @@ ...@@ -9457,8 +9408,7 @@
} }
} }
[(set (attr "type") [(set (attr "type")
(cond [(and (and (ne (symbol_ref "TARGET_DOUBLE_WITH_ADD") (cond [(and (and (match_test "TARGET_DOUBLE_WITH_ADD")
(const_int 0))
(match_operand 0 "register_operand" "")) (match_operand 0 "register_operand" ""))
(match_operand 2 "const1_operand" "")) (match_operand 2 "const1_operand" ""))
(const_string "alu") (const_string "alu")
...@@ -9469,8 +9419,8 @@ ...@@ -9469,8 +9419,8 @@
(ior (eq_attr "type" "alu") (ior (eq_attr "type" "alu")
(and (eq_attr "type" "ishift") (and (eq_attr "type" "ishift")
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))))) (match_test "optimize_function_for_size_p (cfun)")))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
...@@ -9507,8 +9457,7 @@ ...@@ -9507,8 +9457,7 @@
} }
} }
[(set (attr "type") [(set (attr "type")
(cond [(and (ne (symbol_ref "TARGET_DOUBLE_WITH_ADD") (cond [(and (match_test "TARGET_DOUBLE_WITH_ADD")
(const_int 0))
(match_operand 2 "const1_operand" "")) (match_operand 2 "const1_operand" ""))
(const_string "alu") (const_string "alu")
] ]
...@@ -9518,8 +9467,8 @@ ...@@ -9518,8 +9467,8 @@
(ior (eq_attr "type" "alu") (ior (eq_attr "type" "alu")
(and (eq_attr "type" "ishift") (and (eq_attr "type" "ishift")
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))))) (match_test "optimize_function_for_size_p (cfun)")))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "SI")]) (set_attr "mode" "SI")])
...@@ -9553,8 +9502,7 @@ ...@@ -9553,8 +9502,7 @@
} }
} }
[(set (attr "type") [(set (attr "type")
(cond [(and (and (ne (symbol_ref "TARGET_DOUBLE_WITH_ADD") (cond [(and (and (match_test "TARGET_DOUBLE_WITH_ADD")
(const_int 0))
(match_operand 0 "register_operand" "")) (match_operand 0 "register_operand" ""))
(match_operand 2 "const1_operand" "")) (match_operand 2 "const1_operand" ""))
(const_string "alu") (const_string "alu")
...@@ -9565,8 +9513,8 @@ ...@@ -9565,8 +9513,8 @@
(ior (eq_attr "type" "alu") (ior (eq_attr "type" "alu")
(and (eq_attr "type" "ishift") (and (eq_attr "type" "ishift")
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))))) (match_test "optimize_function_for_size_p (cfun)")))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
...@@ -9784,8 +9732,8 @@ ...@@ -9784,8 +9732,8 @@
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (if_then_else
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))) (match_test "optimize_function_for_size_p (cfun)")))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
...@@ -9837,8 +9785,8 @@ ...@@ -9837,8 +9785,8 @@
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (if_then_else
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))) (match_test "optimize_function_for_size_p (cfun)")))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "SI")]) (set_attr "mode" "SI")])
...@@ -9873,8 +9821,8 @@ ...@@ -9873,8 +9821,8 @@
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (if_then_else
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))) (match_test "optimize_function_for_size_p (cfun)")))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
...@@ -9899,8 +9847,8 @@ ...@@ -9899,8 +9847,8 @@
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (if_then_else
(and (match_operand 1 "const1_operand" "") (and (match_operand 1 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))) (match_test "optimize_function_for_size_p (cfun)")))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "QI")]) (set_attr "mode" "QI")])
...@@ -9934,8 +9882,8 @@ ...@@ -9934,8 +9882,8 @@
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (if_then_else
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))) (match_test "optimize_function_for_size_p (cfun)")))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
...@@ -9966,8 +9914,8 @@ ...@@ -9966,8 +9914,8 @@
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (if_then_else
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))) (match_test "optimize_function_for_size_p (cfun)")))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "SI")]) (set_attr "mode" "SI")])
...@@ -9996,8 +9944,8 @@ ...@@ -9996,8 +9944,8 @@
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (if_then_else
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))) (match_test "optimize_function_for_size_p (cfun)")))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
...@@ -10165,8 +10113,8 @@ ...@@ -10165,8 +10113,8 @@
(if_then_else (if_then_else
(and (eq_attr "type" "rotate") (and (eq_attr "type" "rotate")
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0)))) (match_test "optimize_function_for_size_p (cfun)"))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
...@@ -10231,8 +10179,8 @@ ...@@ -10231,8 +10179,8 @@
(if_then_else (if_then_else
(and (eq_attr "type" "rotate") (and (eq_attr "type" "rotate")
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0)))) (match_test "optimize_function_for_size_p (cfun)"))))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "SI")]) (set_attr "mode" "SI")])
...@@ -10279,8 +10227,8 @@ ...@@ -10279,8 +10227,8 @@
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (if_then_else
(and (match_operand 2 "const1_operand" "") (and (match_operand 2 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))) (match_test "optimize_function_for_size_p (cfun)")))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "<MODE>")]) (set_attr "mode" "<MODE>")])
...@@ -10305,8 +10253,8 @@ ...@@ -10305,8 +10253,8 @@
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (if_then_else
(and (match_operand 1 "const1_operand" "") (and (match_operand 1 "const1_operand" "")
(ne (symbol_ref "TARGET_SHIFT1 || optimize_function_for_size_p (cfun)") (ior (match_test "TARGET_SHIFT1")
(const_int 0))) (match_test "optimize_function_for_size_p (cfun)")))
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "QI")]) (set_attr "mode" "QI")])
...@@ -15781,7 +15729,7 @@ ...@@ -15781,7 +15729,7 @@
(set_attr "memory" "both") (set_attr "memory" "both")
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(ne (symbol_ref "<P:MODE>mode == DImode") (const_int 0)) (match_test "<P:MODE>mode == DImode")
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "QI")]) (set_attr "mode" "QI")])
...@@ -15957,7 +15905,7 @@ ...@@ -15957,7 +15905,7 @@
(set_attr "memory" "store") (set_attr "memory" "store")
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(ne (symbol_ref "<P:MODE>mode == DImode") (const_int 0)) (match_test "<P:MODE>mode == DImode")
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "QI")]) (set_attr "mode" "QI")])
...@@ -16023,7 +15971,7 @@ ...@@ -16023,7 +15971,7 @@
(set_attr "memory" "store") (set_attr "memory" "store")
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(ne (symbol_ref "<P:MODE>mode == DImode") (const_int 0)) (match_test "<P:MODE>mode == DImode")
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "QI")]) (set_attr "mode" "QI")])
...@@ -16143,7 +16091,7 @@ ...@@ -16143,7 +16091,7 @@
(set_attr "mode" "QI") (set_attr "mode" "QI")
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(ne (symbol_ref "<P:MODE>mode == DImode") (const_int 0)) (match_test "<P:MODE>mode == DImode")
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "prefix_rep" "1")]) (set_attr "prefix_rep" "1")])
...@@ -16183,7 +16131,7 @@ ...@@ -16183,7 +16131,7 @@
(set_attr "mode" "QI") (set_attr "mode" "QI")
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(ne (symbol_ref "<P:MODE>mode == DImode") (const_int 0)) (match_test "<P:MODE>mode == DImode")
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "prefix_rep" "1")]) (set_attr "prefix_rep" "1")])
...@@ -16224,7 +16172,7 @@ ...@@ -16224,7 +16172,7 @@
(set_attr "mode" "QI") (set_attr "mode" "QI")
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(ne (symbol_ref "<P:MODE>mode == DImode") (const_int 0)) (match_test "<P:MODE>mode == DImode")
(const_string "0") (const_string "0")
(const_string "*"))) (const_string "*")))
(set_attr "prefix_rep" "1")]) (set_attr "prefix_rep" "1")])
...@@ -16651,7 +16599,7 @@ ...@@ -16651,7 +16599,7 @@
} }
[(set (attr "type") [(set (attr "type")
(cond [(and (eq_attr "alternative" "0") (cond [(and (eq_attr "alternative" "0")
(eq (symbol_ref "TARGET_OPT_AGU") (const_int 0))) (not (match_test "TARGET_OPT_AGU")))
(const_string "alu") (const_string "alu")
(match_operand:<MODE> 2 "const0_operand" "") (match_operand:<MODE> 2 "const0_operand" "")
(const_string "imov") (const_string "imov")
......
...@@ -159,13 +159,13 @@ ...@@ -159,13 +159,13 @@
(if_then_else (if_then_else
(ior (eq_attr "alternative" "4,5") (ior (eq_attr "alternative" "4,5")
(and (eq_attr "alternative" "7") (and (eq_attr "alternative" "7")
(eq (symbol_ref "TARGET_AVX") (const_int 0)))) (not (match_test "TARGET_AVX"))))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(and (eq_attr "alternative" "8") (and (eq_attr "alternative" "8")
(eq (symbol_ref "TARGET_AVX") (const_int 0))) (not (match_test "TARGET_AVX")))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set (attr "prefix") (set (attr "prefix")
...@@ -224,7 +224,7 @@ ...@@ -224,7 +224,7 @@
(set (attr "length_vex") (set (attr "length_vex")
(if_then_else (if_then_else
(and (eq_attr "alternative" "12,13") (and (eq_attr "alternative" "12,13")
(ne (symbol_ref "TARGET_AVX") (const_int 0))) (match_test "TARGET_AVX"))
(const_string "4") (const_string "4")
(const_string "*"))) (const_string "*")))
(set (attr "prefix") (set (attr "prefix")
...@@ -1563,7 +1563,8 @@ ...@@ -1563,7 +1563,8 @@
[(set_attr "type" "mmxshft") [(set_attr "type" "mmxshft")
(set (attr "prefix_extra") (set (attr "prefix_extra")
(if_then_else (if_then_else
(eq (symbol_ref "(TARGET_SSE || TARGET_3DNOW_A)") (const_int 0)) (not (ior (match_test "TARGET_SSE")
(match_test "TARGET_3DNOW_A")))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set_attr "mode" "DI")]) (set_attr "mode" "DI")])
......
...@@ -565,7 +565,7 @@ ...@@ -565,7 +565,7 @@
(define_predicate "call_insn_operand" (define_predicate "call_insn_operand"
(ior (match_operand 0 "constant_call_address_operand") (ior (match_operand 0 "constant_call_address_operand")
(match_operand 0 "call_register_no_elim_operand") (match_operand 0 "call_register_no_elim_operand")
(and (match_test "!TARGET_X32") (and (not (match_test "TARGET_X32"))
(match_operand 0 "memory_operand")))) (match_operand 0 "memory_operand"))))
;; Similarly, but for tail calls, in which we cannot allow memory references. ;; Similarly, but for tail calls, in which we cannot allow memory references.
......
...@@ -397,15 +397,12 @@ ...@@ -397,15 +397,12 @@
[(set_attr "type" "sselog1,ssemov,ssemov") [(set_attr "type" "sselog1,ssemov,ssemov")
(set_attr "prefix" "maybe_vex") (set_attr "prefix" "maybe_vex")
(set (attr "mode") (set (attr "mode")
(cond [(ne (symbol_ref "TARGET_AVX") (const_int 0)) (cond [(match_test "TARGET_AVX")
(const_string "<sseinsnmode>") (const_string "<sseinsnmode>")
(ior (ior (ior (ior (match_test "optimize_function_for_size_p (cfun)")
(ne (symbol_ref "optimize_function_for_size_p (cfun)") (not (match_test "TARGET_SSE2")))
(const_int 0))
(eq (symbol_ref "TARGET_SSE2") (const_int 0)))
(and (eq_attr "alternative" "2") (and (eq_attr "alternative" "2")
(ne (symbol_ref "TARGET_SSE_TYPELESS_STORES") (match_test "TARGET_SSE_TYPELESS_STORES")))
(const_int 0))))
(const_string "V4SF") (const_string "V4SF")
(eq (const_string "<MODE>mode") (const_string "V4SFmode")) (eq (const_string "<MODE>mode") (const_string "V4SFmode"))
(const_string "V4SF") (const_string "V4SF")
...@@ -548,7 +545,7 @@ ...@@ -548,7 +545,7 @@
(set_attr "movu" "1") (set_attr "movu" "1")
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_AVX") (const_int 0)) (match_test "TARGET_AVX")
(const_string "*") (const_string "*")
(const_string "1"))) (const_string "1")))
(set_attr "prefix" "maybe_vex") (set_attr "prefix" "maybe_vex")
...@@ -564,12 +561,12 @@ ...@@ -564,12 +561,12 @@
(set_attr "movu" "1") (set_attr "movu" "1")
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_AVX") (const_int 0)) (match_test "TARGET_AVX")
(const_string "*") (const_string "*")
(const_string "0"))) (const_string "0")))
(set (attr "prefix_rep") (set (attr "prefix_rep")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_AVX") (const_int 0)) (match_test "TARGET_AVX")
(const_string "*") (const_string "*")
(const_string "1"))) (const_string "1")))
(set_attr "prefix" "maybe_vex") (set_attr "prefix" "maybe_vex")
...@@ -604,7 +601,7 @@ ...@@ -604,7 +601,7 @@
[(set_attr "type" "ssecvt") [(set_attr "type" "ssecvt")
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_AVX") (const_int 0)) (match_test "TARGET_AVX")
(const_string "*") (const_string "*")
(const_string "1"))) (const_string "1")))
(set_attr "prefix" "maybe_vex") (set_attr "prefix" "maybe_vex")
...@@ -2247,7 +2244,7 @@ ...@@ -2247,7 +2244,7 @@
[(set_attr "type" "ssecvt") [(set_attr "type" "ssecvt")
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_AVX") (const_int 0)) (match_test "TARGET_AVX")
(const_string "*") (const_string "*")
(const_string "1"))) (const_string "1")))
(set_attr "prefix" "maybe_vex") (set_attr "prefix" "maybe_vex")
...@@ -2270,12 +2267,12 @@ ...@@ -2270,12 +2267,12 @@
[(set_attr "type" "ssecvt") [(set_attr "type" "ssecvt")
(set (attr "prefix_rep") (set (attr "prefix_rep")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_AVX") (const_int 0)) (match_test "TARGET_AVX")
(const_string "*") (const_string "*")
(const_string "1"))) (const_string "1")))
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_AVX") (const_int 0)) (match_test "TARGET_AVX")
(const_string "*") (const_string "*")
(const_string "0"))) (const_string "0")))
(set_attr "prefix_data16" "0") (set_attr "prefix_data16" "0")
...@@ -4411,7 +4408,7 @@ ...@@ -4411,7 +4408,7 @@
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(and (eq_attr "alternative" "0") (and (eq_attr "alternative" "0")
(eq (symbol_ref "TARGET_AVX") (const_int 0))) (not (match_test "TARGET_AVX")))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set_attr "prefix" "maybe_vex,orig,vex,*,*,*") (set_attr "prefix" "maybe_vex,orig,vex,*,*,*")
...@@ -4641,7 +4638,7 @@ ...@@ -4641,7 +4638,7 @@
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(and (eq_attr "alternative" "2,4") (and (eq_attr "alternative" "2,4")
(eq (symbol_ref "TARGET_AVX") (const_int 0))) (not (match_test "TARGET_AVX")))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set_attr "length_immediate" "*,*,*,*,*,1,*,*,*") (set_attr "length_immediate" "*,*,*,*,*,1,*,*,*")
...@@ -6320,11 +6317,11 @@ ...@@ -6320,11 +6317,11 @@
(const_string "*"))) (const_string "*")))
(set_attr "prefix" "orig,vex") (set_attr "prefix" "orig,vex")
(set (attr "mode") (set (attr "mode")
(cond [(ne (symbol_ref "TARGET_AVX2") (const_int 0)) (cond [(match_test "TARGET_AVX2")
(const_string "OI") (const_string "OI")
(ne (symbol_ref "GET_MODE_SIZE (<MODE>mode) > 128") (const_int 0)) (match_test "GET_MODE_SIZE (<MODE>mode) > 128")
(const_string "V8SF") (const_string "V8SF")
(ne (symbol_ref "TARGET_SSE2") (const_int 0)) (match_test "TARGET_SSE2")
(const_string "TI") (const_string "TI")
] ]
(const_string "V4SF")))]) (const_string "V4SF")))])
...@@ -6396,11 +6393,11 @@ ...@@ -6396,11 +6393,11 @@
(const_string "*"))) (const_string "*")))
(set_attr "prefix" "orig,vex") (set_attr "prefix" "orig,vex")
(set (attr "mode") (set (attr "mode")
(cond [(ne (symbol_ref "TARGET_AVX2") (const_int 0)) (cond [(match_test "TARGET_AVX2")
(const_string "OI") (const_string "OI")
(ne (symbol_ref "GET_MODE_SIZE (<MODE>mode) > 128") (const_int 0)) (match_test "GET_MODE_SIZE (<MODE>mode) > 128")
(const_string "V8SF") (const_string "V8SF")
(ne (symbol_ref "TARGET_SSE2") (const_int 0)) (match_test "TARGET_SSE2")
(const_string "TI") (const_string "TI")
] ]
(const_string "V4SF")))]) (const_string "V4SF")))])
...@@ -6813,19 +6810,19 @@ ...@@ -6813,19 +6810,19 @@
(set_attr "type" "sselog") (set_attr "type" "sselog")
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(and (eq (symbol_ref "TARGET_AVX") (const_int 0)) (and (not (match_test "TARGET_AVX"))
(eq (const_string "<MODE>mode") (const_string "V2DImode"))) (eq (const_string "<MODE>mode") (const_string "V2DImode")))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(and (eq (symbol_ref "TARGET_AVX") (const_int 0)) (and (not (match_test "TARGET_AVX"))
(eq (const_string "<MODE>mode") (const_string "V8HImode"))) (eq (const_string "<MODE>mode") (const_string "V8HImode")))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set (attr "prefix_extra") (set (attr "prefix_extra")
(if_then_else (if_then_else
(and (eq (symbol_ref "TARGET_AVX") (const_int 0)) (and (not (match_test "TARGET_AVX"))
(eq (const_string "<MODE>mode") (const_string "V8HImode"))) (eq (const_string "<MODE>mode") (const_string "V8HImode")))
(const_string "*") (const_string "*")
(const_string "1"))) (const_string "1")))
...@@ -7495,7 +7492,7 @@ ...@@ -7495,7 +7492,7 @@
(set (attr "prefix_rex") (set (attr "prefix_rex")
(if_then_else (if_then_else
(and (eq_attr "alternative" "0,3") (and (eq_attr "alternative" "0,3")
(eq (symbol_ref "TARGET_AVX") (const_int 0))) (not (match_test "TARGET_AVX")))
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set_attr "prefix_extra" "1,1,*,*,*,*,*,*,*") (set_attr "prefix_extra" "1,1,*,*,*,*,*,*,*")
...@@ -9709,7 +9706,7 @@ ...@@ -9709,7 +9706,7 @@
[(set_attr "type" "ssecvt") [(set_attr "type" "ssecvt")
(set (attr "prefix_data16") (set (attr "prefix_data16")
(if_then_else (if_then_else
(ne (symbol_ref "TARGET_AVX") (const_int 0)) (match_test "TARGET_AVX")
(const_string "*") (const_string "*")
(const_string "1"))) (const_string "1")))
(set_attr "prefix_extra" "1") (set_attr "prefix_extra" "1")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment