IBM Z: Fix bootstrap breakage due to HAVE_TF macro
Commit e627cda568
("IBM Z: Store long doubles in vector registers
when possible") introduced HAVE_TF macro which expands to a logical
"or" of HAVE_ constants. Not all of these constants are available in
GENERATOR_FILE context, so a hack was used: simply expand to true in
this case, because the actual value matters only during compiler
runtime and not during generation.
However, one aspect of this value matters during generation after all:
whether or not it's a constant, which in this case it appears to be.
This results in incorrect values in insn-flags.h and broken bootstrap
for some configurations.
Fix by using a dummy value that is not a constant.
gcc/ChangeLog:
2020-11-10 Ilya Leoshkevich <iii@linux.ibm.com>
* config/s390/s390.h (HAVE_TF): Use opaque value when
GENERATOR_FILE is defined.
This commit is contained in:
parent
5dfbc52264
commit
778087e0f5
1 changed files with 3 additions and 2 deletions
|
@ -1187,8 +1187,9 @@ struct GTY(()) machine_function
|
|||
#define TARGET_INDIRECT_BRANCH_TABLE s390_indirect_branch_table
|
||||
|
||||
#ifdef GENERATOR_FILE
|
||||
/* gencondmd.c is built before insn-flags.h. */
|
||||
#define HAVE_TF(icode) true
|
||||
/* gencondmd.c is built before insn-flags.h. Use an arbitrary opaque value
|
||||
that cannot be optimized away by gen_insn. */
|
||||
#define HAVE_TF(icode) TARGET_HARD_FLOAT
|
||||
#else
|
||||
#define HAVE_TF(icode) (HAVE_##icode##_fpr || HAVE_##icode##_vr)
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue