aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKugan Vivekanandarajah <kuganv@linaro.org>2016-01-12 00:40:54 +0000
committerKugan Vivekanandarajah <kugan@gcc.gnu.org>2016-01-12 00:40:54 +0000
commit27b1820af071afdf213223afc666c91fd231cee7 (patch)
tree0a8cffa3bcea2a2223255134fd6efbe3567b4a6c /gcc
parentcf4de6af251d35f7b5a416dca9a6642d89016abf (diff)
downloadgcc-27b1820af071afdf213223afc666c91fd231cee7.zip
gcc-27b1820af071afdf213223afc666c91fd231cee7.tar.gz
gcc-27b1820af071afdf213223afc666c91fd231cee7.tar.bz2
re PR target/69194 (internal compiler error: in extract_insn, at recog.c:2286)
gcc/ChangeLog: 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org> Jim Wilson <jim.wilson@linaro.org> PR target/69194 * config/arm/arm-builtins.c (arm_expand_neon_args): Call copy_to_mode_reg instead of force_reg. gcc/testsuite/ChangeLog: 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org> Jim Wilson <jim.wilson@linaro.org> PR target/69194 * gcc.target/arm/pr69194.c: New test. Co-Authored-By: Jim Wilson <jim.wilson@linaro.org> From-SVN: r232251
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/arm/arm-builtins.c3
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/arm/pr69194.c13
4 files changed, 28 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 24763e2..5c99e3d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
+ Jim Wilson <jim.wilson@linaro.org>
+
+ PR target/69194
+ * config/arm/arm-builtins.c (arm_expand_neon_args): Call
+ copy_to_mode_reg instead of force_reg.
+
2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
PR target/69225
diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c
index 283a294..835851f 100644
--- a/gcc/config/arm/arm-builtins.c
+++ b/gcc/config/arm/arm-builtins.c
@@ -2146,7 +2146,8 @@ constant_arg:
if (!(*insn_data[icode].operand[opno].predicate)
(op[argc], mode[argc]))
op[argc] = (replace_equiv_address
- (op[argc], force_reg (Pmode, XEXP (op[argc], 0))));
+ (op[argc],
+ copy_to_mode_reg (Pmode, XEXP (op[argc], 0))));
break;
case NEON_ARG_STOP:
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f789ea6..8b73430 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
+ Jim Wilson <jim.wilson@linaro.org>
+
+ PR target/69194
+ * gcc.target/arm/pr69194.c: New test.
+
2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
PR target/69225
diff --git a/gcc/testsuite/gcc.target/arm/pr69194.c b/gcc/testsuite/gcc.target/arm/pr69194.c
new file mode 100644
index 0000000..477d5f9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr69194.c
@@ -0,0 +1,13 @@
+/* PR target/69194 */
+/* { dg-do-compile } */
+/* { dg-require-effective-target arm_neon_ok } */
+/* { dg-options "-O2" } */
+/* { dg-add-options arm_neon } */
+
+typedef __simd128_float32_t float32x4_t;
+
+float32x4_t
+sub (float32x4_t a, float32x4_t b, float32x4_t c, float32x4_t d, float32x4_t e)
+{
+ return __builtin_neon_vld1v4sf((const float *)&e);
+}