On Thu, Dec 1, 2016 at 11:58 PM, Jeff Law <l...@redhat.com> wrote: > On 11/30/2016 11:59 AM, Jakub Jelinek wrote: >> >> On Wed, Nov 30, 2016 at 08:01:11AM +0100, Uros Bizjak wrote: >>> >>> On Tue, Nov 29, 2016 at 8:44 PM, Jakub Jelinek <ja...@redhat.com> wrote: >>>> >>>> Hi! >>>> >>>> The following testcase ICEs because DECL_RTL/DECL_INCOMING_RTL are >>>> adjusted >>>> by the stv pass through the PUT_MODE modifications, which means that for >>>> var-tracking.c they contain a bogus mode. >>>> >>>> Fixed by wrapping those into TImode subreg or adjusting the MEMs to have >>>> the >>>> correct mode. >>>> >>>> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? >>>> >>>> 2016-11-29 Jakub Jelinek <ja...@redhat.com> >>>> >>>> PR rtl-optimization/78547 >>>> * config/i386/i386.c (convert_scalars_to_vectors): If any >>>> insns have been converted, adjust all parameter's DEC_RTL and >>>> DECL_INCOMING_RTL back from V1TImode to TImode if the parameters >>>> have >>>> TImode. >>> >>> >>> LGTM. >> >> >> This patch actually has been working around IMHO broken rtl sharing of MEM >> between DECL_INCOMING_RTL and some REG_EQUAL note. >> >> Here is an updated patch that avoids this sharing (the middle-end part) >> and >> thus can remove the MEM handling and just keep REG handling in >> convert_scalars_to_vectors. >> >> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? >> >> 2016-11-29 Jakub Jelinek <ja...@redhat.com> >> >> PR rtl-optimization/78547 >> * emit-rtl.c (unshare_all_rtl): Make sure DECL_RTL and >> DECL_INCOMING_RTL is not shared. >> * config/i386/i386.c (convert_scalars_to_vectors): If any >> insns have been converted, adjust all parameter's DEC_RTL and >> DECL_INCOMING_RTL back from V1TImode to TImode if the parameters >> have >> TImode. > > emit-rtl bits are OK. Uros has the call on the x86 bits.
Yes, still OK. Uros.