RISC-V: Fix problems with ilp32e ABI support.
authorJim Wilson <jimw@sifive.com>
Tue, 25 Sep 2018 01:27:06 +0000 (01:27 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Tue, 25 Sep 2018 01:27:06 +0000 (18:27 -0700)
gcc/
PR target/87391
* config/riscv/riscv.h (STACK_BOUNDARY): Test riscv_abi == ABI_ILP32E
not TARGET_RVE.
(ABI_STACK_BOUNDARY, MAX_ARGS_IN_REGISTERS): Likewise.

From-SVN: r264555

gcc/ChangeLog
gcc/config/riscv/riscv.h

index 8011490e00cc008dd09018ca26fbcb6e801d7fb0..c6b3167ac0c059b9d54a4527b017cc32abcfef76 100644 (file)
@@ -1,3 +1,10 @@
+2018-09-24  Jim Wilson  <jimw@sifive.com>
+
+       PR target/87391
+       * config/riscv/riscv.h (STACK_BOUNDARY): Test riscv_abi == ABI_ILP32E
+       not TARGET_RVE.
+       (ABI_STACK_BOUNDARY, MAX_ARGS_IN_REGISTERS): Likewise.
+
 2018-09-24  Andrew Pinski  <apinski@marvell.com>
 
        *  config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Don't
index 5651d1727f8f33c7ed4d2d381588a261d058451b..4bbb491ac87f49a6d02a8e300233f7c2d06eafce 100644 (file)
@@ -126,10 +126,11 @@ along with GCC; see the file COPYING3.  If not see
 #define FUNCTION_BOUNDARY (TARGET_RVC ? 16 : 32)
 
 /* The smallest supported stack boundary the calling convention supports.  */
-#define STACK_BOUNDARY (TARGET_RVE ? BITS_PER_WORD : 2 * BITS_PER_WORD)
+#define STACK_BOUNDARY \
+  (riscv_abi == ABI_ILP32E ? BITS_PER_WORD : 2 * BITS_PER_WORD)
 
 /* The ABI stack alignment.  */
-#define ABI_STACK_BOUNDARY (TARGET_RVE ? BITS_PER_WORD : 128)
+#define ABI_STACK_BOUNDARY (riscv_abi == ABI_ILP32E ? BITS_PER_WORD : 128)
 
 /* There is no point aligning anything to a rounder boundary than this.  */
 #define BIGGEST_ALIGNMENT 128
@@ -492,7 +493,7 @@ enum reg_class
 #define GP_RETURN GP_ARG_FIRST
 #define FP_RETURN (UNITS_PER_FP_ARG == 0 ? GP_RETURN : FP_ARG_FIRST)
 
-#define MAX_ARGS_IN_REGISTERS (TARGET_RVE ? 6 : 8)
+#define MAX_ARGS_IN_REGISTERS (riscv_abi == ABI_ILP32E ? 6 : 8)
 
 /* Symbolic macros for the first/last argument registers.  */