Commit 52fceb44 by Sofiane Naci Committed by Sofiane Naci

arm.md (attribute "insn"): Delete values "mrs", "msr", "xtab" and "sat".

	* config/arm/arm.md (attribute "insn"): Delete values "mrs", "msr",
	"xtab" and "sat".  Move value "clz" from here to ...
	(attriubte "type"): ... here.
	(satsi_<SAT:code>): Delete "insn" attribute.
	(satsi_<SAT:code>_shift): Likewise.
	(arm_zero_extendqisi2addsi): Likewise.
	(arm_extendqisi2addsi): Likewise.
	(clzsi2): Update for attribute changes.
	(rbitsi2): Likewise.
	* config/arm/arm-fixed.md (arm_ssatsihi_shift): Delete "insn" attribute.
	(arm_usatsihi): Likewise.
	* config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute change.

From-SVN: r201025
parent 006bd006
2013-07-18 Sofiane Naci <sofiane.naci@arm.com> 2013-07-18 Sofiane Naci <sofiane.naci@arm.com>
* config/arm/arm.md (attribute "insn"): Delete values "mrs", "msr",
"xtab" and "sat". Move value "clz" from here to ...
(attriubte "type"): ... here.
(satsi_<SAT:code>): Delete "insn" attribute.
(satsi_<SAT:code>_shift): Likewise.
(arm_zero_extendqisi2addsi): Likewise.
(arm_extendqisi2addsi): Likewise.
(clzsi2): Update for attribute changes.
(rbitsi2): Likewise.
* config/arm/arm-fixed.md (arm_ssatsihi_shift): Delete "insn" attribute.
(arm_usatsihi): Likewise.
* config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute change.
2013-07-18 Sofiane Naci <sofiane.naci@arm.com>
* config/arm/arm.md (attribute "type"): Rename "simple_alu_imm" to * config/arm/arm.md (attribute "type"): Rename "simple_alu_imm" to
"arlo_imm". Rename "alu_reg" to "arlo_reg". Rename "simple_alu_shift" to "arlo_imm". Rename "alu_reg" to "arlo_reg". Rename "simple_alu_shift" to
"extend". Split "alu_shift" into "shift" and "arlo_shift". Split "extend". Split "alu_shift" into "shift" and "arlo_shift". Split
......
...@@ -383,7 +383,6 @@ ...@@ -383,7 +383,6 @@
"ssat%?\\t%0, #16, %2%S1" "ssat%?\\t%0, #16, %2%S1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "predicable_short_it" "no") (set_attr "predicable_short_it" "no")
(set_attr "insn" "sat")
(set_attr "shift" "1") (set_attr "shift" "1")
(set_attr "type" "arlo_shift")]) (set_attr "type" "arlo_shift")])
...@@ -393,5 +392,5 @@ ...@@ -393,5 +392,5 @@
"TARGET_INT_SIMD" "TARGET_INT_SIMD"
"usat%?\\t%0, #16, %1" "usat%?\\t%0, #16, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "predicable_short_it" "no") (set_attr "predicable_short_it" "no")]
(set_attr "insn" "sat")]) )
...@@ -250,7 +250,7 @@ ...@@ -250,7 +250,7 @@
;; scheduling information. ;; scheduling information.
(define_attr "insn" (define_attr "insn"
"mov,mvn,clz,mrs,msr,xtab,sat,other" "mov,mvn,other"
(const_string "other")) (const_string "other"))
; TYPE attribute is used to classify instructions for use in scheduling. ; TYPE attribute is used to classify instructions for use in scheduling.
...@@ -271,6 +271,7 @@ ...@@ -271,6 +271,7 @@
; block blockage insn, this blocks all functional units. ; block blockage insn, this blocks all functional units.
; branch branch. ; branch branch.
; call subroutine call. ; call subroutine call.
; clz count leading zeros (CLZ).
; extend extend instruction (SXTB, SXTH, UXTB, UXTH). ; extend extend instruction (SXTB, SXTH, UXTB, UXTH).
; f_2_r transfer from float to core (no memory needed). ; f_2_r transfer from float to core (no memory needed).
; f_cvt conversion between float and integral. ; f_cvt conversion between float and integral.
...@@ -412,7 +413,7 @@ ...@@ -412,7 +413,7 @@
block,\ block,\
branch,\ branch,\
call,\ call,\
complex,\ clz,\
extend,\ extend,\
f_2_r,\ f_2_r,\
f_cvt,\ f_cvt,\
...@@ -4036,8 +4037,8 @@ ...@@ -4036,8 +4037,8 @@
else else
return "usat%?\t%0, %1, %3"; return "usat%?\t%0, %1, %3";
} }
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")]
(set_attr "insn" "sat")]) )
(define_insn "*satsi_<SAT:code>_shift" (define_insn "*satsi_<SAT:code>_shift"
[(set (match_operand:SI 0 "s_register_operand" "=r") [(set (match_operand:SI 0 "s_register_operand" "=r")
...@@ -4062,7 +4063,6 @@ ...@@ -4062,7 +4063,6 @@
return "usat%?\t%0, %1, %4%S3"; return "usat%?\t%0, %1, %4%S3";
} }
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "insn" "sat")
(set_attr "shift" "3") (set_attr "shift" "3")
(set_attr "type" "arlo_shift")]) (set_attr "type" "arlo_shift")])
...@@ -5669,7 +5669,6 @@ ...@@ -5669,7 +5669,6 @@
"uxtab%?\\t%0, %2, %1" "uxtab%?\\t%0, %2, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "predicable_short_it" "no") (set_attr "predicable_short_it" "no")
(set_attr "insn" "xtab")
(set_attr "type" "arlo_shift")] (set_attr "type" "arlo_shift")]
) )
...@@ -6020,7 +6019,6 @@ ...@@ -6020,7 +6019,6 @@
"TARGET_INT_SIMD" "TARGET_INT_SIMD"
"sxtab%?\\t%0, %2, %1" "sxtab%?\\t%0, %2, %1"
[(set_attr "type" "arlo_shift") [(set_attr "type" "arlo_shift")
(set_attr "insn" "xtab")
(set_attr "predicable" "yes") (set_attr "predicable" "yes")
(set_attr "predicable_short_it" "no")] (set_attr "predicable_short_it" "no")]
) )
...@@ -12472,7 +12470,7 @@ ...@@ -12472,7 +12470,7 @@
"TARGET_32BIT && arm_arch5" "TARGET_32BIT && arm_arch5"
"clz%?\\t%0, %1" "clz%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "insn" "clz")]) (set_attr "type" "clz")])
(define_insn "rbitsi2" (define_insn "rbitsi2"
[(set (match_operand:SI 0 "s_register_operand" "=r") [(set (match_operand:SI 0 "s_register_operand" "=r")
...@@ -12480,7 +12478,7 @@ ...@@ -12480,7 +12478,7 @@
"TARGET_32BIT && arm_arch_thumb2" "TARGET_32BIT && arm_arch_thumb2"
"rbit%?\\t%0, %1" "rbit%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "insn" "clz")]) (set_attr "type" "clz")])
(define_expand "ctzsi2" (define_expand "ctzsi2"
[(set (match_operand:SI 0 "s_register_operand" "") [(set (match_operand:SI 0 "s_register_operand" "")
......
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
(ior (and (and (eq_attr "type" "arlo_imm,arlo_reg,shift,shift_reg") (ior (and (and (eq_attr "type" "arlo_imm,arlo_reg,shift,shift_reg")
(eq_attr "neon_type" "none")) (eq_attr "neon_type" "none"))
(not (eq_attr "insn" "mov,mvn"))) (not (eq_attr "insn" "mov,mvn")))
(eq_attr "insn" "clz"))) (eq_attr "type" "clz")))
"cortex_a8_default") "cortex_a8_default")
(define_insn_reservation "cortex_a8_alu_shift" 2 (define_insn_reservation "cortex_a8_alu_shift" 2
......
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