aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/predicates.md
diff options
context:
space:
mode:
authorVidya Praveen <vidyapraveen@arm.com>2013-08-27 11:50:26 +0100
committerVidya Praveen <vp@gcc.gnu.org>2013-08-27 11:50:26 +0100
commit2e100703fa86b17b9c05011fc73d0a8adf555908 (patch)
treedf24a9554d92f8cbb0f4fd25a81861117939c839 /gcc/config/aarch64/predicates.md
parent4ded82768aaa1e00d3cda62ee66f2e5cd767ceb9 (diff)
downloadgcc-2e100703fa86b17b9c05011fc73d0a8adf555908.zip
gcc-2e100703fa86b17b9c05011fc73d0a8adf555908.tar.gz
gcc-2e100703fa86b17b9c05011fc73d0a8adf555908.tar.bz2
aarch64.md (unspec): Add UNSPEC_SISD_SSHL...
gcc/ 2013-08-27 Vidya Praveen <vidyapraveen@arm.com> * config/aarch64/aarch64.md (unspec): Add UNSPEC_SISD_SSHL, UNSPEC_SISD_USHL, UNSPEC_USHL_2S, UNSPEC_SSHL_2S, UNSPEC_SISD_NEG. (<optab><mode>3_insn): Remove. (aarch64_ashl_sisd_or_int_<mode>3): New Pattern. (aarch64_lshr_sisd_or_int_<mode>3): Likewise. (aarch64_ashr_sisd_or_int_<mode>3): Likewise. (define_split for aarch64_lshr_sisd_or_int_di3): Likewise. (define_split for aarch64_lshr_sisd_or_int_si3): Likewise. (define_split for aarch64_ashr_sisd_or_int_di3): Likewise. (define_split for aarch64_ashr_sisd_or_int_si3): Likewise. (aarch64_sisd_ushl, aarch64_sisd_sshl): Likewise. (aarch64_ushl_2s, aarch64_sshl_2s, aarch64_sisd_neg_qi): Likewise. (ror<mode>3_insn): Likewise. * config/aarch64/predicates.md (aarch64_simd_register): New. gcc/testsuite/ 2013-08-27 Vidya Praveen <vidyapraveen@arm.com> * gcc.target/aarch64/scalar_shift_1.c: New. From-SVN: r202020
Diffstat (limited to 'gcc/config/aarch64/predicates.md')
-rw-r--r--gcc/config/aarch64/predicates.md5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/config/aarch64/predicates.md b/gcc/config/aarch64/predicates.md
index 3e2b6b3..dbc9082 100644
--- a/gcc/config/aarch64/predicates.md
+++ b/gcc/config/aarch64/predicates.md
@@ -26,6 +26,11 @@
&& GET_MODE_CLASS (GET_MODE (op)) == MODE_CC"))))
)
+(define_predicate "aarch64_simd_register"
+ (and (match_code "reg")
+ (ior (match_test "REGNO_REG_CLASS (REGNO (op)) == FP_LO_REGS")
+ (match_test "REGNO_REG_CLASS (REGNO (op)) == FP_REGS"))))
+
(define_predicate "aarch64_reg_or_zero"
(and (match_code "reg,subreg,const_int")
(ior (match_operand 0 "register_operand")