Hi,
This patch fixes shift right pattern, as it failed on -O0 after shift
right patch. The reason was unnecessary movement of immediate value to
a register due to type mismatch.
Patch is tested not to cause any additional regressions.
Could someone, please, approve and commit this patch, as I do not have
the rights to do so?

Kind regards,
Alex

2014-01-28  Alex Velenko  <alex.vele...@arm.com>

gcc/

        * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): Fixed.
diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
index 7378da9122d550f869c3e830e3e5a7681e7581f6..4dffb59e856aeaafb79007255d3b91a73ef1ef13 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -689,7 +689,7 @@
 (define_expand "aarch64_ashr_simddi"
   [(match_operand:DI 0 "register_operand" "=w")
    (match_operand:DI 1 "register_operand" "w")
-   (match_operand:QI 2 "aarch64_shift_imm64_di" "")]
+   (match_operand:SI 2 "aarch64_shift_imm64_di" "")]
   "TARGET_SIMD"
   {
     if (INTVAL (operands[2]) == 64)

Reply via email to