From a1a7d094307080c3d994209457f732005f59fa6a Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 12 Oct 2021 11:20:42 +0200 Subject: 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. --- gcc/config/sparc/sparc-modes.def | 3 +++ 1 file changed, 3 insertions(+) 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 -- cgit v1.1