diff options
author | Duane Sand <duane.sand@imgtec.com> | 2014-07-09 13:30:52 -0700 |
---|---|---|
committer | Duane Sand <duane.sand@imgtec.com> | 2014-07-24 11:19:21 -0700 |
commit | 6bab974cdc90cb3a7514c7255b6e6adfb9c98e2b (patch) | |
tree | 6fd1ad797a3a86ff03c891ea9e631f45c5e3fdfd /core | |
parent | 6670e24aed1ca66f21a6af759a0d156bb3df1739 (diff) | |
download | build-6bab974cdc90cb3a7514c7255b6e6adfb9c98e2b.zip build-6bab974cdc90cb3a7514c7255b6e6adfb9c98e2b.tar.gz build-6bab974cdc90cb3a7514c7255b6e6adfb9c98e2b.tar.bz2 |
[MIPSR6] Add mips64r6 and mips32r6 targets
Add mips64r6 target and corresponding mips32r6 target.
Defaults remain as mips64r2 and mips32r2.
Apply -FP64A codegen subsetting to mips32r6 only.
Access FR=0 odd-numbered 32-bit float regs only via
double-prec even-numbered regs, not by single-prec ops.
Change-Id: I1740a6c658304b6c41242be58d68753e6f171658
Diffstat (limited to 'core')
-rw-r--r-- | core/clang/mips.mk | 1 | ||||
-rw-r--r-- | core/clang/mips64.mk | 3 | ||||
-rw-r--r-- | core/combo/arch/mips/mips32r6.mk | 12 | ||||
-rw-r--r-- | core/combo/arch/mips64/mips64r6.mk | 7 |
4 files changed, 21 insertions, 2 deletions
diff --git a/core/clang/mips.mk b/core/clang/mips.mk index 88721e9..1624b6f 100644 --- a/core/clang/mips.mk +++ b/core/clang/mips.mk @@ -9,6 +9,7 @@ CLANG_CONFIG_mips_UNKNOWN_CFLAGS := \ $(CLANG_CONFIG_UNKNOWN_CFLAGS) \ -mips32 \ -mips32r2 \ + -mips32r6 \ -mfp32 \ -mfp64 \ -mfpxx \ diff --git a/core/clang/mips64.mk b/core/clang/mips64.mk index d087b9b..a76aa08 100644 --- a/core/clang/mips64.mk +++ b/core/clang/mips64.mk @@ -1,7 +1,5 @@ # Clang flags for mips64 arch, target or host. -$(warning Untested mips64 clang flags, fix me!) - CLANG_CONFIG_mips64_EXTRA_ASFLAGS := CLANG_CONFIG_mips64_EXTRA_CFLAGS := CLANG_CONFIG_mips64_EXTRA_LDFLAGS := @@ -9,6 +7,7 @@ CLANG_CONFIG_mips64_EXTRA_LDFLAGS := # Include common unknown flags CLANG_CONFIG_mips64_UNKNOWN_CFLAGS := \ $(CLANG_CONFIG_UNKNOWN_CFLAGS) \ + -mips64r6 \ -fno-strict-volatile-bitfields \ -fgcse-after-reload \ -frerun-cse-after-loop \ diff --git a/core/combo/arch/mips/mips32r6.mk b/core/combo/arch/mips/mips32r6.mk new file mode 100644 index 0000000..315aa60 --- /dev/null +++ b/core/combo/arch/mips/mips32r6.mk @@ -0,0 +1,12 @@ +# Configuration for Android on MIPS. +# Generating binaries for MIPS32R6/hard-float/little-endian + +ARCH_MIPS_REV6 := true +arch_variant_cflags := \ + -mips32r6 \ + -mfp64 \ + -mno-odd-spreg \ + -msynci + +arch_variant_ldflags := \ + -Wl,-melf32ltsmip diff --git a/core/combo/arch/mips64/mips64r6.mk b/core/combo/arch/mips64/mips64r6.mk new file mode 100644 index 0000000..443de20 --- /dev/null +++ b/core/combo/arch/mips64/mips64r6.mk @@ -0,0 +1,7 @@ +# Configuration for Android on mips64r6. + +ARCH_MIPS_REV6 := true +arch_variant_cflags := \ + -mips64r6 \ + -msynci + |