[Patch ARM] Fix PR51819.

Ulrich Weigand uweigand@de.ibm.com
Mon Apr 16 15:52:00 GMT 2012


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.weigand@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.Weigand@de.ibm.com



More information about the Gcc-patches mailing list