[Bug target/88839] [SVE] Poor implementation of blend-like permutes

2019-09-05 Thread rsandifo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88839

rsandifo at gcc dot gnu.org  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |10.0

--- Comment #4 from rsandifo at gcc dot gnu.org  
---
Fixed on trunk.

[Bug target/88839] [SVE] Poor implementation of blend-like permutes

2019-08-21 Thread prathamesh3492 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88839

--- Comment #3 from prathamesh3492 at gcc dot gnu.org ---
Author: prathamesh3492
Date: Wed Aug 21 20:41:41 2019
New Revision: 274810

URL: https://gcc.gnu.org/viewcvs?rev=274810=gcc=rev
Log:
2019-08-22  Prathamesh Kulkarni  
Richard Sandiford  

PR target/88839
* config/aarch64/aarch64.c (aarch64_evpc_sel): New function.
(aarch64_expand_vec_perm_const_1): Call aarch64_evpc_sel.

testsuite/
* gcc.target/aarch64/sve/sel_1.c: New test.
* gcc.target/aarch64/sve/sel_2.c: Likewise.
* gcc.target/aarch64/sve/sel_3.c: Likewise.
* gcc.target/aarch64/sve/sel_4.c: Likewise.
* gcc.target/aarch64/sve/sel_5.c: Likewise.
* gcc.target/aarch64/sve/sel_6.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.target/aarch64/sve/sel_1.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/sel_2.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/sel_3.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/sel_4.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/sel_5.c
trunk/gcc/testsuite/gcc.target/aarch64/sve/sel_6.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.c
trunk/gcc/testsuite/ChangeLog

[Bug target/88839] [SVE] Poor implementation of blend-like permutes

2019-04-06 Thread prathamesh3492 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88839

--- Comment #2 from prathamesh3492 at gcc dot gnu.org ---
Fix committed to sve-acle-branch:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=2cd1f397ed5a155e74719977823b28777caa8312


Thanks,
Prathamesh

[Bug target/88839] [SVE] Poor implementation of blend-like permutes

2019-01-14 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88839

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-01-14
 CC||ktkachov at gcc dot gnu.org
Version|unknown |9.0
 Ever confirmed|0   |1

--- Comment #1 from ktkachov at gcc dot gnu.org ---
Confirmed. I see:
f:
ptrue   p0.s, vl8
adrpx2, .LANCHOR0
ld1wz1.s, p0/z, [x1]
add x2, x2, :lo12:.LANCHOR0
ld1wz0.s, p0/z, [x0]
ld1wz2.s, p0/z, [x2]
mov z3.d, z2.d
tbl z0.s, z0.s, z2.s
sub z3.s, z3.s, #8
tbl z1.s, z1.s, z3.s
orr z0.d, z0.d, z1.d
st1wz0.s, p0, [x8]
ret