On Fri, Dec 24, 2021 at 12:17 AM Uros Bizjak <ubiz...@gmail.com> wrote: > > On Thu, Dec 23, 2021 at 11:21 PM H.J. Lu via Gcc-patches > <gcc-patches@gcc.gnu.org> wrote: > > > > Restore i686 bootstrap by requiring TARGET_64BIT for any_mul_highpart > > peephole. > > > > PR bootstrap/103785 > > * config/i386/i386.md: Require TARGET_64BIT for any_mul_highpart > > peephole. > > I don't think this is correct. The patch uses SWI48, where DImode is > enabled only for TARGET_64BIT. The patch disables SImode peephole only > for 32bit targets, so if there is something wrong with the peephole, > it still remains buggy for 64bit targets. Either we remove problematic > peepholes to restore bootstrap or get a testcase and analyze the > problem to figure out the correct fix. >
I couldn't create a small testcase in C. The problem is in (set (reg:SI 1 dx [92]) (const_int 714200473 [0x2a91d599])) (set (reg:SI 0 ax [105]) (reg:SI 0 ax [orig:89 k ] [89])) (parallel [ (set (reg:SI 1 dx [91]) (smul_highpart:SI (reg:SI 0 ax [105]) (reg:SI 1 dx [92]))) (clobber (reg:SI 0 ax [105])) (clobber (reg:CC 17 flags)) ]) The v2 patch is posted at https://gcc.gnu.org/pipermail/gcc-patches/2021-December/587356.html -- H.J.