Hi James,

On 19/06/14 14:12, James Greenhalgh wrote:
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
>index 
266d7873a5a1b8dbb7f955c3f13cf370920a9c4a..7c5b5a566ebfd907b83b38eed2e214738e7e9bd4 
100644
>--- a/gcc/config/aarch64/aarch64.md
>+++ b/gcc/config/aarch64/aarch64.md
>@@ -1068,16 +1068,17 @@ (define_expand "add<mode>3"
> > (define_insn "*addsi3_aarch64"
>    [(set
>-    (match_operand:SI 0 "register_operand" "=rk,rk,rk")
>+    (match_operand:SI 0 "register_operand" "=rk,rk,w,rk")
>      (plus:SI
>-     (match_operand:SI 1 "register_operand" "%rk,rk,rk")
>-     (match_operand:SI 2 "aarch64_plus_operand" "I,r,J")))]
>+     (match_operand:SI 1 "register_operand" "%rk,rk,w,rk")
>+     (match_operand:SI 2 "aarch64_plus_operand" "I,r,w,J")))]
>    ""
>    "@
>    add\\t%w0, %w1, %2
>    add\\t%w0, %w1, %w2
>+  add\\t%0.2s, %1.2s, %2.2s
>    sub\\t%w0, %w1, #%n2"
>-  [(set_attr "type" "alu_imm,alu_reg,alu_imm")]
>+  [(set_attr "type" "alu_imm,alu_reg,neon_add,alu_imm")]
>  )
>
Minor nit, you should set the "simd" attribute to yes for the added alternative to make sure it doesn't get selected when !TARGET_SIMD

Thanks,
Kyrill

Reply via email to