Re: [AArch64] Improve HFA code generation

2017-06-26 Thread Richard Sandiford
James Greenhalgh writes: > Hi, > > For this code: > > struct y { > float x[4]; > }; > > float > bar3 (struct y x) > { > return x.x[3]; > } > > GCC generates: > > bar3: > fmovx1, d2 > mov x0, 0 > bfi x0, x1, 0, 32 > fmovx1, d3 > bf

[AArch64] Improve HFA code generation

2017-06-20 Thread James Greenhalgh
Hi, For this code: struct y { float x[4]; }; float bar3 (struct y x) { return x.x[3]; } GCC generates: bar3: fmovx1, d2 mov x0, 0 bfi x0, x1, 0, 32 fmovx1, d3 bfi x0, x1, 32, 32 sbfxx0, x0, 32, 32