aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2014-07-22 13:35:42 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2014-07-22 13:35:42 +0000
commitdfc98d99b6f294fbe2cb8d8d2324560ebeb8dbed (patch)
tree35b9a8110ee6a49fb845c8dbf0b953a5192dbadc
parent9f1da4c35a86a832122131c143fccf4231308869 (diff)
downloadgcc-dfc98d99b6f294fbe2cb8d8d2324560ebeb8dbed.zip
gcc-dfc98d99b6f294fbe2cb8d8d2324560ebeb8dbed.tar.gz
gcc-dfc98d99b6f294fbe2cb8d8d2324560ebeb8dbed.tar.bz2
[AArch64][1/2] Remove UNSPEC_CLS and use clrsb RTL code in its' place.
* config/aarch64/aarch64.md: Delete UNSPEC_CLS. (clrsb<mode>2): Use clrsb RTL code instead of UNSPEC_CLS. From-SVN: r212912
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/aarch64/aarch64.md3
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2d7f1e0..5c972bb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ * config/aarch64/aarch64.md: Delete UNSPEC_CLS.
+ (clrsb<mode>2): Use clrsb RTL code instead of UNSPEC_CLS.
+
+2014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
* config/aarch64/arm_neon.h (vbsl_f64): New intrinsic.
2014-07-22 Roman Gareev <gareevroman@gmail.com>
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 042a3b5..0adec11 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -67,7 +67,6 @@
(define_c_enum "unspec" [
UNSPEC_CASESI
- UNSPEC_CLS
UNSPEC_CRC32B
UNSPEC_CRC32CB
UNSPEC_CRC32CH
@@ -2863,7 +2862,7 @@
(define_insn "clrsb<mode>2"
[(set (match_operand:GPI 0 "register_operand" "=r")
- (unspec:GPI [(match_operand:GPI 1 "register_operand" "r")] UNSPEC_CLS))]
+ (clrsb:GPI (match_operand:GPI 1 "register_operand" "r")))]
""
"cls\\t%<w>0, %<w>1"
[(set_attr "type" "clz")]