Re: [Patch ARM] Fix PR51819.

2012-04-16 Thread Ramana Radhakrishnan
Hi Uli,

Apologies for the delayed response.


 Shouldn't the check be implemented along the following lines?

        if (memsize == 32  (align % 32) == 0)
          align_bits = 256;
        else if ((memsize == 16 || memsize == 32)  (align % 16) == 0)
          align_bits = 128;
        else if (memsize = 8  (align % 8) == 0)
          align_bits = 64;
        else
          align_bits = 0;

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 .

regards,
Ramana




 Bye,
 Ulrich

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



Re: [Patch ARM] Fix PR51819.

2012-04-16 Thread Ulrich Weigand
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.c2012-03-29 10:35:24 +
+++ gcc/config/arm/arm.c2012-03-31 15:29:54 +
@@ -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