Re: [04/32] [x86] Robustify vzeroupper handling across calls

2019-10-08 Thread Uros Bizjak
The following patch uses correct SSE register class; vzeroupper operates only on lower 16 (8 on 32bit target) SSE registers. 2019-10-08 Uroš Bizjak PR target/91994 * config/i386/i386.c (x86_avx_u128_mode_needed): Use SSE_REG instead of ALL_SSE_REG to check if function call preserve

Re: [04/32] [x86] Robustify vzeroupper handling across calls

2019-10-01 Thread Uros Bizjak
On Wed, Sep 25, 2019 at 5:48 PM Richard Sandiford wrote: > > The comment suggests that this code is only needed for Win64 and that > > not testing for Win64 is just a simplification. But in practice it was > > needed for correctness on GNU/Linux and other targets too, since without > > it the RA

Re: [04/32] [x86] Robustify vzeroupper handling across calls

2019-09-25 Thread Uros Bizjak
On Wed, Sep 25, 2019 at 5:48 PM Richard Sandiford wrote: > > Ping > > Richard Sandiford writes: > > One of the effects of the function_abi series is to make -fipa-ra > > work for partially call-clobbered registers. E.g. if a call preserves > > only the low 32 bits of a register R, we handled the

Re: [04/32] [x86] Robustify vzeroupper handling across calls

2019-09-25 Thread Richard Sandiford
Ping Richard Sandiford writes: > One of the effects of the function_abi series is to make -fipa-ra > work for partially call-clobbered registers. E.g. if a call preserves > only the low 32 bits of a register R, we handled the partial clobber > separately from -fipa-ra, and so treated the upper b

[04/32] [x86] Robustify vzeroupper handling across calls

2019-09-11 Thread Richard Sandiford
One of the effects of the function_abi series is to make -fipa-ra work for partially call-clobbered registers. E.g. if a call preserves only the low 32 bits of a register R, we handled the partial clobber separately from -fipa-ra, and so treated the upper bits of R as clobbered even if we knew tha