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  <ramana.radhakrish...@linaro.org>

        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;

Reply via email to