arm.md (attribute "insn"): Delete values "mrs", "msr", "xtab" and "sat".
authorSofiane Naci <sofiane.naci@arm.com>
Thu, 18 Jul 2013 09:16:05 +0000 (09:16 +0000)
committerSofiane Naci <sofiane@gcc.gnu.org>
Thu, 18 Jul 2013 09:16:05 +0000 (09:16 +0000)
* 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

gcc/ChangeLog
gcc/config/arm/arm-fixed.md
gcc/config/arm/arm.md
gcc/config/arm/cortex-a8.md

index f77bae41c8b713b3a99c23bd318c7be0a7a4f820..5d65d181d493b640ee8fd3ca00bdfd40fdefe56c 100644 (file)
@@ -1,3 +1,18 @@
+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
index 82a7add9f3ea825d7ca83e2d9ce48efaa2b0597e..474100cdf92e5aa59bd6712940ff8a2516b70c75 100644 (file)
   "ssat%?\\t%0, #16, %2%S1"
   [(set_attr "predicable" "yes")
    (set_attr "predicable_short_it" "no")
-   (set_attr "insn" "sat")
    (set_attr "shift" "1")
    (set_attr "type" "arlo_shift")])
 
   "TARGET_INT_SIMD"
   "usat%?\\t%0, #16, %1"
   [(set_attr "predicable" "yes")
-   (set_attr "predicable_short_it" "no")
-   (set_attr "insn" "sat")])
+   (set_attr "predicable_short_it" "no")]
+)
index 52b61d66e9d1b5ada83cec461b58530dfa5a9673..e7eb428e44ac606ae3323464dcde18986fb08359 100644 (file)
 ;; scheduling information.
 
 (define_attr "insn"
-        "mov,mvn,clz,mrs,msr,xtab,sat,other"
+        "mov,mvn,other"
         (const_string "other"))
 
 ; TYPE attribute is used to classify instructions for use in scheduling.
 ; block              blockage insn, this blocks all functional units.
 ; branch             branch.
 ; call               subroutine call.
+; clz                count leading zeros (CLZ).
 ; extend             extend instruction (SXTB, SXTH, UXTB, UXTH).
 ; f_2_r              transfer from float to core (no memory needed).
 ; f_cvt              conversion between float and integral.
   block,\
   branch,\
   call,\
-  complex,\
+  clz,\
   extend,\
   f_2_r,\
   f_cvt,\
   else
     return "usat%?\t%0, %1, %3";
 }
-  [(set_attr "predicable" "yes")
-   (set_attr "insn" "sat")])
+  [(set_attr "predicable" "yes")]
+)
 
 (define_insn "*satsi_<SAT:code>_shift"
   [(set (match_operand:SI 0 "s_register_operand" "=r")
     return "usat%?\t%0, %1, %4%S3";
 }
   [(set_attr "predicable" "yes")
-   (set_attr "insn" "sat")
    (set_attr "shift" "3")
    (set_attr "type" "arlo_shift")])
 \f
   "uxtab%?\\t%0, %2, %1"
   [(set_attr "predicable" "yes")
    (set_attr "predicable_short_it" "no")
-   (set_attr "insn" "xtab")
    (set_attr "type" "arlo_shift")]
 )
 
   "TARGET_INT_SIMD"
   "sxtab%?\\t%0, %2, %1"
   [(set_attr "type" "arlo_shift")
-   (set_attr "insn" "xtab")
    (set_attr "predicable" "yes")
    (set_attr "predicable_short_it" "no")]
 )
   "TARGET_32BIT && arm_arch5"
   "clz%?\\t%0, %1"
   [(set_attr "predicable" "yes")
-   (set_attr "insn" "clz")])
+   (set_attr "type" "clz")])
 
 (define_insn "rbitsi2"
   [(set (match_operand:SI 0 "s_register_operand" "=r")
   "TARGET_32BIT && arm_arch_thumb2"
   "rbit%?\\t%0, %1"
   [(set_attr "predicable" "yes")
-   (set_attr "insn" "clz")])
+   (set_attr "type" "clz")])
 
 (define_expand "ctzsi2"
  [(set (match_operand:SI           0 "s_register_operand" "")
index 067ff1c8b1ee2c0048a5cf0592ea8c8dea4fe60f..65a975008261013d609b4f40fa2f09ff1711ca60 100644 (file)
@@ -88,7 +88,7 @@
        (ior (and (and (eq_attr "type" "arlo_imm,arlo_reg,shift,shift_reg")
                      (eq_attr "neon_type" "none"))
                 (not (eq_attr "insn" "mov,mvn")))
-            (eq_attr "insn" "clz")))
+            (eq_attr "type" "clz")))
   "cortex_a8_default")
 
 (define_insn_reservation "cortex_a8_alu_shift" 2