Ramana Radhakrishnan wrote:

> This looks OK to me. Looking at the ISA documents and the variants of
> the vldn instructions your summary is correct. The alignment specifier
> should not be greater than the memory size being transferred and
> checking this in this form is OK .

Thanks, Ramana!  I've checked in the following patch.

Bye,
Ulrich


2012-04-16  Ulrich Weigand  <ulrich.weig...@linaro.org>

        * config/arm/arm.c (arm_print_operand): Fix invalid alignment
        hints for 'A' operand types.

=== modified file 'gcc/config/arm/arm.c'
--- gcc/config/arm/arm.c        2012-03-29 10:35:24 +0000
+++ gcc/config/arm/arm.c        2012-03-31 15:29:54 +0000
@@ -17880,9 +17880,9 @@
        memsize = MEM_SIZE (x);
 
        /* Only certain alignment specifiers are supported by the hardware.  */
-       if (memsize == 16 && (align % 32) == 0)
+       if (memsize == 32 && (align % 32) == 0)
          align_bits = 256;
-       else if (memsize == 16 && (align % 16) == 0)
+       else if ((memsize == 16 || memsize == 32) && (align % 16) == 0)
          align_bits = 128;
        else if (memsize >= 8 && (align % 8) == 0)
          align_bits = 64;


-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  ulrich.weig...@de.ibm.com

Reply via email to