Index: test/CodeGen/Mips/2010-07-20-Switch.ll =================================================================== --- test/CodeGen/Mips/2010-07-20-Switch.ll +++ test/CodeGen/Mips/2010-07-20-Switch.ll @@ -2,10 +2,14 @@ ; RUN: FileCheck %s -check-prefix=STATIC-O32 ; RUN: llc < %s -march=mips -relocation-model=pic | \ ; RUN: FileCheck %s -check-prefix=PIC-O32 +; RUN: llc < %s -march=mips64 -relocation-model=pic -mcpu=mips4 | \ +; RUN: FileCheck %s -check-prefix=N64 +; RUN: llc < %s -march=mips64 -relocation-model=static -mcpu=mips4 | \ +; RUN: FileCheck %s -check-prefix=N64 ; RUN: llc < %s -march=mips64 -relocation-model=pic -mcpu=mips64 | \ -; RUN: FileCheck %s -check-prefix=N64 +; RUN: FileCheck %s -check-prefix=N64 ; RUN: llc < %s -march=mips64 -relocation-model=static -mcpu=mips64 | \ -; RUN: FileCheck %s -check-prefix=N64 +; RUN: FileCheck %s -check-prefix=N64 define i32 @main() nounwind readnone { entry: Index: test/CodeGen/Mips/cmov.ll =================================================================== --- test/CodeGen/Mips/cmov.ll +++ test/CodeGen/Mips/cmov.ll @@ -1,7 +1,7 @@ ; RUN: llc -march=mips < %s | FileCheck %s -check-prefix=O32 ; RUN: llc -march=mips -regalloc=basic < %s | FileCheck %s -check-prefix=O32 -; RUN: llc -march=mips64el -mcpu=mips64 -mattr=n64 < %s | FileCheck %s -check-prefix=N64 ; RUN: llc -march=mips64el -mcpu=mips4 -mattr=n64 < %s | FileCheck %s -check-prefix=N64 +; RUN: llc -march=mips64el -mcpu=mips64 -mattr=n64 < %s | FileCheck %s -check-prefix=N64 @i1 = global [3 x i32] [i32 1, i32 2, i32 3], align 4 @i3 = common global i32* null, align 4 Index: test/CodeGen/Mips/eh-dwarf-cfa.ll =================================================================== --- test/CodeGen/Mips/eh-dwarf-cfa.ll +++ test/CodeGen/Mips/eh-dwarf-cfa.ll @@ -1,4 +1,6 @@ ; RUN: llc -march=mipsel -mcpu=mips32 < %s | FileCheck %s +; RUN: llc -march=mips64el -mcpu=mips4 < %s | \ +; RUN: FileCheck %s -check-prefix=CHECK-MIPS64 ; RUN: llc -march=mips64el -mcpu=mips64 < %s | \ ; RUN: FileCheck %s -check-prefix=CHECK-MIPS64 Index: test/CodeGen/Mips/eh-return64.ll =================================================================== --- test/CodeGen/Mips/eh-return64.ll +++ test/CodeGen/Mips/eh-return64.ll @@ -1,3 +1,4 @@ +; RUN: llc -march=mips64el -mcpu=mips4 < %s | FileCheck %s ; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s declare void @llvm.eh.return.i64(i64, i8*) Index: test/CodeGen/Mips/elf_eflags.ll =================================================================== --- test/CodeGen/Mips/elf_eflags.ll +++ test/CodeGen/Mips/elf_eflags.ll @@ -23,6 +23,9 @@ ; RUN: llc -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+micromips -relocation-model=static %s -o - | FileCheck -check-prefix=CHECK-LE32R2-MICROMIPS %s ; RUN: llc -mtriple mipsel-unknown-linux -mcpu=mips32r2 -mattr=+micromips %s -o - | FileCheck -check-prefix=CHECK-LE32R2-MICROMIPS_PIC %s +; RUN: llc -mtriple mipsel-unknown-linux -mcpu=mips4 -relocation-model=static %s -o - | FileCheck -check-prefix=CHECK-LE64 %s +; RUN: llc -mtriple mipsel-unknown-linux -mcpu=mips4 %s -o - | FileCheck -check-prefix=CHECK-LE64_PIC %s + ; RUN: llc -mtriple mipsel-unknown-linux -mcpu=mips64 -relocation-model=static %s -o - | FileCheck -check-prefix=CHECK-LE64 %s ; RUN: llc -mtriple mipsel-unknown-linux -mcpu=mips64 %s -o - | FileCheck -check-prefix=CHECK-LE64_PIC %s ; RUN: llc -mtriple mipsel-unknown-linux -mcpu=mips64r2 -relocation-model=static %s -o - | FileCheck -check-prefix=CHECK-LE64R2 %s Index: test/CodeGen/Mips/int-to-float-conversion.ll =================================================================== --- test/CodeGen/Mips/int-to-float-conversion.ll +++ test/CodeGen/Mips/int-to-float-conversion.ll @@ -1,4 +1,5 @@ ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=32 +; RUN: llc -march=mips64el -mcpu=mips4 < %s | FileCheck %s -check-prefix=64 ; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s -check-prefix=64 @i1 = global [3 x i32] [i32 1, i32 2, i32 3], align 4 Index: test/CodeGen/Mips/largeimmprinting.ll =================================================================== --- test/CodeGen/Mips/largeimmprinting.ll +++ test/CodeGen/Mips/largeimmprinting.ll @@ -1,6 +1,8 @@ ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=32 +; RUN: llc -march=mips64el -mcpu=mips4 -mattr=n64 < %s | \ +; RUN: FileCheck %s -check-prefix=64 ; RUN: llc -march=mips64el -mcpu=mips64 -mattr=n64 < %s | \ -; RUN: FileCheck %s -check-prefix=64 +; RUN: FileCheck %s -check-prefix=64 %struct.S1 = type { [65536 x i8] } Index: test/CodeGen/Mips/longbranch.ll =================================================================== --- test/CodeGen/Mips/longbranch.ll +++ test/CodeGen/Mips/longbranch.ll @@ -1,4 +1,5 @@ ; RUN: llc -march=mipsel -force-mips-long-branch -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=O32 +; RUN: llc -march=mips64el -mcpu=mips4 -mattr=n64 -force-mips-long-branch -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=N64 ; RUN: llc -march=mips64el -mcpu=mips64 -mattr=n64 -force-mips-long-branch -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=N64 @g0 = external global i32 Index: test/CodeGen/Mips/mips64-f128.ll =================================================================== --- test/CodeGen/Mips/mips64-f128.ll +++ test/CodeGen/Mips/mips64-f128.ll @@ -1,5 +1,7 @@ +; RUN: llc -mtriple=mips64el-unknown-unknown -mcpu=mips4 -soft-float -O1 \ +; RUN: -disable-mips-delay-filler < %s | FileCheck %s ; RUN: llc -mtriple=mips64el-unknown-unknown -mcpu=mips64 -soft-float -O1 \ -; RUN: -disable-mips-delay-filler < %s | FileCheck %s +; RUN: -disable-mips-delay-filler < %s | FileCheck %s @gld0 = external global fp128 @gld1 = external global fp128 Index: test/CodeGen/Mips/mips64countleading.ll =================================================================== --- test/CodeGen/Mips/mips64countleading.ll +++ test/CodeGen/Mips/mips64countleading.ll @@ -1,8 +1,11 @@ -; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s +; RUN: llc -march=mips64el -mcpu=mips4 < %s | FileCheck -check-prefix=CHECK -check-prefix=MIPS4 %s +; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck -check-prefix=CHECK -check-prefix=MIPS64 %s define i64 @t1(i64 %X) nounwind readnone { entry: -; CHECK: dclz +; CHECK-LABEL: t1: +; MIPS4-NOT: dclz +; MIPS64: dclz %tmp1 = tail call i64 @llvm.ctlz.i64(i64 %X, i1 true) ret i64 %tmp1 } @@ -11,7 +14,9 @@ define i64 @t3(i64 %X) nounwind readnone { entry: -; CHECK: dclo +; CHECK-LABEL: t3: +; MIPS4-NOT: dclo +; MIPS64: dclo %neg = xor i64 %X, -1 %tmp1 = tail call i64 @llvm.ctlz.i64(i64 %neg, i1 true) ret i64 %tmp1 Index: test/CodeGen/Mips/mips64directive.ll =================================================================== --- test/CodeGen/Mips/mips64directive.ll +++ test/CodeGen/Mips/mips64directive.ll @@ -1,3 +1,4 @@ +; RUN: llc < %s -march=mips64el -mcpu=mips4 -mattr=n64 | FileCheck %s ; RUN: llc < %s -march=mips64el -mcpu=mips64 -mattr=n64 | FileCheck %s @gl = global i64 1250999896321, align 8 Index: test/CodeGen/Mips/mips64ext.ll =================================================================== --- test/CodeGen/Mips/mips64ext.ll +++ test/CodeGen/Mips/mips64ext.ll @@ -1,4 +1,5 @@ -; RUN: llc < %s -march=mips64el -mcpu=mips64 -mattr=n64 | FileCheck %s +; RUN: llc < %s -march=mips64el -mcpu=mips4 -mattr=n64 | FileCheck %s +; RUN: llc < %s -march=mips64el -mcpu=mips64 -mattr=n64 | FileCheck %s define i64 @zext64_32(i32 %a) nounwind readnone { entry: Index: test/CodeGen/Mips/mips64fpimm0.ll =================================================================== --- test/CodeGen/Mips/mips64fpimm0.ll +++ test/CodeGen/Mips/mips64fpimm0.ll @@ -1,3 +1,4 @@ +; RUN: llc < %s -march=mips64el -mcpu=mips4 -mattr=n64 | FileCheck %s ; RUN: llc < %s -march=mips64el -mcpu=mips64 -mattr=n64 | FileCheck %s define double @foo1() nounwind readnone { Index: test/CodeGen/Mips/mips64fpldst.ll =================================================================== --- test/CodeGen/Mips/mips64fpldst.ll +++ test/CodeGen/Mips/mips64fpldst.ll @@ -1,3 +1,5 @@ +; RUN: llc < %s -march=mips64el -mcpu=mips4 -mattr=-n64,n64 | FileCheck %s -check-prefix=CHECK-N64 +; RUN: llc < %s -march=mips64el -mcpu=mips4 -mattr=-n64,n32 | FileCheck %s -check-prefix=CHECK-N32 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -mattr=-n64,n64 | FileCheck %s -check-prefix=CHECK-N64 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -mattr=-n64,n32 | FileCheck %s -check-prefix=CHECK-N32 Index: test/CodeGen/Mips/mips64imm.ll =================================================================== --- test/CodeGen/Mips/mips64imm.ll +++ test/CodeGen/Mips/mips64imm.ll @@ -1,3 +1,4 @@ +; RUN: llc -march=mips64el -mcpu=mips4 < %s | FileCheck %s ; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s define i32 @foo1() nounwind readnone { Index: test/CodeGen/Mips/mips64intldst.ll =================================================================== --- test/CodeGen/Mips/mips64intldst.ll +++ test/CodeGen/Mips/mips64intldst.ll @@ -1,3 +1,5 @@ +; RUN: llc < %s -march=mips64el -mcpu=mips4 -mattr=-n64,n64 | FileCheck %s -check-prefix=CHECK-N64 +; RUN: llc < %s -march=mips64el -mcpu=mips4 -mattr=-n64,n32 | FileCheck %s -check-prefix=CHECK-N32 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -mattr=-n64,n64 | FileCheck %s -check-prefix=CHECK-N64 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -mattr=-n64,n32 | FileCheck %s -check-prefix=CHECK-N32 Index: test/CodeGen/Mips/mips64lea.ll =================================================================== --- test/CodeGen/Mips/mips64lea.ll +++ test/CodeGen/Mips/mips64lea.ll @@ -1,3 +1,4 @@ +; RUN: llc -march=mips64el -mcpu=mips4 < %s | FileCheck %s ; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s define void @foo3() nounwind { Index: test/CodeGen/Mips/mips64load-store-left-right.ll =================================================================== --- test/CodeGen/Mips/mips64load-store-left-right.ll +++ test/CodeGen/Mips/mips64load-store-left-right.ll @@ -1,3 +1,5 @@ +; RUN: llc -march=mips64el -mcpu=mips4 -mattr=n64 < %s | FileCheck -check-prefix=EL %s +; RUN: llc -march=mips64 -mcpu=mips4 -mattr=n64 < %s | FileCheck -check-prefix=EB %s ; RUN: llc -march=mips64el -mcpu=mips64 -mattr=n64 < %s | FileCheck -check-prefix=EL %s ; RUN: llc -march=mips64 -mcpu=mips64 -mattr=n64 < %s | FileCheck -check-prefix=EB %s Index: test/CodeGen/Mips/optimize-fp-math.ll =================================================================== --- test/CodeGen/Mips/optimize-fp-math.ll +++ test/CodeGen/Mips/optimize-fp-math.ll @@ -1,4 +1,5 @@ ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=32 +; RUN: llc -march=mips64el -mcpu=mips4 < %s | FileCheck %s -check-prefix=64 ; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s -check-prefix=64 ; 32-LABEL: test_sqrtf_float_: Index: test/CodeGen/Mips/remat-immed-load.ll =================================================================== --- test/CodeGen/Mips/remat-immed-load.ll +++ test/CodeGen/Mips/remat-immed-load.ll @@ -1,4 +1,5 @@ ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=32 +; RUN: llc -march=mips64el -mcpu=mips4 -mattr=n64 < %s | FileCheck %s -check-prefix=64 ; RUN: llc -march=mips64el -mcpu=mips64 -mattr=n64 < %s | FileCheck %s -check-prefix=64 define void @f0() nounwind { Index: test/CodeGen/Mips/sint-fp-store_pattern.ll =================================================================== --- test/CodeGen/Mips/sint-fp-store_pattern.ll +++ test/CodeGen/Mips/sint-fp-store_pattern.ll @@ -1,4 +1,5 @@ ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=32 +; RUN: llc -march=mips64el -mcpu=mips4 < %s | FileCheck %s -check-prefix=64 ; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s -check-prefix=64 @gint_ = external global i32