* [Patch 2/2][AArch64]Split insn type alu_reg into alu_sreg and alu_dsp_reg
@ 2014-07-10 8:06 Terry Guo
2014-07-11 10:28 ` Richard Earnshaw
0 siblings, 1 reply; 2+ messages in thread
From: Terry Guo @ 2014-07-10 8:06 UTC (permalink / raw)
To: gcc-patches; +Cc: Marcus Shawcroft, Ramana Radhakrishnan
[-- Attachment #1: Type: text/plain, Size: 773 bytes --]
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.
[-- Attachment #2: aarch64-new-insn-type-v1.txt --]
[-- Type: text/plain, Size: 4749 bytes --]
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")]
)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Patch 2/2][AArch64]Split insn type alu_reg into alu_sreg and alu_dsp_reg
2014-07-10 8:06 [Patch 2/2][AArch64]Split insn type alu_reg into alu_sreg and alu_dsp_reg Terry Guo
@ 2014-07-11 10:28 ` Richard Earnshaw
0 siblings, 0 replies; 2+ messages in thread
From: Richard Earnshaw @ 2014-07-11 10:28 UTC (permalink / raw)
To: Terry Guo; +Cc: gcc-patches, Marcus Shawcroft, Ramana Radhakrishnan
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")]
> )
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-07-11 10:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-10 8:06 [Patch 2/2][AArch64]Split insn type alu_reg into alu_sreg and alu_dsp_reg Terry Guo
2014-07-11 10:28 ` Richard Earnshaw
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).