Re: [AArch64/ARM 2/3] Detect EXT patterns to vec_perm_const, use for EXT intrinsics

2014-06-03 Thread Alan Lawrence
Pushed as r211177. Thanks, Alan Marcus Shawcroft wrote: On 3 June 2014 12:19, Alan Lawrence wrote: gcc/ChangeLog: * config/aarch64/aarch64.c (aarch64_evpc_ext): Allow+handle location==0. ? Allow and handle location == 0. Otherwise OK /Marcus

Re: [AArch64/ARM 2/3] Detect EXT patterns to vec_perm_const, use for EXT intrinsics

2014-06-03 Thread Marcus Shawcroft
On 3 June 2014 12:19, Alan Lawrence wrote: > gcc/ChangeLog: > > * config/aarch64/aarch64.c (aarch64_evpc_ext): Allow+handle > location==0. > > ? Allow and handle location == 0. Otherwise OK /Marcus

Re: [AArch64/ARM 2/3] Detect EXT patterns to vec_perm_const, use for EXT intrinsics

2014-06-03 Thread Alan Lawrence
gcc/ChangeLog: * config/aarch64/aarch64.c (aarch64_evpc_ext): Allow+handle location==0. ? --Alan Marcus Shawcroft wrote: On 3 June 2014 11:21, Alan Lawrence wrote: Ok, this fixes it. We'll output an ext...#0, which is little more than a MOV, but that seems appropriate in the circumst

Re: [AArch64/ARM 2/3] Detect EXT patterns to vec_perm_const, use for EXT intrinsics

2014-06-03 Thread Marcus Shawcroft
On 3 June 2014 11:21, Alan Lawrence wrote: > Ok, this fixes it. We'll output an ext...#0, which is little more than a > MOV, > but that seems appropriate in the circumstance. > > Regression tested check-gcc and check-g++ on aarch64-none-elf and > aarch64_be-none-elf. > > Ok for trunk? ChangeLog

Re: [AArch64/ARM 2/3] Detect EXT patterns to vec_perm_const, use for EXT intrinsics

2014-06-03 Thread Alan Lawrence
Ok, this fixes it. We'll output an ext...#0, which is little more than a MOV, but that seems appropriate in the circumstance. Regression tested check-gcc and check-g++ on aarch64-none-elf and aarch64_be-none-elf. Ok for trunk? --Alan Alan Lawrence wrote: Yes, reproduced. Seems the mid-end doe

Re: [AArch64/ARM 2/3] Detect EXT patterns to vec_perm_const, use for EXT intrinsics

2014-06-02 Thread Alan Lawrence
Yes, reproduced. Seems the mid-end doesn't elide no-op masks at -O0 after all... Fix in progress, think it's almost (tho not quite) simply a bad assertion. --Alan Christophe Lyon wrote: Hi Alan This causes g++ to ICE on pr59378 test, for aarch64 targets: http://cbuild.validation.linaro.org/b

Re: [AArch64/ARM 2/3] Detect EXT patterns to vec_perm_const, use for EXT intrinsics

2014-05-30 Thread Christophe Lyon
Hi Alan This causes g++ to ICE on pr59378 test, for aarch64 targets: http://cbuild.validation.linaro.org/build/cross-validation/gcc/211058/report-build-info.html Can you check? Thanks, Christophe. On 19 May 2014 14:53, Marcus Shawcroft wrote: > On 23 April 2014 21:22, Alan Lawrence wrote: >

Re: [AArch64/ARM 2/3] Detect EXT patterns to vec_perm_const, use for EXT intrinsics

2014-05-19 Thread Marcus Shawcroft
On 23 April 2014 21:22, Alan Lawrence wrote: > 2014-03-27 Alan Lawrence > * config/aarch64/aarch64-builtins.c > (aarch64_types_binopv_qualifiers, > TYPES_BINOPV): New static data. > * config/aarch64/aarch64-simd-builtins.def (im_lane_bound): New > builtin. > * c

[AArch64/ARM 2/3] Detect EXT patterns to vec_perm_const, use for EXT intrinsics

2014-04-23 Thread Alan Lawrence
This patch updates aarch64_expand_vec_perm_const to recognise patterns for the EXT instructions, and replaces the temporary inline assembler of the vext[q]_* intrinsics with calls to __builtin_shuffle that are now picked up by the former (providing a testcase). A complication is that when an o