Re: [r17-2335 Regression] FAIL: gcc.target/i386/bmi2-mulx-highpart-1.c check-function-bodies div7 on Linux/x86_64
Jeffrey Law via Gcc-regression <[email protected]> Mon, 13 Jul 2026 14:35:19 -0600
| Newsgroups | gmane.comp.gcc.regression,gmane.comp.gcc.patches |
|---|---|
| Message-ID | <[email protected]> |
On 7/13/2026 12:31 PM, [email protected] wrote: > From: MITSUNARI Shigeo <[email protected]> > > Thanks for the report. > > The check-function-bodies pattern in this test expects the > instruction order produced with generic tuning. With > -march=cascadelake the scheduler reorders the movl and movabsq > instructions, so the (order-sensitive) body match fails; the > generated instructions themselves are unchanged. > > The same applies to gcc.target/i386/mulq-highpart.c from r17-2334, > so the patch below fixes both tests by pinning -mtune=generic, as > many other i386 tests do. > > Tested on x86_64-linux with both the default target board and > unix{-m64 -march=cascadelake}: both tests pass with the patch and > the reported FAIL is reproducible without it. > > I don't have write access, so could someone push this for me? > > -- >8 -- > > Subject: i386: Add -mtune=generic to highpart multiplication tests > > The check-function-bodies patterns in bmi2-mulx-highpart-1.c and > mulq-highpart.c expect the instruction order produced with generic > tuning. With -march=cascadelake the scheduler swaps the movl and > movabsq instructions, so pin -mtune=generic. > > gcc/testsuite/ChangeLog: > > * gcc.target/i386/bmi2-mulx-highpart-1.c: Add -mtune=generic > to dg-options. > * gcc.target/i386/mulq-highpart.c: Likewise. > > Signed-off-by: MITSUNARI Shigeo <[email protected]> THanks. I've pushed this to the trunk. jeff