Commit b75b1be2 by Richard Sandiford Committed by Richard Sandiford

arm.md: Use match_test rather than eq/ne symbol_ref throughout file.

gcc/
	* config/arm/arm.md: Use match_test rather than eq/ne symbol_ref
	throughout file.
	* config/arm/neon.md: Likewise.
	* config/arm/vfp.md: Likewise.
	* config/arm/thumb2.md: Likewise.
	* config/arm/cortex-m4.md: Likewise.

From-SVN: r178821
parent 280deda6
2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
* config/arm/arm.md: Use match_test rather than eq/ne symbol_ref
throughout file.
* config/arm/neon.md: Likewise.
* config/arm/vfp.md: Likewise.
* config/arm/thumb2.md: Likewise.
* config/arm/cortex-m4.md: Likewise.
2011-09-13 Sevak Sargsyan <sevak.sargsyan@ispras.ru>
* config/arm/neon.md (neon_vabd<mode>_2, neon_vabd<mode>_3): New
......@@ -211,31 +211,31 @@
(const_string "yes")
(and (eq_attr "arch" "a")
(ne (symbol_ref "TARGET_ARM") (const_int 0)))
(match_test "TARGET_ARM"))
(const_string "yes")
(and (eq_attr "arch" "t")
(ne (symbol_ref "TARGET_THUMB") (const_int 0)))
(match_test "TARGET_THUMB"))
(const_string "yes")
(and (eq_attr "arch" "t1")
(ne (symbol_ref "TARGET_THUMB1") (const_int 0)))
(match_test "TARGET_THUMB1"))
(const_string "yes")
(and (eq_attr "arch" "t2")
(ne (symbol_ref "TARGET_THUMB2") (const_int 0)))
(match_test "TARGET_THUMB2"))
(const_string "yes")
(and (eq_attr "arch" "32")
(ne (symbol_ref "TARGET_32BIT") (const_int 0)))
(match_test "TARGET_32BIT"))
(const_string "yes")
(and (eq_attr "arch" "v6")
(ne (symbol_ref "(TARGET_32BIT && arm_arch6)") (const_int 0)))
(match_test "TARGET_32BIT && arm_arch6"))
(const_string "yes")
(and (eq_attr "arch" "nov6")
(ne (symbol_ref "(TARGET_32BIT && !arm_arch6)") (const_int 0)))
(match_test "TARGET_32BIT && !arm_arch6"))
(const_string "yes")
(and (eq_attr "arch" "onlya8")
......@@ -7413,7 +7413,7 @@
(set_attr "type" "branch")
(set (attr "length")
(if_then_else
(and (ne (symbol_ref "TARGET_THUMB2") (const_int 0))
(and (match_test "TARGET_THUMB2")
(and (ge (minus (match_dup 0) (pc)) (const_int -250))
(le (minus (match_dup 0) (pc)) (const_int 256))))
(const_int 2)
......@@ -7439,7 +7439,7 @@
(set_attr "type" "branch")
(set (attr "length")
(if_then_else
(and (ne (symbol_ref "TARGET_THUMB2") (const_int 0))
(and (match_test "TARGET_THUMB2")
(and (ge (minus (match_dup 0) (pc)) (const_int -250))
(le (minus (match_dup 0) (pc)) (const_int 256))))
(const_int 2)
......@@ -7898,7 +7898,7 @@
[(set_attr "predicable" "yes")
(set (attr "length")
(if_then_else
(and (ne (symbol_ref "TARGET_THUMB2") (const_int 0))
(and (match_test "TARGET_THUMB2")
(and (ge (minus (match_dup 0) (pc)) (const_int -2044))
(le (minus (match_dup 0) (pc)) (const_int 2048))))
(const_int 2)
......
......@@ -44,14 +44,14 @@
(define_insn_reservation "cortex_m4_store1_1" 1
(and (and (eq_attr "tune" "cortexm4")
(eq_attr "type" "store1"))
(ne (symbol_ref ("arm_address_offset_is_imm (insn)")) (const_int 0)))
(match_test "arm_address_offset_is_imm (insn)"))
"cortex_m4_a")
;; Other byte, half-word and word load is two cycles.
(define_insn_reservation "cortex_m4_store1_2" 2
(and (and (eq_attr "tune" "cortexm4")
(eq_attr "type" "store1"))
(eq (symbol_ref ("arm_address_offset_is_imm (insn)")) (const_int 0)))
(not (match_test "arm_address_offset_is_imm (insn)")))
"cortex_m4_a*2")
(define_insn_reservation "cortex_m4_load2" 3
......
......@@ -951,7 +951,7 @@
(if_then_else
(and (ge (minus (match_dup 1) (pc)) (const_int 2))
(le (minus (match_dup 1) (pc)) (const_int 128))
(eq (symbol_ref ("which_alternative")) (const_int 0)))
(not (match_test "which_alternative")))
(const_int 2)
(const_int 8)))]
)
......@@ -974,7 +974,7 @@
(if_then_else
(and (ge (minus (match_dup 1) (pc)) (const_int 2))
(le (minus (match_dup 1) (pc)) (const_int 128))
(eq (symbol_ref ("which_alternative")) (const_int 0)))
(not (match_test "which_alternative")))
(const_int 2)
(const_int 8)))]
)
......
......@@ -173,7 +173,7 @@
(eq_attr "alternative" "3") (const_int 16)
(eq_attr "alternative" "9")
(if_then_else
(eq (symbol_ref "TARGET_VFP_SINGLE") (const_int 1))
(match_test "TARGET_VFP_SINGLE")
(const_int 8)
(const_int 4))]
(const_int 4)))
......@@ -454,8 +454,7 @@
(set (attr "length") (cond [(eq_attr "alternative" "5,6,8") (const_int 8)
(eq_attr "alternative" "7")
(if_then_else
(eq (symbol_ref "TARGET_VFP_SINGLE")
(const_int 1))
(match_test "TARGET_VFP_SINGLE")
(const_int 8)
(const_int 4))]
(const_int 4)))
......@@ -498,8 +497,7 @@
(set (attr "length") (cond [(eq_attr "alternative" "5,6,8") (const_int 8)
(eq_attr "alternative" "7")
(if_then_else
(eq (symbol_ref "TARGET_VFP_SINGLE")
(const_int 1))
(match_test "TARGET_VFP_SINGLE")
(const_int 8)
(const_int 4))]
(const_int 4)))
......
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