mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-24 22:08:57 -04:00

Summary: As a result of this patch, assembling an empty file with GCC and Clang (using GAS as the assembler) now produces identical objects. -mfp32/-mfpxx/-mfp64 now form a trinity of options. -mfpxx is the default when the triple vendor is 'img' or 'mti', the ABI is O32, and the CPU is between mips2 and mips32r2/mips64r2 (inclusive). -mno-shared is always given to the assembler to match the effect of -mabicalls (currently unimplemented but Clang acts as if it is given). Similarly, -call_nonpic is always given to match the effect of -mplt (also unimplemented and acts as if given) except when the ABI is 64 in which case -mplt has no effect so -KPIC is given instead. -mhard-float/-msoft-float are now passed on. -modd-spreg/-mno-odd-spreg are now passed on. -mno-mips16 is correctly passed on. The assembler option is -no-mips16 not -mno-mips16 Differential Revision: http://reviews.llvm.org/D4515 llvm-svn: 213138
34 lines
1.7 KiB
C
34 lines
1.7 KiB
C
// Check that -EL/-EB options adjust the toolchain flags.
|
|
//
|
|
// RUN: %clang -no-canonical-prefixes -target mips-unknown-linux-gnu -### \
|
|
// RUN: -EL -no-integrated-as %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=MIPS32-EL %s
|
|
// MIPS32-EL: "{{.*}}clang{{.*}}" "-cc1" "-triple" "mipsel-unknown-linux-gnu"
|
|
// MIPS32-EL: "{{.*}}as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32"
|
|
// MIPS32-EL: "-EL"
|
|
// MIPS32-EL: "{{.*}}ld{{(.exe)?}}" {{.*}} "-m" "elf32ltsmip"
|
|
//
|
|
// RUN: %clang -no-canonical-prefixes -target mips64-unknown-linux-gnu -### \
|
|
// RUN: -EL -no-integrated-as %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=MIPS64-EL %s
|
|
// MIPS64-EL: "{{.*}}clang{{.*}}" "-cc1" "-triple" "mips64el-unknown-linux-gnu"
|
|
// MIPS64-EL: "{{.*}}as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64"
|
|
// MIPS64-EL: "-EL"
|
|
// MIPS64-EL: "{{.*}}ld{{(.exe)?}}" {{.*}} "-m" "elf64ltsmip"
|
|
//
|
|
// RUN: %clang -no-canonical-prefixes -target mipsel-unknown-linux-gnu -### \
|
|
// RUN: -EB -no-integrated-as %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=MIPS32-EB %s
|
|
// MIPS32-EB: "{{.*}}clang{{.*}}" "-cc1" "-triple" "mips-unknown-linux-gnu"
|
|
// MIPS32-EB: "{{.*}}as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32"
|
|
// MIPS32-EB: "-EB"
|
|
// MIPS32-EB: "{{.*}}ld{{(.exe)?}}" {{.*}} "-m" "elf32btsmip"
|
|
//
|
|
// RUN: %clang -no-canonical-prefixes -target mips64el-unknown-linux-gnu -### \
|
|
// RUN: -EB -no-integrated-as %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=MIPS64-EB %s
|
|
// MIPS64-EB: "{{.*}}clang{{.*}}" "-cc1" "-triple" "mips64-unknown-linux-gnu"
|
|
// MIPS64-EB: "{{.*}}as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64"
|
|
// MIPS64-EB: "-EB"
|
|
// MIPS64-EB: "{{.*}}ld{{(.exe)?}}" {{.*}} "-m" "elf64btsmip"
|