rs6000: Adjust -mdejagnu-cpu to filter out -mtune [PR106345]

As PR106345 shows, when configuring compiler with an explicit
option --with-tune=<value>, it would cause some test cases to
fail if their test points are sensitive to tune setting, such
as: group_ending_nop, loop align etc.  It doesn't help that
even to specify one explicit -mcpu=.

This patch is to adjust the behavior of -mdejagnu-cpu by
filtering out all -mcpu= and -mtune= options, then test cases
would use <cpu> as tune as the one specified by -mdejagnu-cpu.

2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
	    Kewen Lin  <linkw@linux.ibm.com>

	PR testsuite/106345

gcc/ChangeLog:

	* config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
	to filter out all -mtune options.

(cherry picked from commit 75d20d6c84)
This commit is contained in:
Peter Bergner 2022-07-25 00:51:44 -05:00 committed by Kewen Lin
parent a2ead00af2
commit a221c4b8e5
1 changed files with 7 additions and 4 deletions

View File

@ -81,12 +81,15 @@
# define SUBTARGET_DRIVER_SELF_SPECS ""
#endif
/* Only for use in the testsuite: -mdejagnu-cpu= simply overrides -mcpu=.
/* Only for use in the testsuite: -mdejagnu-cpu=<value> filters out all
-mcpu= as well as -mtune= options then simply adds -mcpu=<value>,
while -mdejagnu-tune=<value> filters out all -mtune= options then
simply adds -mtune=<value>.
With older versions of Dejagnu the command line arguments you set in
RUNTESTFLAGS override those set in the testcases; with this option,
the testcase will always win. Ditto for -mdejagnu-tune=. */
RUNTESTFLAGS override those set in the testcases; with these options,
the testcase will always win. */
#define DRIVER_SELF_SPECS \
"%{mdejagnu-cpu=*: %<mcpu=* -mcpu=%*}", \
"%{mdejagnu-cpu=*: %<mcpu=* %<mtune=* -mcpu=%*}", \
"%{mdejagnu-tune=*: %<mtune=* -mtune=%*}", \
"%{mdejagnu-*: %<mdejagnu-*}", \
SUBTARGET_DRIVER_SELF_SPECS