49 lines
1.4 KiB
Diff
49 lines
1.4 KiB
Diff
Upstream-Status: Inappropriate [Backport]
|
|
From 2fe380ffa4f1ca0fba1e4915df127992eb977569 Mon Sep 17 00:00:00 2001
|
|
From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
Date: Mon, 28 Mar 2011 10:22:57 +0000
|
|
Subject: [PATCH 015/200] gcc/
|
|
PR target/47553
|
|
* config/arm/predicates.md (neon_lane_number): Accept 0..15.
|
|
|
|
gcc/testsuite/
|
|
PR target/47553
|
|
* gcc.target/arm/neon-vld-1.c: New test.
|
|
|
|
|
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171596 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
index 399938f..40ce1f3 100644
|
|
--- a/gcc/config/arm/predicates.md
|
|
+++ b/gcc/config/arm/predicates.md
|
|
@@ -610,7 +610,7 @@
|
|
;; TODO: We could check lane numbers more precisely based on the mode.
|
|
(define_predicate "neon_lane_number"
|
|
(and (match_code "const_int")
|
|
- (match_test "INTVAL (op) >= 0 && INTVAL (op) <= 7")))
|
|
+ (match_test "INTVAL (op) >= 0 && INTVAL (op) <= 15")))
|
|
;; Predicates for named expanders that overlap multiple ISAs.
|
|
|
|
(define_predicate "cmpdi_operand"
|
|
new file mode 100644
|
|
index 0000000..f6bf691
|
|
--- /dev/null
|
|
+++ b/gcc/testsuite/gcc.target/arm/neon-vld-1.c
|
|
@@ -0,0 +1,13 @@
|
|
+/* { dg-do compile } */
|
|
+/* { dg-require-effective-target arm_neon_ok } */
|
|
+/* { dg-options "-O1" } */
|
|
+/* { dg-add-options arm_neon } */
|
|
+
|
|
+#include <arm_neon.h>
|
|
+
|
|
+uint8x16_t
|
|
+foo (uint8_t *a, uint8x16_t b)
|
|
+{
|
|
+ vst1q_lane_u8 (a, b, 14);
|
|
+ return vld1q_lane_u8 (a + 0x100, b, 15);
|
|
+}
|
|
--
|
|
1.7.0.4
|
|
|