Re: [AArch64] Tighten predicates on SIMD shift intrinsics

2014-09-25 Thread Marcus Shawcroft
On 25 September 2014 16:18, Richard Henderson wrote: > On 09/25/2014 08:05 AM, James Greenhalgh wrote: >> >> On Fri, Sep 19, 2014 at 05:57:06PM +0100, Richard Henderson wrote: >>> On 09/11/2014 01:29 AM, James Greenhalgh wrote: +;; Predicates used by the various SIMD shift operations. These

Re: [AArch64] Tighten predicates on SIMD shift intrinsics

2014-09-25 Thread Richard Henderson
On 09/25/2014 08:05 AM, James Greenhalgh wrote: > > On Fri, Sep 19, 2014 at 05:57:06PM +0100, Richard Henderson wrote: >> On 09/11/2014 01:29 AM, James Greenhalgh wrote: >>> +;; Predicates used by the various SIMD shift operations. These >>> +;; fall in to 3 categories. >>> +;; Shifts with a ra

Re: [AArch64] Tighten predicates on SIMD shift intrinsics

2014-09-25 Thread James Greenhalgh
On Fri, Sep 19, 2014 at 05:57:06PM +0100, Richard Henderson wrote: > On 09/11/2014 01:29 AM, James Greenhalgh wrote: > > +;; Predicates used by the various SIMD shift operations. These > > +;; fall in to 3 categories. > > +;; Shifts with a range 0-(bit_size - 1) (aarch64_simd_shift_imm) > > +;;

Re: [AArch64] Tighten predicates on SIMD shift intrinsics

2014-09-19 Thread Richard Henderson
On 09/11/2014 01:29 AM, James Greenhalgh wrote: > +;; Predicates used by the various SIMD shift operations. These > +;; fall in to 3 categories. > +;; Shifts with a range 0-(bit_size - 1) (aarch64_simd_shift_imm) > +;; Shifts with a range 1-bit_size (aarch64_simd_shift_imm_offset) > +;; Shif

Re: [AArch64] Tighten predicates on SIMD shift intrinsics

2014-09-19 Thread James Greenhalgh
*Ping* Thanks, James On Thu, Sep 11, 2014 at 09:29:52AM +0100, James Greenhalgh wrote: > gcc/ > > 2014-09-11 James Greenhalgh > > * config/aarch64/aarch64-protos.h (aarch64_simd_const_bounds): Change > return type to bool. > * config/aarch64/aarch64-simd.md (aarch64_qshl):

[AArch64] Tighten predicates on SIMD shift intrinsics

2014-09-11 Thread James Greenhalgh
Hi, There are a set of SIMD shift intrinsics that have very tight predicates on the range of immediates they can accept, but have been written with very loose predicates, bailing out with an error in final if there has been an issue. This is a problem if some pass figures out that a value passed