aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2021-10-12 11:20:42 +0200
committerEric Botcazou <ebotcazou@adacore.com>2021-10-12 11:20:42 +0200
commita1a7d094307080c3d994209457f732005f59fa6a (patch)
treee1d39ba7f792413ea60b2fb633ef8706841be963 /gcc
parentf5a538e1647ae67cf204c5c3b1bd9cca5224dfd1 (diff)
downloadgcc-a1a7d094307080c3d994209457f732005f59fa6a.zip
gcc-a1a7d094307080c3d994209457f732005f59fa6a.tar.gz
gcc-a1a7d094307080c3d994209457f732005f59fa6a.tar.bz2
Fix PR target/102588
We need a 32-byte wide integer mode (OImode) in order to handle structure returns in the 64-bit ABI. gcc/ PR target/102588 * config/sparc/sparc-modes.def (OI): New integer mode.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sparc/sparc-modes.def3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc-modes.def b/gcc/config/sparc/sparc-modes.def
index 5cc4743..057c093 100644
--- a/gcc/config/sparc/sparc-modes.def
+++ b/gcc/config/sparc/sparc-modes.def
@@ -23,6 +23,9 @@ along with GCC; see the file COPYING3. If not see
/* 128-bit floating point */
FLOAT_MODE (TF, 16, ieee_quad_format);
+/* We need a 32-byte mode to return structures in the 64-bit ABI. */
+INT_MODE (OI, 32);
+
/* Add any extra modes needed to represent the condition code.
We have a CCNZ mode which is used for implicit comparisons with zero when