[gcc(refs/users/meissner/heads/work169-tar)] Change TAR debug options.
Michael Meissner
meissner@gcc.gnu.org
Sat Jun 22 16:07:21 GMT 2024
https://gcc.gnu.org/g:c0d135dce0787d4516b19615b9743260ea0a1924
commit c0d135dce0787d4516b19615b9743260ea0a1924
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Sat Jun 22 12:07:03 2024 -0400
Change TAR debug options.
2024-06-22 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): Delete
-mqispr, -mhispr, -msispr, -mfpspr, -mdfspr. Add -mintspr and -mfpspr.
(rs6000_debug_reg_global): Likewise.
* config/rs6000/rs6000.opt (-mqispr): Delete.
(-mhispr): Likewise.
(-msispr): Likewise.
(-msfspr): Likewise.
(-mdfspr): Likewise.
(-mintspr): New option.
(-mfpspr): Likewise.
Diff:
---
gcc/config/rs6000/rs6000.cc | 54 ++++++++++----------------------------------
gcc/config/rs6000/rs6000.opt | 26 ++++++---------------
2 files changed, 19 insertions(+), 61 deletions(-)
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index d96adf12c5d..7bd7e2f2181 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -1954,34 +1954,16 @@ rs6000_hard_regno_mode_ok_uncached (int regno, machine_mode mode)
if (orig_complex_p)
return 0;
- if (GET_MODE_CLASS (mode) == MODE_CC)
- return TARGET_CCSPR != 0;
-
- switch (mode)
- {
- case E_QImode:
- return TARGET_QISPR != 0;
-
- case E_HImode:
- return TARGET_HISPR != 0;
-
- case E_SImode:
- return TARGET_SISPR || !TARGET_POWERPC64;
-
- case E_DImode:
- return TARGET_POWERPC64 != 0;
-
- case E_SFmode:
- return TARGET_SFSPR != 0;
+ if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
+ return 0;
- case E_DFmode:
- return TARGET_DFSPR && TARGET_POWERPC64;
+ if (SCALAR_INT_MODE_P (mode))
+ return (mode == Pmode || TARGET_INTSPR);
- default:
- break;
- }
+ if (SCALAR_FLOAT_MODE_P (mode))
+ return TARGET_FPSPR != 0;
- return false;
+ return (TARGET_CCSPR && GET_MODE_CLASS (mode) == MODE_CC);
default:
break;
@@ -2646,26 +2628,14 @@ rs6000_debug_reg_global (void)
fprintf (stderr, DEBUG_FMT_D, "VSX easy 64-bit mfvsrld element",
(int)VECTOR_ELEMENT_MFVSRLD_64BIT);
- fprintf (stderr, DEBUG_FMT_S, "Condition modes in SPR",
+ fprintf (stderr, DEBUG_FMT_S, "Condition code modes in SPRs",
TARGET_CCSPR ? "yes" : "no");
- fprintf (stderr, DEBUG_FMT_S, "QImode in SPR",
- TARGET_QISPR ? "yes" : "no");
-
- fprintf (stderr, DEBUG_FMT_S, "HImode in SPR",
- TARGET_HISPR ? "yes" : "no");
-
- fprintf (stderr, DEBUG_FMT_S, "SImode in SPR",
- TARGET_SISPR || !TARGET_POWERPC64 ? "yes" : "no");
-
- fprintf (stderr, DEBUG_FMT_S, "DImode in SPR",
- TARGET_POWERPC64 ? "yes" : "no");
-
- fprintf (stderr, DEBUG_FMT_S, "SFmode in SPR",
- TARGET_SFSPR ? "yes" : "no");
+ fprintf (stderr, DEBUG_FMT_S, "Small integer modes in SPRs",
+ TARGET_INTSPR ? "yes" : "no");
- fprintf (stderr, DEBUG_FMT_S, "DFmode in SPR",
- TARGET_DFSPR ? "yes" : "no");
+ fprintf (stderr, DEBUG_FMT_S, "Floating point modes in SPRs",
+ TARGET_FPSPR ? "yes" : "no");
}
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
index 27f873972b5..e5657003e27 100644
--- a/gcc/config/rs6000/rs6000.opt
+++ b/gcc/config/rs6000/rs6000.opt
@@ -636,27 +636,15 @@ Allow (do not allow) use the TAR register.
mccspr
Target Undocumented Var(TARGET_CCSPR) Init(0)
-Allow (do not allow) condition modes to be in the CTR or TAR registers.
+Allow (do not allow) condition modes to be in the LR, CTR or TAR registers.
-mqispr
-Target Undocumented Var(TARGET_QISPR) Init(1)
-Allow (do not allow) 8-bit integers to be in the CTR or TAR registers.
+mintspr
+Target Undocumented Var(TARGET_INTSPR) Init(0)
+Allow (do not allow) small integers to be in the LR, CTR or TAR registers.
-mhispr
-Target Undocumented Var(TARGET_HISPR) Init(1)
-Allow (do not allow) 16-bit integers to be in the CTR or TAR registers.
-
-msispr
-Target Undocumented Var(TARGET_SISPR) Init(1)
-Allow (do not allow) 32-bit integers to be in the CTR or TAR registers.
-
-msfspr
-Target Undocumented Var(TARGET_SFSPR) Init(0)
-Allow (do not allow) 32-bit floating point to be in the CTR or TAR registers.
-
-mdfspr
-Target Undocumented Var(TARGET_DFSPR) Init(0)
-Allow (do not allow) 64-bit floating point to be in the CTR or TAR registers.
+mfpspr
+Target Undocumented Var(TARGET_FPSPR) Init(0)
+Allow (do not allow) floating point to be in the LR, CTR or TAR registers.
; Documented parameters
More information about the Gcc-cvs
mailing list