Hi,
PR51819 is a case where we were actually putting out alignment hints
for the wrong memory size. The attached patch corrects this and
another latent issue that I spotted.
Committed after testing on arm-linux-gnueabi with Neon configurations.
cheers
Ramana
2012-01-20 Ramana Radhakrishnan <[email protected]>
PR target/51819
* config/arm/arm.c (arm_print_operand): Correct output of alignment
hints for neon loads and stores.
Index: gcc/config/arm/arm.c
===================================================================
--- gcc/config/arm/arm.c (revision 183333)
+++ gcc/config/arm/arm.c (working copy)
@@ -17711,9 +17711,9 @@
/* 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;