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