On 26 April 2013 14:25, James Greenhalgh <james.greenha...@arm.com> wrote: > > Hi, > > gcc.dg/vect/vect-float-truncate-1.c and > gcc.dg/vect/vect-float-extend-1.c > > Were failing because widening and narrowing of floats to doubles was > not wired up. > > This patch fixes that by implementing the standard names: > > vec_pack_trunc_v2df > Taking two vectors of V2DFmode and returning one vector of V4SF mode. > > `vec_unpacks_float_hi_v4sf', `vec_unpacks_float_lo_v4sf' > Taking one vector of V4SF mode and splitting it to two vectors of V2DF mode. > > Patch regression tested on aarch64-none-elf with no regressions, > and shown to fix the bug. > > Thanks, > James > --- > gcc/ > > 2013-04-26 James Greenhalgh <james.greenha...@arm.com> > > * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi_): New. > (float_truncate_hi_): Likewise. > (float_extend_lo_): Likewise. > (float_truncate_lo_): Likewise. > * config/aarch64/aarch64-simd.md (vec_unpacks_lo_v4sf): New. > (aarch64_float_extend_lo_v2df): Likewise. > (vec_unpacks_hi_v4sf): Likewise. > (aarch64_float_truncate_lo_v2sf): Likewise. > (aarch64_float_truncate_hi_v4sf): Likewise. > (vec_pack_trunc_v2df): Likewise. > (vec_pack_trunc_df): Likewise.
OK /Marcus