Sending to list Thu 03/19/2018 08:48, Tamar Christina wrote: > Hi Christophe, > > The 03/16/2018 13:50, Christophe Lyon wrote: > > On 15 March 2018 at 11:19, Kyrill Tkachov <kyrylo.tkac...@foss.arm.com> > > wrote: > > > Hi Tamar, > > > > > > > > >> Regtested on armeb-none-eabi and no regressions. > > >> Bootstrapped on arm-none-linux-gnueabihf and no issues. > > >> > > >> Ok for trunk? and for backport to GCC 7? > > >> > > > > > > Ok for trunk. > > > Please wait for a few days before backporting. > > > > > > > Hi Tamar, > > > > Strangely I have noticed regressions on armeb, I have updated bugzilla > > accordingly. > > Thanks, seems testsuite didn't catch it with our default options. > > This seems to be a combine issue as it's removing subregs it thinks is a > no-op, causing the vec_select not to be done. It was working before because > we were saying any subreg is invalid in arm-be, so if the code didn't get > stuck in an endless loop, it would skip the no-op check. > > I don't see anyway to fix this in the back-end alone as combine gives no way > to tell it that the instruction is not a no-op. Even if I split the > instruction > early on to explicitly use a new register, combine will combine the mov and > vec_select > again and come to the same conclusion. = > > So I will revert this for GCC 8 and fix it for GCC 9. Better the compiler ICE > than > generate bad code. > > Thanks, > Tamar > > > > > Thanks, > > > > Christophe > > > > > Thanks, > > > Kyrill > > > > > > > > >> Thanks, > > >> Tamar > > >> > > >> gcc/ > > >> 2018-03-05 Tamar Christina <tamar.christ...@arm.com> > > >> > > >> PR target/84711 > > >> * config/arm/arm.c (arm_can_change_mode_class): Use > > >> GET_MODE_UNIT_SIZE > > >> instead of GET_MODE_SIZE when comparing Units. > > >> > > >> gcc/testsuite/ > > >> 2018-03-05 Tamar Christina <tamar.christ...@arm.com> > > >> > > >> PR target/84711 > > >> * gcc.target/arm/big-endian-subreg.c: New. > > >> > > >> -- > > > > > > > > --
--