From 3675f54bd95dbb1071ec824a51860aa5c7679ea9 Mon Sep 17 00:00:00 2001 From: Ramana Radhakrishnan Date: Fri, 20 Jan 2012 13:24:47 +0000 Subject: re PR target/51819 (Neon wrong code generation, Error: unsupported alignment for instruction -- `vst1.32 {d2[0]},[r0:64]') Fix PR target/51819 From-SVN: r183338 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/arm.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a2aba48..940e361f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-01-20 Ramana Radhakrishnan + + PR target/51819 + * config/arm/arm.c (arm_print_operand): Correct output of alignment + hints for neon loads and stores. + 2012-01-20 Georg-Johann Lay PR target/49868 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 64ee6ae..f6b3412 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -17711,9 +17711,9 @@ arm_print_operand (FILE *stream, rtx x, int code) /* Only certain alignment specifiers are supported by the hardware. */ if (memsize == 16 && (align % 32) == 0) align_bits = 256; - else if ((memsize == 8 || memsize == 16) && (align % 16) == 0) + else if (memsize == 16 && (align % 16) == 0) align_bits = 128; - else if ((align % 8) == 0) + else if (memsize >= 8 && (align % 8) == 0) align_bits = 64; else align_bits = 0; -- cgit v1.1