* [AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".
@ 2013-09-06 13:50 James Greenhalgh
2013-09-06 13:54 ` Richard Earnshaw
0 siblings, 1 reply; 2+ messages in thread
From: James Greenhalgh @ 2013-09-06 13:50 UTC (permalink / raw)
To: gcc-patches; +Cc: marcus.shawcroft, richard.earnshaw
[-- Attachment #1: Type: text/plain, Size: 668 bytes --]
Hi,
The final (!!!) patch in the series making types equivalent between
AArch64 and ARM backends deals with insns in the AArch64 backend
which generate ldp and stp. We could invent a new type for these and
add that type to all the pipeline descriptions, but I think the types
neon_ldm_2 and neon_stm_2 describe them adequately.
Tested on aarch64-none-elf with no regressions.
OK?
Thanks,
James
---
gcc/
2013-09-06 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64.md
(*movtf_aarch64): Use neon_<ls>dm_2 as type where v8type
is fpsimd_<load/store>2.
(load_pair<mode>): Likewise.
(store_pair<mode>): Likewise.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-AArch64-Use-neon_-ldm-stm-_2-where-appropriate-as-ty.patch --]
[-- Type: text/x-patch; name=0001-AArch64-Use-neon_-ldm-stm-_2-where-appropriate-as-ty.patch, Size: 1422 bytes --]
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 5aa127bcb47912f1986007d4491b865555e92c23..f37f98f9994bb773785d8573a7efd1e625b5e23a 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -1025,7 +1025,7 @@ (define_insn "*movtf_aarch64"
stp\\t%1, %H1, %0"
[(set_attr "v8type" "logic,move2,fmovi2f,fmovf2i,fconst,fconst,fpsimd_load,fpsimd_store,fpsimd_load2,fpsimd_store2")
(set_attr "type" "logic_reg,multiple,f_mcr,f_mrc,fconstd,fconstd,\
- f_loadd,f_stored,f_loadd,f_stored")
+ f_loadd,f_stored,neon_ldm_2,neon_stm_2")
(set_attr "mode" "DF,DF,DF,DF,DF,DF,TF,TF,DF,DF")
(set_attr "length" "4,8,8,8,4,4,4,4,4,4")
(set_attr "fp" "*,*,yes,yes,*,yes,yes,yes,*,*")
@@ -1090,7 +1090,7 @@ (define_insn "load_pair<mode>"
GET_MODE_SIZE (<MODE>mode)))"
"ldp\\t%<w>0, %<w>2, %1"
[(set_attr "v8type" "fpsimd_load2")
- (set_attr "type" "f_load<s>")
+ (set_attr "type" "neon_ldm_2")
(set_attr "mode" "<MODE>")]
)
@@ -1106,8 +1106,8 @@ (define_insn "store_pair<mode>"
XEXP (operands[0], 0),
GET_MODE_SIZE (<MODE>mode)))"
"stp\\t%<w>1, %<w>3, %0"
- [(set_attr "v8type" "fpsimd_load2")
- (set_attr "type" "f_load<s>")
+ [(set_attr "v8type" "fpsimd_store2")
+ (set_attr "type" "neon_stm_2")
(set_attr "mode" "<MODE>")]
)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".
2013-09-06 13:50 [AArch64] Use neon_<ldm,stm>_2 where appropriate as "type" James Greenhalgh
@ 2013-09-06 13:54 ` Richard Earnshaw
0 siblings, 0 replies; 2+ messages in thread
From: Richard Earnshaw @ 2013-09-06 13:54 UTC (permalink / raw)
To: James Greenhalgh; +Cc: gcc-patches, Marcus Shawcroft
On 06/09/13 14:50, James Greenhalgh wrote:
>
> Hi,
>
> The final (!!!) patch in the series making types equivalent between
> AArch64 and ARM backends deals with insns in the AArch64 backend
> which generate ldp and stp. We could invent a new type for these and
> add that type to all the pipeline descriptions, but I think the types
> neon_ldm_2 and neon_stm_2 describe them adequately.
>
It's close enough. At least for now.
> Tested on aarch64-none-elf with no regressions.
>
> OK?
OK.
>
> Thanks,
> James
>
> ---
> gcc/
>
> 2013-09-06 James Greenhalgh <james.greenhalgh@arm.com>
>
> * config/aarch64/aarch64.md
> (*movtf_aarch64): Use neon_<ls>dm_2 as type where v8type
> is fpsimd_<load/store>2.
> (load_pair<mode>): Likewise.
> (store_pair<mode>): Likewise.
>
>
R.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-09-06 13:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-06 13:50 [AArch64] Use neon_<ldm,stm>_2 where appropriate as "type" James Greenhalgh
2013-09-06 13:54 ` 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).