aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorYunQiang Su <yunqiang.su@cipunited.com>2021-02-25 19:55:10 -0700
committerJeff Law <law@redhat.com>2021-02-25 19:56:07 -0700
commit9967bbfceddce755b18bdbecc6d0c56e994a05cc (patch)
tree3d3f9822acc9a47c34cb4e24717702d06e381c81 /gcc/ada
parent97989a2220c876113ccdfcad5ed247c8efbe1cf0 (diff)
downloadgcc-9967bbfceddce755b18bdbecc6d0c56e994a05cc.zip
gcc-9967bbfceddce755b18bdbecc6d0c56e994a05cc.tar.gz
gcc-9967bbfceddce755b18bdbecc6d0c56e994a05cc.tar.bz2
[PATCH v4 1/2] MIPS: unaligned load: use SImode for SUBREG if OK (PR98996) [PATCH v4 2/2] ada: add 128bit operation for MIPS N32 and N64
gcc/ChangeLog: PR target/98996 * config/mips/mips.c (mips_expand_ext_as_unaligned_load): If TARGET_64BIT and dest is SUBREG, we check the width, if it equal to SImode, we use SImode operation, just like what we are doing for REG one. gcc/ada/ChangeLog: PR ada/98996 * Makefile.rtl: <mips*-*-linux*> add 128Bit operation file for MIPS N64 and N32 to LIBGNAT_TARGET_PAIRS and EXTRA_GNATRTL_NONTASKING_OBJS
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/Makefile.rtl12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index 35faf13..987eff0 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -2311,6 +2311,18 @@ ifeq ($(strip $(filter-out mips% linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \
system.ads<libgnat/system-linux-mips.ads
+ ifeq ($(strip $(filter-out mips64% mipsisa64%,$(target_cpu))),)
+ ifneq ($(strip $(MULTISUBDIR)),/32)
+ LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS)
+ EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS)
+ endif
+ else
+ ifneq ($(strip $(filter /64 /n32,$(MULTISUBDIR))),)
+ LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS)
+ EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS)
+ endif
+ endif
+
TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb
EXTRA_GNATRTL_TASKING_OBJS=s-linux.o