[Patch 2/2][AArch64]Split insn type alu_reg into alu_sreg and alu_dsp_reg
Richard Earnshaw
rearnsha@arm.com
Fri Jul 11 10:28:00 GMT 2014
On 10/07/14 09:06, Terry Guo wrote:
> Hi there,
>
> As the second and final patch in this series, it intends to update alu_reg
> and alus_reg types for AArch64 port. With this change, the gcc can be
> successfully built for AArch64. Is it OK to trunk?
>
> BR,
> Terry
>
> 2014-07-10 Terry Guo <terry.guo@arm.com>
>
> * config/aarch64/aarch64.md (*addsi3_aarch64, *addsi3_aarch64_uxtw,
> subsi3, *adddi3_aarch64, *subsi3_uxtw, subdi3, absdi2, neg<mode>2,
> add_losym_<mode>, *negsi2_uxtw, tlsle_small_<mode>): Rename type
> alu_reg
> to alu_sreg.
> (add<mode>3_compare0, *addsi3_compare0_uxtw, *add<mode>3nr_compare0,
> sub<mode>3_compare0, *compare_neg<mode>, *neg<mode>2_compare0,
> subsi3_compare0_uxtw, *negsi2_compare0_uxtw, *cmp<mode>): Rename type
> alus_reg to alus_sreg.
>
>
OK. As mentioned in the other thread, please commit both patches in a
single commit.
R.
> aarch64-new-insn-type-v1.txt
>
>
> diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
> index 3eb783c..76d8cd3 100644
> --- a/gcc/config/aarch64/aarch64.md
> +++ b/gcc/config/aarch64/aarch64.md
> @@ -1167,7 +1167,7 @@
> 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,neon_add,alu_imm")
> + [(set_attr "type" "alu_imm,alu_sreg,neon_add,alu_imm")
> (set_attr "simd" "*,*,yes,*")]
> )
>
> @@ -1183,7 +1183,7 @@
> add\\t%w0, %w1, %2
> add\\t%w0, %w1, %w2
> sub\\t%w0, %w1, #%n2"
> - [(set_attr "type" "alu_imm,alu_reg,alu_imm")]
> + [(set_attr "type" "alu_imm,alu_sreg,alu_imm")]
> )
>
> (define_insn "*adddi3_aarch64"
> @@ -1198,7 +1198,7 @@
> add\\t%x0, %x1, %x2
> sub\\t%x0, %x1, #%n2
> add\\t%d0, %d1, %d2"
> - [(set_attr "type" "alu_imm,alu_reg,alu_imm,alu_reg")
> + [(set_attr "type" "alu_imm,alu_sreg,alu_imm,alu_sreg")
> (set_attr "simd" "*,*,*,yes")]
> )
>
> @@ -1234,7 +1234,7 @@
> adds\\t%<w>0, %<w>1, %<w>2
> adds\\t%<w>0, %<w>1, %<w>2
> subs\\t%<w>0, %<w>1, #%n2"
> - [(set_attr "type" "alus_reg,alus_imm,alus_imm")]
> + [(set_attr "type" "alus_sreg,alus_imm,alus_imm")]
> )
>
> ;; zero_extend version of above
> @@ -1251,7 +1251,7 @@
> adds\\t%w0, %w1, %w2
> adds\\t%w0, %w1, %w2
> subs\\t%w0, %w1, #%n2"
> - [(set_attr "type" "alus_reg,alus_imm,alus_imm")]
> + [(set_attr "type" "alus_sreg,alus_imm,alus_imm")]
> )
>
> (define_insn "*adds_mul_imm_<mode>"
> @@ -1365,7 +1365,7 @@
> cmn\\t%<w>0, %<w>1
> cmn\\t%<w>0, %<w>1
> cmp\\t%<w>0, #%n1"
> - [(set_attr "type" "alus_reg,alus_imm,alus_imm")]
> + [(set_attr "type" "alus_sreg,alus_imm,alus_imm")]
> )
>
> (define_insn "*compare_neg<mode>"
> @@ -1375,7 +1375,7 @@
> (match_operand:GPI 1 "register_operand" "r")))]
> ""
> "cmn\\t%<w>1, %<w>0"
> - [(set_attr "type" "alus_reg")]
> + [(set_attr "type" "alus_sreg")]
> )
>
> (define_insn "*add_<shift>_<mode>"
> @@ -1647,7 +1647,7 @@
> (match_operand:SI 2 "register_operand" "r")))]
> ""
> "sub\\t%w0, %w1, %w2"
> - [(set_attr "type" "alu_reg")]
> + [(set_attr "type" "alu_sreg")]
> )
>
> ;; zero_extend version of above
> @@ -1658,7 +1658,7 @@
> (match_operand:SI 2 "register_operand" "r"))))]
> ""
> "sub\\t%w0, %w1, %w2"
> - [(set_attr "type" "alu_reg")]
> + [(set_attr "type" "alu_sreg")]
> )
>
> (define_insn "subdi3"
> @@ -1669,7 +1669,7 @@
> "@
> sub\\t%x0, %x1, %x2
> sub\\t%d0, %d1, %d2"
> - [(set_attr "type" "alu_reg, neon_sub")
> + [(set_attr "type" "alu_sreg, neon_sub")
> (set_attr "simd" "*,yes")]
> )
>
> @@ -1701,7 +1701,7 @@
> (minus:GPI (match_dup 1) (match_dup 2)))]
> ""
> "subs\\t%<w>0, %<w>1, %<w>2"
> - [(set_attr "type" "alus_reg")]
> + [(set_attr "type" "alus_sreg")]
> )
>
> ;; zero_extend version of above
> @@ -1714,7 +1714,7 @@
> (zero_extend:DI (minus:SI (match_dup 1) (match_dup 2))))]
> ""
> "subs\\t%w0, %w1, %w2"
> - [(set_attr "type" "alus_reg")]
> + [(set_attr "type" "alus_sreg")]
> )
>
> (define_insn "*sub_<shift>_<mode>"
> @@ -1925,7 +1925,7 @@
> GEN_INT (63)))));
> DONE;
> }
> - [(set_attr "type" "alu_reg")]
> + [(set_attr "type" "alu_sreg")]
> )
>
> (define_insn "neg<mode>2"
> @@ -1935,7 +1935,7 @@
> "@
> neg\\t%<w>0, %<w>1
> neg\\t%<rtn>0<vas>, %<rtn>1<vas>"
> - [(set_attr "type" "alu_reg, neon_neg<q>")
> + [(set_attr "type" "alu_sreg, neon_neg<q>")
> (set_attr "simd" "*,yes")]
> )
>
> @@ -1945,7 +1945,7 @@
> (zero_extend:DI (neg:SI (match_operand:SI 1 "register_operand" "r"))))]
> ""
> "neg\\t%w0, %w1"
> - [(set_attr "type" "alu_reg")]
> + [(set_attr "type" "alu_sreg")]
> )
>
> (define_insn "*ngc<mode>"
> @@ -1975,7 +1975,7 @@
> (neg:GPI (match_dup 1)))]
> ""
> "negs\\t%<w>0, %<w>1"
> - [(set_attr "type" "alus_reg")]
> + [(set_attr "type" "alus_sreg")]
> )
>
> ;; zero_extend version of above
> @@ -1987,7 +1987,7 @@
> (zero_extend:DI (neg:SI (match_dup 1))))]
> ""
> "negs\\t%w0, %w1"
> - [(set_attr "type" "alus_reg")]
> + [(set_attr "type" "alus_sreg")]
> )
>
> (define_insn "*neg_<shift><mode>3_compare0"
> @@ -2266,7 +2266,7 @@
> cmp\\t%<w>0, %<w>1
> cmp\\t%<w>0, %<w>1
> cmn\\t%<w>0, #%n1"
> - [(set_attr "type" "alus_reg,alus_imm,alus_imm")]
> + [(set_attr "type" "alus_sreg,alus_imm,alus_imm")]
> )
>
> (define_insn "*cmp<mode>"
> @@ -3790,7 +3790,7 @@
> (match_operand 2 "aarch64_valid_symref" "S")))]
> ""
> "add\\t%<w>0, %<w>1, :lo12:%a2"
> - [(set_attr "type" "alu_reg")]
> + [(set_attr "type" "alu_sreg")]
> )
>
> (define_insn "ldr_got_small_<mode>"
> @@ -3901,7 +3901,7 @@
> UNSPEC_GOTSMALLTLS))]
> ""
> "add\\t%<w>0, %<w>1, #%G2\;add\\t%<w>0, %<w>0, #%L2"
> - [(set_attr "type" "alu_reg")
> + [(set_attr "type" "alu_sreg")
> (set_attr "length" "8")]
> )
>
>
More information about the Gcc-patches
mailing list