Re: PR 69577: Invalid RA of destination subregs

2016-02-03 Thread Richard Henderson
On 02/03/2016 04:56 AM, Richard Sandiford wrote: gcc/ PR rtl-optimization/69577 * reginfo.c (record_subregs_of_mode): Add a partial_def parameter. (find_subregs_of_mode): Update accordingly. Iterate over partial definitions. gcc/testsuite/ PR rtl-optimiz

Re: PR 69577: Invalid RA of destination subregs

2016-02-03 Thread Richard Sandiford
Richard Sandiford writes: > Uros Bizjak writes: >> On Tue, Feb 2, 2016 at 5:54 PM, Kyrill Tkachov >> wrote: >>> Hi Richard, >>> >>> >>> On 02/02/16 14:56, Richard Sandiford wrote: In PR 69577 we have: A: (set (reg:V2TI X) ...) B: (set (subreg:TI (reg:V2TI X) 0) ...

Re: PR 69577: Invalid RA of destination subregs

2016-02-02 Thread Richard Sandiford
[Resending without disclaimer, sorry] Uros Bizjak writes: > On Tue, Feb 2, 2016 at 5:54 PM, Kyrill Tkachov > wrote: >> Hi Richard, >> >> >> On 02/02/16 14:56, Richard Sandiford wrote: >>> >>> In PR 69577 we have: >>> >>>A: (set (reg:V2TI X) ...) >>>B: (set (subreg:TI (reg:V2TI X) 0) ...)

Re: PR 69577: Invalid RA of destination subregs

2016-02-02 Thread Uros Bizjak
On Tue, Feb 2, 2016 at 5:54 PM, Kyrill Tkachov wrote: > Hi Richard, > > > On 02/02/16 14:56, Richard Sandiford wrote: >> >> In PR 69577 we have: >> >>A: (set (reg:V2TI X) ...) >>B: (set (subreg:TI (reg:V2TI X) 0) ...) >> >> X gets allocated to an AVX register, as usual for V2TI. The probl

Re: PR 69577: Invalid RA of destination subregs

2016-02-02 Thread Kyrill Tkachov
Hi Richard, On 02/02/16 14:56, Richard Sandiford wrote: In PR 69577 we have: A: (set (reg:V2TI X) ...) B: (set (subreg:TI (reg:V2TI X) 0) ...) X gets allocated to an AVX register, as usual for V2TI. The problem is that the movti for B doesn't then preserve the other half of X, even thou