aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamana Radhakrishnan <ramana.radhakrishnan@linaro.org>2012-01-20 13:24:47 +0000
committerRamana Radhakrishnan <ramana@gcc.gnu.org>2012-01-20 13:24:47 +0000
commit3675f54bd95dbb1071ec824a51860aa5c7679ea9 (patch)
tree2d175698bb4280ac51bb9639466f33c5f6bc970f
parent542bf446b9a47286ff5b597e16d6fd3b1c313f2d (diff)
downloadgcc-3675f54bd95dbb1071ec824a51860aa5c7679ea9.zip
gcc-3675f54bd95dbb1071ec824a51860aa5c7679ea9.tar.gz
gcc-3675f54bd95dbb1071ec824a51860aa5c7679ea9.tar.bz2
re PR target/51819 (Neon wrong code generation, Error: unsupported alignment for instruction -- `vst1.32 {d2[0]},[r0:64]')
Fix PR target/51819 From-SVN: r183338
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a2aba48..940e361f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/51819
+ * config/arm/arm.c (arm_print_operand): Correct output of alignment
+ hints for neon loads and stores.
+
2012-01-20 Georg-Johann Lay <avr@gjlay.de>
PR target/49868
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 64ee6ae..f6b3412 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -17711,9 +17711,9 @@ arm_print_operand (FILE *stream, rtx x, int code)
/* Only certain alignment specifiers are supported by the hardware. */
if (memsize == 16 && (align % 32) == 0)
align_bits = 256;
- else if ((memsize == 8 || memsize == 16) && (align % 16) == 0)
+ else if (memsize == 16 && (align % 16) == 0)
align_bits = 128;
- else if ((align % 8) == 0)
+ else if (memsize >= 8 && (align % 8) == 0)
align_bits = 64;
else
align_bits = 0;