[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
This commit is contained in:
parent
6670e24aed
commit
6bab974cdc
5 changed files with 25 additions and 2 deletions
|
@ -9,6 +9,7 @@ CLANG_CONFIG_mips_UNKNOWN_CFLAGS := \
|
|||
$(CLANG_CONFIG_UNKNOWN_CFLAGS) \
|
||||
-mips32 \
|
||||
-mips32r2 \
|
||||
-mips32r6 \
|
||||
-mfp32 \
|
||||
-mfp64 \
|
||||
-mfpxx \
|
||||
|
|
|
@ -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 \
|
||||
|
|
12
core/combo/arch/mips/mips32r6.mk
Normal file
12
core/combo/arch/mips/mips32r6.mk
Normal file
|
@ -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
|
7
core/combo/arch/mips64/mips64r6.mk
Normal file
7
core/combo/arch/mips64/mips64r6.mk
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Configuration for Android on mips64r6.
|
||||
|
||||
ARCH_MIPS_REV6 := true
|
||||
arch_variant_cflags := \
|
||||
-mips64r6 \
|
||||
-msynci
|
||||
|
|
@ -30,8 +30,12 @@ TARGET_CPU_ABI := mips64
|
|||
|
||||
TARGET_2ND_ARCH := mips
|
||||
ifeq (,$(TARGET_2ND_ARCH_VARIANT))
|
||||
ifeq ($(TARGET_ARCH_VARIANT),mips64r6)
|
||||
TARGET_2ND_ARCH_VARIANT := mips32r6
|
||||
else
|
||||
TARGET_2ND_ARCH_VARIANT := mips32r2-fp
|
||||
endif
|
||||
endif
|
||||
TARGET_2ND_CPU_ABI := mips
|
||||
|
||||
# The emulator (qemu) uses the Goldfish devices
|
||||
|
|
Loading…
Reference in a new issue