diff options
author | Ulrich Weigand <ulrich.weigand@linaro.org> | 2012-04-16 15:19:43 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2012-04-16 15:19:43 +0000 |
commit | d6cb05db2ecffff53e2b9f5c291e7aed3bbf59ac (patch) | |
tree | a0468132a5b9bd92345d9f8fe921d28f196247a7 | |
parent | 034a3fcd14c3ef9adfcb632a5316dd802e9b7ef3 (diff) | |
download | gcc-d6cb05db2ecffff53e2b9f5c291e7aed3bbf59ac.zip gcc-d6cb05db2ecffff53e2b9f5c291e7aed3bbf59ac.tar.gz gcc-d6cb05db2ecffff53e2b9f5c291e7aed3bbf59ac.tar.bz2 |
re PR target/51819 (Neon wrong code generation, Error: unsupported alignment for instruction -- `vst1.32 {d2[0]},[r0:64]')
2012-04-16 Ulrich Weigand <ulrich.weigand@linaro.org>
PR target/51819
* config/arm/arm.c (arm_print_operand): Fix invalid alignment
hints for 'A' operand types.
From-SVN: r186498
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a2f6461..38df9e7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-04-16 Ulrich Weigand <ulrich.weigand@linaro.org> + + PR target/51819 + * config/arm/arm.c (arm_print_operand): Fix invalid alignment + hints for 'A' operand types. + 2012-04-16 Jan Hubicka <jh@suse.cz> * cgraph.h (symtab_node_base): Add next and previous pointers. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 5522fc1..2cecf45 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -17877,9 +17877,9 @@ arm_print_operand (FILE *stream, rtx x, int code) 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; |