s390.opt ("mhard-float", [...]): Bit value inverted and documentation adjusted.
2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value inverted and documentation adjusted. ("mhard-dfp", "msoft-dfp"): New options. * config/s390/s390.c (s390_handle_arch_option): New architecture switch: z9-ec. (override_options): Sanity checks for the new options added. * config.gcc: New architecture switch: z9-ec. * config/s390/s390.h (processor_flags): PF_DFP added. (TARGET_CPU_DFP, TARGET_DFP): Macro definitions added. (TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled when the bit is NOT set so remove it from the defaults. From-SVN: r123055
This commit is contained in:
parent
c413e1b5be
commit
3443392a8a
|
@ -1,3 +1,17 @@
|
||||||
|
2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||||
|
|
||||||
|
* config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value
|
||||||
|
inverted and documentation adjusted.
|
||||||
|
("mhard-dfp", "msoft-dfp"): New options.
|
||||||
|
* config/s390/s390.c (s390_handle_arch_option): New architecture
|
||||||
|
switch: z9-ec.
|
||||||
|
(override_options): Sanity checks for the new options added.
|
||||||
|
* config.gcc: New architecture switch: z9-ec.
|
||||||
|
* config/s390/s390.h (processor_flags): PF_DFP added.
|
||||||
|
(TARGET_CPU_DFP, TARGET_DFP): Macro definitions added.
|
||||||
|
(TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled
|
||||||
|
when the bit is NOT set so remove it from the defaults.
|
||||||
|
|
||||||
2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
|
2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||||
|
|
||||||
* genemit.c (main): Print include statement for dfp.h.
|
* genemit.c (main): Print include statement for dfp.h.
|
||||||
|
|
|
@ -3023,7 +3023,7 @@ case "${target}" in
|
||||||
for which in arch tune; do
|
for which in arch tune; do
|
||||||
eval "val=\$with_$which"
|
eval "val=\$with_$which"
|
||||||
case ${val} in
|
case ${val} in
|
||||||
"" | g5 | g6 | z900 | z990 | z9-109)
|
"" | g5 | g6 | z900 | z990 | z9-109 | z9-ec)
|
||||||
# OK
|
# OK
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -1340,6 +1340,8 @@ s390_handle_arch_option (const char *arg,
|
||||||
| PF_LONG_DISPLACEMENT},
|
| PF_LONG_DISPLACEMENT},
|
||||||
{"z9-109", PROCESSOR_2094_Z9_109, PF_IEEE_FLOAT | PF_ZARCH
|
{"z9-109", PROCESSOR_2094_Z9_109, PF_IEEE_FLOAT | PF_ZARCH
|
||||||
| PF_LONG_DISPLACEMENT | PF_EXTIMM},
|
| PF_LONG_DISPLACEMENT | PF_EXTIMM},
|
||||||
|
{"z9-ec", PROCESSOR_2094_Z9_109, PF_IEEE_FLOAT | PF_ZARCH
|
||||||
|
| PF_LONG_DISPLACEMENT | PF_EXTIMM | PF_DFP },
|
||||||
};
|
};
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
|
@ -1418,11 +1420,34 @@ override_options (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sanity checks. */
|
/* Sanity checks. */
|
||||||
if (TARGET_ZARCH && !(s390_arch_flags & PF_ZARCH))
|
if (TARGET_ZARCH && !TARGET_CPU_ZARCH)
|
||||||
error ("z/Architecture mode not supported on %s", s390_arch_string);
|
error ("z/Architecture mode not supported on %s", s390_arch_string);
|
||||||
if (TARGET_64BIT && !TARGET_ZARCH)
|
if (TARGET_64BIT && !TARGET_ZARCH)
|
||||||
error ("64-bit ABI not supported in ESA/390 mode");
|
error ("64-bit ABI not supported in ESA/390 mode");
|
||||||
|
|
||||||
|
if (TARGET_HARD_DFP && (!TARGET_CPU_DFP || !TARGET_ZARCH))
|
||||||
|
{
|
||||||
|
if (target_flags_explicit & MASK_SOFT_DFP)
|
||||||
|
{
|
||||||
|
if (!TARGET_CPU_DFP)
|
||||||
|
error ("Hardware decimal floating point instructions"
|
||||||
|
" not available on %s", s390_arch_string);
|
||||||
|
if (!TARGET_ZARCH)
|
||||||
|
error ("Hardware decimal floating point instructions"
|
||||||
|
" not available in ESA/390 mode");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
target_flags |= MASK_SOFT_DFP;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((target_flags_explicit & MASK_SOFT_FLOAT) && TARGET_SOFT_FLOAT)
|
||||||
|
{
|
||||||
|
if ((target_flags_explicit & MASK_SOFT_DFP) && TARGET_HARD_DFP)
|
||||||
|
error ("-mhard-dfp can't be used in conjunction with -msoft-float");
|
||||||
|
|
||||||
|
target_flags |= MASK_SOFT_DFP;
|
||||||
|
}
|
||||||
|
|
||||||
/* Set processor cost function. */
|
/* Set processor cost function. */
|
||||||
if (s390_tune == PROCESSOR_2094_Z9_109)
|
if (s390_tune == PROCESSOR_2094_Z9_109)
|
||||||
s390_cost = &z9_109_cost;
|
s390_cost = &z9_109_cost;
|
||||||
|
|
|
@ -195,7 +195,7 @@
|
||||||
;; this description is also used for the g5 and g6.
|
;; this description is also used for the g5 and g6.
|
||||||
(include "2064.md")
|
(include "2064.md")
|
||||||
|
|
||||||
;; Pipeline description for z990.
|
;; Pipeline description for z990, z9-109 and z9-ec.
|
||||||
(include "2084.md")
|
(include "2084.md")
|
||||||
|
|
||||||
;; Predicates
|
;; Predicates
|
||||||
|
|
|
@ -47,9 +47,13 @@ mfused-madd
|
||||||
Target Report Mask(FUSED_MADD)
|
Target Report Mask(FUSED_MADD)
|
||||||
Enable fused multiply/add instructions
|
Enable fused multiply/add instructions
|
||||||
|
|
||||||
|
mhard-dfp
|
||||||
|
Target Report RejectNegative InverseMask(SOFT_DFP, HARD_DFP)
|
||||||
|
Enable hardware decimal floating point
|
||||||
|
|
||||||
mhard-float
|
mhard-float
|
||||||
Target Report RejectNegative Mask(HARD_FLOAT)
|
Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT)
|
||||||
Use hardware fp
|
Enable hardware floating point
|
||||||
|
|
||||||
mlong-double-128
|
mlong-double-128
|
||||||
Target Report RejectNegative Mask(LONG_DOUBLE_128)
|
Target Report RejectNegative Mask(LONG_DOUBLE_128)
|
||||||
|
@ -67,9 +71,13 @@ msmall-exec
|
||||||
Target Report Mask(SMALL_EXEC)
|
Target Report Mask(SMALL_EXEC)
|
||||||
Use bras for executable < 64k
|
Use bras for executable < 64k
|
||||||
|
|
||||||
|
msoft-dfp
|
||||||
|
Target Report RejectNegative Mask(SOFT_DFP)
|
||||||
|
Disable hardware decimal floating point
|
||||||
|
|
||||||
msoft-float
|
msoft-float
|
||||||
Target Report RejectNegative InverseMask(HARD_FLOAT, SOFT_FLOAT)
|
Target Report RejectNegative Mask(SOFT_FLOAT)
|
||||||
Don't use hardware fp
|
Disable hardware floating point
|
||||||
|
|
||||||
mstack-guard=
|
mstack-guard=
|
||||||
Target RejectNegative Joined
|
Target RejectNegative Joined
|
||||||
|
|
Loading…
Reference in New Issue