Patchwork [ARM] Fix PR51819.

login
register
mail settings
Submitter Ulrich Weigand
Date April 16, 2012, 3:52 p.m.
Message ID <201204161552.q3GFq1Jv010362@d06av02.portsmouth.uk.ibm.com>
Download mbox | patch
Permalink /patch/152910/
State New
Headers show

Comments

Ulrich Weigand - April 16, 2012, 3:52 p.m.
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.

Patch

=== 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;