llvm.org GIT mirror llvm / d2c18d6
[mips] Make Static a default relocation model for MIPS codegen This change follows up defaults for GCC and Clang, so LLVM does not differ from them. While number of the test files are touched with this change, they all keep the old (expected) behaviour with the explicit option: "-relocation-model=pic" The tests that have not been touched are insensitive to relocation model. Differential Revision: http://reviews.llvm.org/D17995 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265949 91177308-0d34-0410-b5e6-96231b3b80d8 Petar Jovanovic 4 years ago
77 changed file(s) with 337 addition(s) and 334 deletion(s). Raw diff Collapse all Expand all
8686 CodeModel::Model CM,
8787 CodeGenOpt::Level OL) {
8888 MCCodeGenInfo *X = new MCCodeGenInfo();
89 if (CM == CodeModel::JITDefault)
89 if (RM == Reloc::Default || CM == CodeModel::JITDefault)
9090 RM = Reloc::Static;
91 else if (RM == Reloc::Default)
92 RM = Reloc::PIC_;
9391 X->initMCCodeGenInfo(RM, CM, OL);
9492 return X;
9593 }
0 ; RUN: llc -filetype=asm -mtriple mipsel-unknown-linux -mcpu=mips32 -relocation-model=static %s -o - | FileCheck -check-prefix=ABICALLS -check-prefix=STATIC %s
1 ; RUN: llc -filetype=asm -mtriple mipsel-unknown-linux -mcpu=mips32 %s -o - | FileCheck -check-prefix=ABICALLS -check-prefix=PIC %s
1 ; RUN: llc -filetype=asm -mtriple mipsel-unknown-linux -mcpu=mips32 -relocation-model=pic %s -o - | FileCheck -check-prefix=ABICALLS -check-prefix=PIC %s
22 ; RUN: llc -filetype=asm -mtriple mips64el-unknown-linux -mcpu=mips4 -relocation-model=static %s -o - | FileCheck -check-prefix=ABICALLS -check-prefix=PIC %s
33 ; RUN: llc -filetype=asm -mtriple mips64el-unknown-linux -mcpu=mips64 -relocation-model=static %s -o - | FileCheck -check-prefix=ABICALLS -check-prefix=PIC %s
44
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11
22 define i32 @twoalloca(i32 %size) nounwind {
33 entry:
None ; RUN: llc -march=mipsel --disable-machine-licm -mcpu=mips32 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=NO-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
1 ; RUN: llc -march=mipsel --disable-machine-licm -mcpu=mips32r2 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
2 ; RUN: llc -march=mipsel --disable-machine-licm -mcpu=mips32r6 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=MIPSR6
3 ; RUN: llc -march=mips64el --disable-machine-licm -mcpu=mips4 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64-ANY -check-prefix=NO-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
4 ; RUN: llc -march=mips64el --disable-machine-licm -mcpu=mips64 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64-ANY -check-prefix=NO-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
5 ; RUN: llc -march=mips64el --disable-machine-licm -mcpu=mips64r2 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
6 ; RUN: llc -march=mips64el --disable-machine-licm -mcpu=mips64r6 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=MIPSR6
7 ; RUN: llc -march=mipsel --disable-machine-licm -mcpu=mips32r2 -mattr=micromips < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=MICROMIPS
0 ; RUN: llc -march=mipsel --disable-machine-licm -mcpu=mips32 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=NO-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
1 ; RUN: llc -march=mipsel --disable-machine-licm -mcpu=mips32r2 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
2 ; RUN: llc -march=mipsel --disable-machine-licm -mcpu=mips32r6 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=MIPSR6
3 ; RUN: llc -march=mips64el --disable-machine-licm -mcpu=mips4 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64-ANY -check-prefix=NO-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
4 ; RUN: llc -march=mips64el --disable-machine-licm -mcpu=mips64 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64-ANY -check-prefix=NO-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
5 ; RUN: llc -march=mips64el --disable-machine-licm -mcpu=mips64r2 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=NOT-MICROMIPS
6 ; RUN: llc -march=mips64el --disable-machine-licm -mcpu=mips64r6 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=MIPSR6
7 ; RUN: llc -march=mipsel --disable-machine-licm -mcpu=mips32r2 -mattr=micromips -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=HAS-SEB-SEH -check-prefix=CHECK-EL -check-prefix=MICROMIPS
88
99 ; Keep one big-endian check so that we don't reduce testing, but don't add more
1010 ; since endianness doesn't affect the body of the atomic operations.
11 ; RUN: llc -march=mips --disable-machine-licm -mcpu=mips32 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=NO-SEB-SEH -check-prefix=CHECK-EB -check-prefix=NOT-MICROMIPS
11 ; RUN: llc -march=mips --disable-machine-licm -mcpu=mips32 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32-ANY -check-prefix=NO-SEB-SEH -check-prefix=CHECK-EB -check-prefix=NOT-MICROMIPS
1212
1313 @x = common global i32 0, align 4
1414
None ; RUN: llc -march=mipsel -mxgot < %s | FileCheck %s -check-prefix=O32
1 ; RUN: llc -march=mips64el -mcpu=mips64r2 -mattr=+n64 -mxgot < %s | \
0 ; RUN: llc -march=mipsel -mxgot -relocation-model=pic < %s | FileCheck %s -check-prefix=O32
1 ; RUN: llc -march=mips64el -mcpu=mips64r2 -mattr=+n64 -mxgot -relocation-model=pic < %s | \
22 ; RUN: FileCheck %s -check-prefix=N64
33
44 @v0 = external global i32
0 ; RUN: llc -march=mipsel -O0 < %s | FileCheck %s -check-prefix=None
1 ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=Default
1 ; RUN: llc -march=mipsel -relocation-model=pic < %s | \
2 ; RUN: FileCheck %s -check-prefix=Default
23 ; RUN: llc -march=mipsel -O1 -relocation-model=static < %s | \
34 ; RUN: FileCheck %s -check-prefix=STATICO1
45 ; RUN: llc -march=mipsel -disable-mips-df-forward-search=false \
56 ; RUN: -relocation-model=static < %s | FileCheck %s -check-prefix=FORWARD
6 ; RUN: llc -march=mipsel -disable-mips-df-backward-search \
7 ; RUN: llc -march=mipsel -disable-mips-df-backward-search -relocation-model=pic \
78 ; RUN: -disable-mips-df-succbb-search=false -disable-preheader-prot=true < %s | \
89 ; RUN: FileCheck %s -check-prefix=SUCCBB
910
None ; RUN: llc -march=mipsel -disable-mips-delay-filler < %s | \
0 ; RUN: llc -march=mipsel -disable-mips-delay-filler -relocation-model=pic < %s | \
11 ; RUN: FileCheck %s -check-prefix=O32
22 ; RUN: llc -march=mipsel -mips-load-target-from-got=false \
3 ; RUN: -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=O32-LOADTGT
3 ; RUN: -disable-mips-delay-filler -relocation-model=pic < %s | FileCheck %s -check-prefix=O32-LOADTGT
44
55 @gd1 = common global double 0.000000e+00, align 8
66 @gd2 = common global double 0.000000e+00, align 8
None ; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n32 < %s | FileCheck %s \
1 ; RUN: -check-prefix=ALL -check-prefix=N32 -check-prefix=HARD-FLOAT
2 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n32 < %s | FileCheck %s \
3 ; RUN: -check-prefix=ALL -check-prefix=N32 -check-prefix=HARD-FLOAT
0 ; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n32 -relocation-model=pic < \
1 ; RUN: %s | FileCheck %s -check-prefix=ALL -check-prefix=N32 \
2 ; RUN: -check-prefix=HARD-FLOAT
3 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n32 -relocation-model=pic < \
4 ; RUN: %s | FileCheck %s -check-prefix=ALL -check-prefix=N32 \
5 ; RUN: -check-prefix=HARD-FLOAT
46
5 ; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n64 < %s | FileCheck %s \
6 ; RUN: -check-prefix=ALL -check-prefix=N64 -check-prefix=HARD-FLOAT
7 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 < %s | FileCheck %s \
8 ; RUN: -check-prefix=ALL -check-prefix=N64 -check-prefix=HARD-FLOAT
7 ; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n64 -relocation-model=pic < \
8 ; RUN: %s | FileCheck %s -check-prefix=ALL -check-prefix=N64 \
9 ; RUN: -check-prefix=HARD-FLOAT
10 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 -relocation-model=pic < \
11 ; RUN: %s | FileCheck %s -check-prefix=ALL -check-prefix=N64 \
12 ; RUN: -check-prefix=HARD-FLOAT
913
10 ; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n32 < %s \
11 ; RUN: | FileCheck %s -check-prefix=ALL -check-prefix=N32 \
12 ; RUN: -check-prefix=SOFT-FLOAT
13 ; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n32 < \
14 ; RUN: %s | FileCheck %s -check-prefix=ALL -check-prefix=N32 \
15 ; RUN: -check-prefix=SOFT-FLOAT
14 ; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n32 \
15 ; RUN: -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL \
16 ; RUN: -check-prefix=N32 -check-prefix=SOFT-FLOAT
17 ; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n32 \
18 ; RUN: -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL \
19 ; RUN: -check-prefix=N32 -check-prefix=SOFT-FLOAT
1620
1721 ; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n64 < %s \
1822 ; RUN: | FileCheck %s -check-prefix=ALL -check-prefix=N64 \
None ; RUN: llc -march=mips -mcpu=mips32 < %s | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
1 ; RUN: llc -march=mips -mcpu=mips32 -regalloc=basic < %s | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
2 ; RUN: llc -march=mips -mcpu=mips32r2 < %s | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
3 ; RUN: llc -march=mips -mcpu=mips32r6 < %s | FileCheck %s -check-prefix=ALL -check-prefix=32-CMP
4 ; RUN: llc -march=mips64el -mcpu=mips4 < %s | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
5 ; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
6 ; RUN: llc -march=mips64el -mcpu=mips64r6 < %s | FileCheck %s -check-prefix=ALL -check-prefix=64-CMP
0 ; RUN: llc -march=mips -mcpu=mips32 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
1 ; RUN: llc -march=mips -mcpu=mips32 -regalloc=basic -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
2 ; RUN: llc -march=mips -mcpu=mips32r2 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
3 ; RUN: llc -march=mips -mcpu=mips32r6 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=32-CMP
4 ; RUN: llc -march=mips64el -mcpu=mips4 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
5 ; RUN: llc -march=mips64el -mcpu=mips64 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
6 ; RUN: llc -march=mips64el -mcpu=mips64r6 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=64-CMP
77
88 @i1 = global [3 x i32] [i32 1, i32 2, i32 3], align 4
99 @i3 = common global i32* null, align 4
None ; RUN: llc -march=mips -mcpu=mips32 -verify-machineinstrs < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC32 -check-prefix=ACC32-TRAP
1 ; RUN: llc -march=mips -mcpu=mips32r2 -verify-machineinstrs < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC32 -check-prefix=ACC32-TRAP
2 ; RUN: llc -march=mips -mcpu=mips32r6 -verify-machineinstrs < %s | FileCheck %s -check-prefix=ALL -check-prefix=GPR32 -check-prefix=GPR32-TRAP
3 ; RUN: llc -march=mips64 -mcpu=mips64 -verify-machineinstrs < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC64 -check-prefix=ACC64-TRAP
4 ; RUN: llc -march=mips64 -mcpu=mips64r2 -verify-machineinstrs < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC64 -check-prefix=ACC64-TRAP
5 ; RUN: llc -march=mips64 -mcpu=mips64r6 -verify-machineinstrs < %s | FileCheck %s -check-prefix=ALL -check-prefix=GPR64 -check-prefix=GPR64-TRAP
6
7 ; RUN: llc -march=mips -mcpu=mips32 -mno-check-zero-division < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC32 -check-prefix=NOCHECK
8 ; RUN: llc -march=mips -mcpu=mips32r2 -mno-check-zero-division < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC32 -check-prefix=NOCHECK
9 ; RUN: llc -march=mips -mcpu=mips32r6 -mno-check-zero-division < %s | FileCheck %s -check-prefix=ALL -check-prefix=GPR32 -check-prefix=NOCHECK
10 ; RUN: llc -march=mips64 -mcpu=mips64 -mno-check-zero-division < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC64 -check-prefix=NOCHECK
11 ; RUN: llc -march=mips64 -mcpu=mips64r2 -mno-check-zero-division < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC64 -check-prefix=NOCHECK
12 ; RUN: llc -march=mips64 -mcpu=mips64r6 -mno-check-zero-division < %s | FileCheck %s -check-prefix=ALL -check-prefix=GPR64 -check-prefix=NOCHECK
0 ; RUN: llc -march=mips -mcpu=mips32 -verify-machineinstrs -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC32 -check-prefix=ACC32-TRAP
1 ; RUN: llc -march=mips -mcpu=mips32r2 -verify-machineinstrs -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC32 -check-prefix=ACC32-TRAP
2 ; RUN: llc -march=mips -mcpu=mips32r6 -verify-machineinstrs -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=GPR32 -check-prefix=GPR32-TRAP
3 ; RUN: llc -march=mips64 -mcpu=mips64 -verify-machineinstrs -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC64 -check-prefix=ACC64-TRAP
4 ; RUN: llc -march=mips64 -mcpu=mips64r2 -verify-machineinstrs -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC64 -check-prefix=ACC64-TRAP
5 ; RUN: llc -march=mips64 -mcpu=mips64r6 -verify-machineinstrs -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=GPR64 -check-prefix=GPR64-TRAP
6
7 ; RUN: llc -march=mips -mcpu=mips32 -mno-check-zero-division -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC32 -check-prefix=NOCHECK
8 ; RUN: llc -march=mips -mcpu=mips32r2 -mno-check-zero-division -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC32 -check-prefix=NOCHECK
9 ; RUN: llc -march=mips -mcpu=mips32r6 -mno-check-zero-division -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=GPR32 -check-prefix=NOCHECK
10 ; RUN: llc -march=mips64 -mcpu=mips64 -mno-check-zero-division -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC64 -check-prefix=NOCHECK
11 ; RUN: llc -march=mips64 -mcpu=mips64r2 -mno-check-zero-division -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=ACC64 -check-prefix=NOCHECK
12 ; RUN: llc -march=mips64 -mcpu=mips64r6 -mno-check-zero-division -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=GPR64 -check-prefix=NOCHECK
1313
1414 ; FileCheck Prefixes:
1515 ; ALL - All targets
None ; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s \
0 ; RUN: llc < %s -march=mips -mcpu=mips2 -relocation-model=pic | FileCheck %s \
11 ; RUN: --check-prefix=ALL --check-prefix=GP32
2 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s \
2 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s \
33 ; RUN: --check-prefix=ALL --check-prefix=GP32
4 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s \
4 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s \
55 ; RUN: --check-prefix=ALL --check-prefix=GP32
6 ; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s \
6 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -relocation-model=pic | FileCheck %s \
77 ; RUN: --check-prefix=ALL --check-prefix=GP64 -check-prefix=N64
8 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s \
8 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -relocation-model=pic | FileCheck %s \
99 ; RUN: --check-prefix=ALL --check-prefix=GP64 -check-prefix=N64
10 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \
10 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -relocation-model=pic | FileCheck %s \
1111 ; RUN: --check-prefix=ALL --check-prefix=GP64 -check-prefix=N64
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -target-abi n32 | FileCheck %s \
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -target-abi n32 -relocation-model=pic | FileCheck %s \
1313 ; RUN: --check-prefix=ALL --check-prefix=GP64 -check-prefix=N32
14 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -target-abi n32 | FileCheck %s \
14 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -target-abi n32 -relocation-model=pic | FileCheck %s \
1515 ; RUN: --check-prefix=ALL --check-prefix=GP64 -check-prefix=N32
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -target-abi n32 | FileCheck %s \
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -target-abi n32 -relocation-model=pic | FileCheck %s \
1717 ; RUN: --check-prefix=ALL --check-prefix=GP64 -check-prefix=N32
1818
1919 ; Check dynamic stack realignment in functions without variable-sized objects.
None ; RUN: llc -march=mipsel -mcpu=mips32 -asm-show-inst < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
1 ; RUN: llc -march=mipsel -mcpu=mips32r2 -asm-show-inst < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
2 ; RUN: llc -march=mipsel -mcpu=mips32r6 -asm-show-inst < %s | FileCheck %s -check-prefix=CHECK -check-prefix=R6
0 ; RUN: llc -march=mipsel -mcpu=mips32 -asm-show-inst -relocation-model=pic < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
1 ; RUN: llc -march=mipsel -mcpu=mips32r2 -asm-show-inst -relocation-model=pic < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
2 ; RUN: llc -march=mipsel -mcpu=mips32r6 -asm-show-inst -relocation-model=pic < %s | FileCheck %s -check-prefix=CHECK -check-prefix=R6
33
44 declare void @llvm.eh.return.i32(i32, i8*)
55 declare void @foo(...)
None ; RUN: llc -march=mips64el -mcpu=mips4 -asm-show-inst < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
1 ; RUN: llc -march=mips64el -mcpu=mips64 -asm-show-inst < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
2 ; RUN: llc -march=mips64el -mcpu=mips64r2 -asm-show-inst < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
3 ; RUN: llc -march=mips64el -mcpu=mips64r6 -asm-show-inst < %s | FileCheck %s -check-prefix=CHECK -check-prefix=R6
0 ; RUN: llc -march=mips64el -mcpu=mips4 -asm-show-inst -relocation-model=pic < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
1 ; RUN: llc -march=mips64el -mcpu=mips64 -asm-show-inst -relocation-model=pic < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
2 ; RUN: llc -march=mips64el -mcpu=mips64r2 -asm-show-inst -relocation-model=pic < %s | FileCheck %s -check-prefix=CHECK -check-prefix=NOT-R6
3 ; RUN: llc -march=mips64el -mcpu=mips64r6 -asm-show-inst -relocation-model=pic < %s | FileCheck %s -check-prefix=CHECK -check-prefix=R6
44
55 declare void @llvm.eh.return.i64(i64, i8*)
66 declare void @foo(...)
None ; RUN: llc -mtriple=mipsel-linux-gnu < %s -asm-verbose | FileCheck -check-prefix=ALL -check-prefix=O32 %s
1 ; RUN: llc -mtriple=mipsel-linux-android < %s -asm-verbose | FileCheck -check-prefix=ALL -check-prefix=O32 %s
2 ; RUN: llc -mtriple=mips64el-linux-gnu -target-abi=n32 < %s -asm-verbose | FileCheck -check-prefix=ALL -check-prefix=N32 %s
3 ; RUN: llc -mtriple=mips64el-linux-android -target-abi=n32 < %s -asm-verbose | FileCheck -check-prefix=ALL -check-prefix=N32 %s
4 ; RUN: llc -mtriple=mips64el-linux-gnu < %s -asm-verbose | FileCheck -check-prefix=ALL -check-prefix=N64 %s
5 ; RUN: llc -mtriple=mips64el-linux-android < %s -asm-verbose | FileCheck -check-prefix=ALL -check-prefix=N64 %s
0 ; RUN: llc -mtriple=mipsel-linux-gnu < %s -asm-verbose -relocation-model=pic | FileCheck -check-prefix=ALL -check-prefix=O32 %s
1 ; RUN: llc -mtriple=mipsel-linux-android < %s -asm-verbose -relocation-model=pic | FileCheck -check-prefix=ALL -check-prefix=O32 %s
2 ; RUN: llc -mtriple=mips64el-linux-gnu -target-abi=n32 < %s -asm-verbose -relocation-model=pic | FileCheck -check-prefix=ALL -check-prefix=N32 %s
3 ; RUN: llc -mtriple=mips64el-linux-android -target-abi=n32 < %s -asm-verbose -relocation-model=pic | FileCheck -check-prefix=ALL -check-prefix=N32 %s
4 ; RUN: llc -mtriple=mips64el-linux-gnu < %s -asm-verbose -relocation-model=pic | FileCheck -check-prefix=ALL -check-prefix=N64 %s
5 ; RUN: llc -mtriple=mips64el-linux-android < %s -asm-verbose -relocation-model=pic | FileCheck -check-prefix=ALL -check-prefix=N64 %s
66
77 @_ZTISt9exception = external constant i8*
88
0 ; Check that register scavenging spill slot is close to $fp.
1 ; RUN: llc -march=mipsel -O0 < %s | FileCheck %s
1 ; RUN: llc -march=mipsel -O0 -relocation-model=pic < %s | FileCheck %s
22
33 ; CHECK: sw ${{.*}}, 8($sp)
44 ; CHECK: lw ${{.*}}, 8($sp)
None ; RUN: llc < %s -march=mipsel | FileCheck %s
1 ; RUN: llc < %s -mtriple=mipsel-none-nacl-gnu \
0 ; RUN: llc < %s -march=mipsel -relocation-model=pic | FileCheck %s
1 ; RUN: llc < %s -mtriple=mipsel-none-nacl-gnu -relocation-model=pic \
22 ; RUN: | FileCheck %s -check-prefix=CHECK-NACL
3 ; RUN: llc < %s -march=mipsel -mcpu=mips32 -mattr=+nooddspreg | FileCheck %s -check-prefix=NOODDSPREG
4 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -mattr=+fp64,+nooddspreg | FileCheck %s -check-prefix=FP64-NOODDSPREG
3 ; RUN: llc < %s -march=mipsel -mcpu=mips32 -mattr=+nooddspreg -relocation-model=pic | FileCheck %s -check-prefix=NOODDSPREG
4 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -mattr=+fp64,+nooddspreg -relocation-model=pic | FileCheck %s -check-prefix=FP64-NOODDSPREG
55
66
77 @gi0 = external global i32
None ; RUN: llc -march=mipsel -mcpu=mips32 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32R1
1 ; RUN: llc -march=mipsel -mcpu=mips32r2 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32R2
2 ; RUN: llc -march=mipsel -mcpu=mips32r6 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32R6
3 ; RUN: llc -march=mips64el -mcpu=mips4 -target-abi=n64 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS4
4 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS4
5 ; RUN: llc -march=mips64el -mcpu=mips64r2 -target-abi=n64 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS4
6 ; RUN: llc -march=mips64el -mcpu=mips64r6 -target-abi=n64 < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64R6
0 ; RUN: llc -march=mipsel -mcpu=mips32 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32R1
1 ; RUN: llc -march=mipsel -mcpu=mips32r2 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32R2
2 ; RUN: llc -march=mipsel -mcpu=mips32r6 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS32R6
3 ; RUN: llc -march=mips64el -mcpu=mips4 -target-abi=n64 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS4
4 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS4
5 ; RUN: llc -march=mips64el -mcpu=mips64r2 -target-abi=n64 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS4
6 ; RUN: llc -march=mips64el -mcpu=mips64r6 -target-abi=n64 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=MIPS64R6
77
88 ; Check that [ls][dwu]xc1 are not emitted for nacl.
99 ; RUN: llc -mtriple=mipsel-none-nacl-gnu -mcpu=mips32r2 < %s | FileCheck %s -check-prefix=CHECK-NACL
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11 ; check that $fp is not reserved.
22
33 define void @foo0(i32* nocapture %b) nounwind {
None ; RUN: llc -asm-verbose=false -mtriple=mipsel-linux-gnueabi < %s | FileCheck %s -check-prefix=CHECK-LIBCALL
0 ; RUN: llc -asm-verbose=false -mtriple=mipsel-linux-gnueabi -relocation-model=pic < %s | FileCheck %s -check-prefix=CHECK-LIBCALL
11
22 ; CHECK-LIBCALL-LABEL: test_fadd:
33 ; CHECK-LIBCALL: %call16(__gnu_h2f_ieee)
None ; RUN: llc < %s -march=mipsel -mcpu=mips32 | FileCheck %s -check-prefix=ALL -check-prefix=FCC -check-prefix=32-FCC
1 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 | FileCheck %s -check-prefix=ALL -check-prefix=FCC -check-prefix=32-FCC
2 ; RUN: llc < %s -march=mipsel -mcpu=mips32r6 | FileCheck %s -check-prefix=ALL -check-prefix=GPR -check-prefix=32-GPR
0 ; RUN: llc < %s -march=mipsel -mcpu=mips32 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=FCC -check-prefix=32-FCC
1 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=FCC -check-prefix=32-FCC
2 ; RUN: llc < %s -march=mipsel -mcpu=mips32r6 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=GPR -check-prefix=32-GPR
33 ; RUN: llc < %s -march=mips64el -mcpu=mips64 | FileCheck %s -check-prefix=ALL -check-prefix=FCC -check-prefix=64-FCC
44 ; RUN: llc < %s -march=mips64el -mcpu=mips64r2 | FileCheck %s -check-prefix=ALL -check-prefix=FCC -check-prefix=64-FCC
55 ; RUN: llc < %s -march=mips64el -mcpu=mips64r6 | FileCheck %s -check-prefix=ALL -check-prefix=GPR -check-prefix=64-GPR
None ; RUN: llc -march=mipsel -disable-mips-delay-filler < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -disable-mips-delay-filler -relocation-model=pic < %s | FileCheck %s
11
22 @g = external global i32
33
None ; RUN: llc -march=mips < %s | FileCheck %s
0 ; RUN: llc -march=mips -relocation-model=pic < %s | FileCheck %s
11
22 define void @f1(i64 %ll1, float %f, i64 %ll, i32 %i, float %f2) nounwind {
33 entry:
0 ; Positive test for inline register constraints
11 ;
2 ; RUN: llc -no-integrated-as -march=mipsel < %s | \
2 ; RUN: llc -no-integrated-as -march=mipsel -relocation-model=pic < %s | \
33 ; RUN: FileCheck -check-prefix=ALL -check-prefix=LE32 -check-prefix=GAS %s
4 ; RUN: llc -no-integrated-as -march=mips < %s | \
4 ; RUN: llc -no-integrated-as -march=mips -relocation-model=pic < %s | \
55 ; RUN: FileCheck -check-prefix=ALL -check-prefix=BE32 -check-prefix=GAS %s
66
77 %union.u_tag = type { i64 }
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11
22 @data = global [8193 x i32] zeroinitializer
33
None ; RUN: llc -march=mipsel -mcpu=mips32r6 < %s | FileCheck %s -check-prefix=ALL -check-prefix=09BIT
1 ; RUN: llc -march=mipsel -mattr=+micromips < %s | FileCheck %s -check-prefix=ALL -check-prefix=12BIT
2 ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=ALL -check-prefix=16BIT
0 ; RUN: llc -march=mipsel -mcpu=mips32r6 -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=09BIT
1 ; RUN: llc -march=mipsel -mattr=+micromips -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=12BIT
2 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL -check-prefix=16BIT
33
44 @data = global [8193 x i32] zeroinitializer
55
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11
22 @data = global [8193 x i32] zeroinitializer
33
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11
22 ; Simple memory
33 @g1 = external global i32
None ; RUN: llc < %s -march=mipsel | FileCheck %s
0 ; RUN: llc < %s -march=mipsel -relocation-model=pic | FileCheck %s
11
22 @caller.sf1 = internal unnamed_addr global void (...)* null, align 4
33 @gf1 = external global void (...)*
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11
22 ; CHECK: lui ${{[0-9]+}}, 49152
33 ; CHECK: lui ${{[0-9]+}}, 16384
None ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=32
1 ; RUN: llc -march=mips64el -mcpu=mips4 -target-abi=n64 < %s | \
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s -check-prefix=32
1 ; RUN: llc -march=mips64el -mcpu=mips4 -target-abi=n64 -relocation-model=pic < %s | \
22 ; RUN: FileCheck %s -check-prefix=64
3 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 < %s | \
3 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 -relocation-model=pic < %s | \
44 ; RUN: FileCheck %s -check-prefix=64
55
66 %struct.S1 = type { [65536 x i8] }
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11
22 ; CHECK-LABEL: foo6:
33 ; CHECK: %while.body
None ; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s \
0 ; RUN: llc < %s -march=mips -mcpu=mips2 -relocation-model=pic | FileCheck %s \
11 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
22 ; RUN: -check-prefix=M2
3 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s \
3 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s \
44 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
55 ; RUN: -check-prefix=32R1-R5
6 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s \
6 ; RUN: llc < %s -march=mips -mcpu=mips32r2 -relocation-model=pic | FileCheck %s \
77 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
88 ; RUN: -check-prefix=32R1-R5
9 ; RUN: llc < %s -march=mips -mcpu=mips32r3 | FileCheck %s \
9 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -relocation-model=pic | FileCheck %s \
1010 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
1111 ; RUN: -check-prefix=32R1-R5
12 ; RUN: llc < %s -march=mips -mcpu=mips32r5 | FileCheck %s \
12 ; RUN: llc < %s -march=mips -mcpu=mips32r5 -relocation-model=pic | FileCheck %s \
1313 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
1414 ; RUN: -check-prefix=32R1-R5
15 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s \
15 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s \
1616 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
1717 ; RUN: -check-prefix=32R6
18 ; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s \
18 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -relocation-model=pic | FileCheck %s \
1919 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2020 ; RUN: -check-prefix=M3
21 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | FileCheck %s \
21 ; RUN: llc < %s -march=mips64 -mcpu=mips4 -relocation-model=pic | FileCheck %s \
2222 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2323 ; RUN: -check-prefix=GP64-NOT-R6
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s \
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -relocation-model=pic | FileCheck %s \
2525 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2626 ; RUN: -check-prefix=GP64-NOT-R6
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | FileCheck %s \
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 -relocation-model=pic | FileCheck %s \
2828 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2929 ; RUN: -check-prefix=GP64-NOT-R6
30 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 | FileCheck %s \
30 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 -relocation-model=pic | FileCheck %s \
3131 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
3232 ; RUN: -check-prefix=GP64-NOT-R6
33 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 | FileCheck %s \
33 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 -relocation-model=pic | FileCheck %s \
3434 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
3535 ; RUN: -check-prefix=GP64-NOT-R6
36 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \
36 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -relocation-model=pic | FileCheck %s \
3737 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
3838 ; RUN: -check-prefix=64R6
3939
0 ; Test the 'call' instruction and the tailcall variant.
11
22 ; FIXME: We should remove the need for -enable-mips-tail-calls
3 ; RUN: llc -march=mips -mcpu=mips32 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=NOT-R6C
4 ; RUN: llc -march=mips -mcpu=mips32r2 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=NOT-R6C
5 ; RUN: llc -march=mips -mcpu=mips32r3 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=NOT-R6C
6 ; RUN: llc -march=mips -mcpu=mips32r5 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=NOT-R6C
7 ; RUN: llc -march=mips -mcpu=mips32r6 -disable-mips-delay-filler -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=R6C
8 ; RUN: llc -march=mips -mcpu=mips32r6 -mattr=+fp64,+nooddspreg -disable-mips-delay-filler -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=R6C
3 ; RUN: llc -march=mips -mcpu=mips32 -relocation-model=pic -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=NOT-R6C
4 ; RUN: llc -march=mips -mcpu=mips32r2 -relocation-model=pic -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=NOT-R6C
5 ; RUN: llc -march=mips -mcpu=mips32r3 -relocation-model=pic -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=NOT-R6C
6 ; RUN: llc -march=mips -mcpu=mips32r5 -relocation-model=pic -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=NOT-R6C
7 ; RUN: llc -march=mips -mcpu=mips32r6 -relocation-model=pic -disable-mips-delay-filler -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=R6C
8 ; RUN: llc -march=mips -mcpu=mips32r6 -relocation-model=pic -mattr=+fp64,+nooddspreg -disable-mips-delay-filler -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=O32 -check-prefix=R6C
99 ; RUN: llc -march=mips64 -mcpu=mips4 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=N64 -check-prefix=NOT-R6C
1010 ; RUN: llc -march=mips64 -mcpu=mips64 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=N64 -check-prefix=NOT-R6C
1111 ; RUN: llc -march=mips64 -mcpu=mips64r2 -enable-mips-tail-calls < %s | FileCheck %s -check-prefix=ALL -check-prefix=N64 -check-prefix=NOT-R6C
None ; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s \
0 ; RUN: llc < %s -march=mips -mcpu=mips2 -relocation-model=pic | FileCheck %s \
11 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
22 ; RUN: -check-prefix=M2
3 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s \
3 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s \
44 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
55 ; RUN: -check-prefix=32R1-R5
6 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s \
6 ; RUN: llc < %s -march=mips -mcpu=mips32r2 -relocation-model=pic | FileCheck %s \
77 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
88 ; RUN: -check-prefix=32R1-R5
9 ; RUN: llc < %s -march=mips -mcpu=mips32r3 | FileCheck %s \
9 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -relocation-model=pic | FileCheck %s \
1010 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
1111 ; RUN: -check-prefix=32R1-R5
12 ; RUN: llc < %s -march=mips -mcpu=mips32r5 | FileCheck %s \
12 ; RUN: llc < %s -march=mips -mcpu=mips32r5 -relocation-model=pic | FileCheck %s \
1313 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
1414 ; RUN: -check-prefix=32R1-R5
15 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s \
15 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s \
1616 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
1717 ; RUN: -check-prefix=32R6
18 ; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s \
18 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -relocation-model=pic | FileCheck %s \
1919 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2020 ; RUN: -check-prefix=M3
21 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | FileCheck %s \
21 ; RUN: llc < %s -march=mips64 -mcpu=mips4 -relocation-model=pic | FileCheck %s \
2222 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2323 ; RUN: -check-prefix=GP64-NOT-R6
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s \
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -relocation-model=pic | FileCheck %s \
2525 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2626 ; RUN: -check-prefix=GP64-NOT-R6
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | FileCheck %s \
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 -relocation-model=pic | FileCheck %s \
2828 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2929 ; RUN: -check-prefix=GP64-NOT-R6
30 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 | FileCheck %s \
30 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 -relocation-model=pic | FileCheck %s \
3131 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
3232 ; RUN: -check-prefix=GP64-NOT-R6
33 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 | FileCheck %s \
33 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 -relocation-model=pic | FileCheck %s \
3434 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
3535 ; RUN: -check-prefix=GP64-NOT-R6
36 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \
36 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -relocation-model=pic | FileCheck %s \
3737 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
3838 ; RUN: -check-prefix=64R6
3939
None ; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s -check-prefix=ALL \
0 ; RUN: llc < %s -march=mips -mcpu=mips2 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
11 ; RUN: -check-prefix=M2 -check-prefix=GP32
2 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s -check-prefix=ALL \
2 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
33 ; RUN: -check-prefix=32R1-R5 -check-prefix=GP32
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s -check-prefix=ALL \
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
55 ; RUN: -check-prefix=32R1-R5 -check-prefix=32R2-R5 -check-prefix=GP32
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 | FileCheck %s -check-prefix=ALL \
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
77 ; RUN: -check-prefix=32R1-R5 -check-prefix=32R2-R5 -check-prefix=GP32
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 | FileCheck %s -check-prefix=ALL \
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
99 ; RUN: -check-prefix=32R1-R5 -check-prefix=32R2-R5 -check-prefix=GP32
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s -check-prefix=ALL \
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
1111 ; RUN: -check-prefix=32R6 -check-prefix=GP32
12 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | FileCheck %s -check-prefix=ALL \
12 ; RUN: llc < %s -march=mips64 -mcpu=mips4 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
1313 ; RUN: -check-prefix=M4 -check-prefix=GP64-NOT-R6
14 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s -check-prefix=ALL \
14 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
1515 ; RUN: -check-prefix=64R1-R5 -check-prefix=GP64-NOT-R6
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | FileCheck %s -check-prefix=ALL \
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
1717 ; RUN: -check-prefix=64R1-R5 -check-prefix=GP64 -check-prefix=GP64-NOT-R6
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 | FileCheck %s -check-prefix=ALL \
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
1919 ; RUN: -check-prefix=64R1-R5 -check-prefix=GP64 -check-prefix=GP64-NOT-R6
20 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 | FileCheck %s -check-prefix=ALL \
20 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
2121 ; RUN: -check-prefix=64R1-R5 -check-prefix=GP64 -check-prefix=GP64-NOT-R6
22 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s -check-prefix=ALL \
22 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -relocation-model=pic | FileCheck %s -check-prefix=ALL \
2323 ; RUN: -check-prefix=64R6
2424
2525 define signext i1 @mul_i1(i1 signext %a, i1 signext %b) {
None ; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s \
0 ; RUN: llc < %s -march=mips -mcpu=mips2 -relocation-model=pic | FileCheck %s \
11 ; RUN: -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6 -check-prefix=GP32
2 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s \
2 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s \
33 ; RUN: -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6 -check-prefix=GP32
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s \
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 -relocation-model=pic | FileCheck %s \
55 ; RUN: -check-prefix=NOT-R6 -check-prefix=R2-R5 -check-prefix=GP32
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 | FileCheck %s \
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -relocation-model=pic | FileCheck %s \
77 ; RUN: -check-prefix=NOT-R6 -check-prefix=R2-R5 -check-prefix=GP32
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 | FileCheck %s \
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 -relocation-model=pic | FileCheck %s \
99 ; RUN: -check-prefix=NOT-R6 -check-prefix=R2-R5 -check-prefix=GP32
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s \
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s \
1111 ; RUN: -check-prefix=R6 -check-prefix=GP32
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s \
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -relocation-model=pic | FileCheck %s \
1313 ; RUN: -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6 -check-prefix=GP64-NOT-R6
14 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | FileCheck %s \
14 ; RUN: llc < %s -march=mips64 -mcpu=mips4 -relocation-model=pic | FileCheck %s \
1515 ; RUN: -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6 -check-prefix=GP64-NOT-R6
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s \
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -relocation-model=pic | FileCheck %s \
1717 ; RUN: -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6 -check-prefix=GP64-NOT-R6
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | FileCheck %s \
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 -relocation-model=pic | FileCheck %s \
1919 ; RUN: -check-prefix=NOT-R6 -check-prefix=R2-R5 -check-prefix=GP64-NOT-R6
20 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 | FileCheck %s \
20 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 -relocation-model=pic | FileCheck %s \
2121 ; RUN: -check-prefix=NOT-R6 -check-prefix=R2-R5 -check-prefix=GP64-NOT-R6
22 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 | FileCheck %s \
22 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 -relocation-model=pic | FileCheck %s \
2323 ; RUN: -check-prefix=NOT-R6 -check-prefix=R2-R5 -check-prefix=GP64-NOT-R6
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -relocation-model=pic | FileCheck %s \
2525 ; RUN: -check-prefix=R6 -check-prefix=64R6
2626
2727 define signext i1 @sdiv_i1(i1 signext %a, i1 signext %b) {
None ; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s \
0 ; RUN: llc < %s -march=mips -mcpu=mips2 -relocation-model=pic | FileCheck %s \
11 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
22 ; RUN: -check-prefix=M2 -check-prefix=NOT-R2-R6
3 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s \
3 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s \
44 ; RUN: -check-prefix=ALL -check-prefix=GP32 -check-prefix=NOT-R2-R6 \
55 ; RUN: -check-prefix=32R1-R5
6 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s \
6 ; RUN: llc < %s -march=mips -mcpu=mips32r2 -relocation-model=pic | FileCheck %s \
77 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
88 ; RUN: -check-prefix=32R1-R5 -check-prefix=R2-R6
9 ; RUN: llc < %s -march=mips -mcpu=mips32r3 | FileCheck %s \
9 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -relocation-model=pic | FileCheck %s \
1010 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
1111 ; RUN: -check-prefix=32R1-R5 -check-prefix=R2-R6
12 ; RUN: llc < %s -march=mips -mcpu=mips32r5 | FileCheck %s \
12 ; RUN: llc < %s -march=mips -mcpu=mips32r5 -relocation-model=pic | FileCheck %s \
1313 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
1414 ; RUN: -check-prefix=32R1-R5 -check-prefix=R2-R6
15 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s \
15 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s \
1616 ; RUN: -check-prefix=ALL -check-prefix=GP32 \
1717 ; RUN: -check-prefix=32R6 -check-prefix=R2-R6
18 ; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s \
18 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -relocation-model=pic | FileCheck %s \
1919 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2020 ; RUN: -check-prefix=M3 -check-prefix=NOT-R2-R6
21 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | FileCheck %s \
21 ; RUN: llc < %s -march=mips64 -mcpu=mips4 -relocation-model=pic | FileCheck %s \
2222 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2323 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R2-R6
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s \
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -relocation-model=pic | FileCheck %s \
2525 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2626 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R2-R6
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | FileCheck %s \
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 -relocation-model=pic | FileCheck %s \
2828 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
2929 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix R2-R6
30 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 | FileCheck %s \
30 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 -relocation-model=pic | FileCheck %s \
3131 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
3232 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix R2-R6
33 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 | FileCheck %s \
33 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 -relocation-model=pic | FileCheck %s \
3434 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
3535 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix R2-R6
36 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \
36 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -relocation-model=pic | FileCheck %s \
3737 ; RUN: -check-prefix=ALL -check-prefix=GP64 \
3838 ; RUN: -check-prefix=64R6 -check-prefix=R2-R6
3939
None ; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s \
0 ; RUN: llc < %s -march=mips -mcpu=mips2 -relocation-model=pic | FileCheck %s \
11 ; RUN: -check-prefix=GP32 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
2 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s \
2 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s \
33 ; RUN: -check-prefix=GP32 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s -check-prefix=GP32 \
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 -relocation-model=pic | FileCheck %s -check-prefix=GP32 \
55 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 -check-prefix=NOT-R6
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 | FileCheck %s -check-prefix=GP32 \
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -relocation-model=pic | FileCheck %s -check-prefix=GP32 \
77 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 -check-prefix=NOT-R6
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 | FileCheck %s -check-prefix=GP32 \
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 -relocation-model=pic | FileCheck %s -check-prefix=GP32 \
99 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 -check-prefix=NOT-R6
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s \
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s \
1111 ; RUN: -check-prefix=GP32 -check-prefix=R6 -check-prefix=R2-R6
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s \
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -relocation-model=pic | FileCheck %s \
1313 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
14 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | FileCheck %s \
14 ; RUN: llc < %s -march=mips64 -mcpu=mips4 -relocation-model=pic | FileCheck %s \
1515 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s \
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -relocation-model=pic | FileCheck %s \
1717 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | FileCheck %s \
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 -relocation-model=pic | FileCheck %s \
1919 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 \
2020 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6
21 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 | FileCheck %s \
21 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 -relocation-model=pic | FileCheck %s \
2222 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 \
2323 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 | FileCheck %s \
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 -relocation-model=pic | FileCheck %s \
2525 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 \
2626 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -relocation-model=pic | FileCheck %s \
2828 ; RUN: -check-prefix=64R6 -check-prefix=R6 -check-prefix=R2-R6
2929
3030 define signext i1 @srem_i1(i1 signext %a, i1 signext %b) {
None ; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s \
0 ; RUN: llc < %s -march=mips -mcpu=mips2 -relocation-model=pic | FileCheck %s \
11 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP32
2 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s \
2 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s \
33 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP32
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s \
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 -relocation-model=pic | FileCheck %s \
55 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP32
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 | FileCheck %s \
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -relocation-model=pic | FileCheck %s \
77 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP32
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 | FileCheck %s \
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 -relocation-model=pic | FileCheck %s \
99 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP32
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s \
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s \
1111 ; RUN: -check-prefix=R6 -check-prefix=GP32
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s \
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -relocation-model=pic | FileCheck %s \
1313 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP64-NOT-R6
14 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | FileCheck %s \
14 ; RUN: llc < %s -march=mips64 -mcpu=mips4 -relocation-model=pic | FileCheck %s \
1515 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP64-NOT-R6
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s \
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -relocation-model=pic | FileCheck %s \
1717 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP64-NOT-R6
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | FileCheck %s \
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 -relocation-model=pic | FileCheck %s \
1919 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP64-NOT-R6
20 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 | FileCheck %s \
20 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 -relocation-model=pic | FileCheck %s \
2121 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP64-NOT-R6
22 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 | FileCheck %s \
22 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 -relocation-model=pic | FileCheck %s \
2323 ; RUN: -check-prefix=NOT-R6 -check-prefix=GP64-NOT-R6
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -relocation-model=pic | FileCheck %s \
2525 ; RUN: -check-prefix=R6 -check-prefix=64R6
2626
2727 define zeroext i1 @udiv_i1(i1 zeroext %a, i1 zeroext %b) {
None ; RUN: llc < %s -march=mips -mcpu=mips2 | FileCheck %s \
1 ; RUN: -check-prefix=GP32 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
2 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s \
3 ; RUN: -check-prefix=GP32 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s -check-prefix=GP32 \
0 ; RUN: llc < %s -march=mips -mcpu=mips2 -relocation-model=pic | FileCheck %s \
1 ; RUN: -check-prefix=GP32 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
2 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s \
3 ; RUN: -check-prefix=GP32 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
4 ; RUN: llc < %s -march=mips -mcpu=mips32r2 -relocation-model=pic | FileCheck %s -check-prefix=GP32 \
55 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 -check-prefix=NOT-R6
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 | FileCheck %s -check-prefix=GP32 \
6 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -relocation-model=pic | FileCheck %s -check-prefix=GP32 \
77 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 -check-prefix=NOT-R6
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 | FileCheck %s -check-prefix=GP32 \
8 ; RUN: llc < %s -march=mips -mcpu=mips32r5 -relocation-model=pic | FileCheck %s -check-prefix=GP32 \
99 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 -check-prefix=NOT-R6
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s \
10 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s \
1111 ; RUN: -check-prefix=GP32 -check-prefix=R6 -check-prefix=R2-R6
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s \
12 ; RUN: llc < %s -march=mips64 -mcpu=mips3 -relocation-model=pic | FileCheck %s \
1313 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
14 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | FileCheck %s \
14 ; RUN: llc < %s -march=mips64 -mcpu=mips4 -relocation-model=pic | FileCheck %s \
1515 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | FileCheck %s \
16 ; RUN: llc < %s -march=mips64 -mcpu=mips64 -relocation-model=pic | FileCheck %s \
1717 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6 -check-prefix=NOT-R2-R6
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | FileCheck %s \
18 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 -relocation-model=pic | FileCheck %s \
1919 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 \
2020 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6
21 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 | FileCheck %s \
21 ; RUN: llc < %s -march=mips64 -mcpu=mips64r3 -relocation-model=pic | FileCheck %s \
2222 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 \
2323 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 | FileCheck %s \
24 ; RUN: llc < %s -march=mips64 -mcpu=mips64r5 -relocation-model=pic | FileCheck %s \
2525 ; RUN: -check-prefix=R2-R5 -check-prefix=R2-R6 \
2626 ; RUN: -check-prefix=GP64-NOT-R6 -check-prefix=NOT-R6
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | FileCheck %s \
27 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -relocation-model=pic | FileCheck %s \
2828 ; RUN: -check-prefix=64R6 -check-prefix=R6 -check-prefix=R2-R6
2929
3030 define signext i1 @urem_i1(i1 signext %a, i1 signext %b) {
None ; RUN: llc -march=mipsel -mcpu=mips32 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32 -check-prefix=MIPS32-EL %s
1 ; RUN: llc -march=mips -mcpu=mips32 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32 -check-prefix=MIPS32-EB %s
2 ; RUN: llc -march=mipsel -mcpu=mips32r2 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32 -check-prefix=MIPS32-EL %s
3 ; RUN: llc -march=mips -mcpu=mips32r2 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32 -check-prefix=MIPS32-EB %s
4 ; RUN: llc -march=mipsel -mcpu=mips32r6 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32R6 -check-prefix=MIPS32R6-EL %s
5 ; RUN: llc -march=mips -mcpu=mips32r6 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32R6 -check-prefix=MIPS32R6-EB %s
6 ; RUN: llc -march=mips64el -mcpu=mips4 -target-abi=n64 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EL %s
7 ; RUN: llc -march=mips64 -mcpu=mips4 -target-abi=n64 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EB %s
8 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EL %s
9 ; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n64 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EB %s
10 ; RUN: llc -march=mips64el -mcpu=mips64r2 -target-abi=n64 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EL %s
11 ; RUN: llc -march=mips64 -mcpu=mips64r2 -target-abi=n64 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EB %s
12 ; RUN: llc -march=mips64el -mcpu=mips64r6 -target-abi=n64 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64R6 -check-prefix=MIPS64R6-EL %s
13 ; RUN: llc -march=mips64 -mcpu=mips64r6 -target-abi=n64 < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64R6 -check-prefix=MIPS64R6-EB %s
0 ; RUN: llc -march=mipsel -mcpu=mips32 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32 -check-prefix=MIPS32-EL %s
1 ; RUN: llc -march=mips -mcpu=mips32 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32 -check-prefix=MIPS32-EB %s
2 ; RUN: llc -march=mipsel -mcpu=mips32r2 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32 -check-prefix=MIPS32-EL %s
3 ; RUN: llc -march=mips -mcpu=mips32r2 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32 -check-prefix=MIPS32-EB %s
4 ; RUN: llc -march=mipsel -mcpu=mips32r6 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32R6 -check-prefix=MIPS32R6-EL %s
5 ; RUN: llc -march=mips -mcpu=mips32r6 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS32R6 -check-prefix=MIPS32R6-EB %s
6 ; RUN: llc -march=mips64el -mcpu=mips4 -target-abi=n64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EL %s
7 ; RUN: llc -march=mips64 -mcpu=mips4 -target-abi=n64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EB %s
8 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EL %s
9 ; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EB %s
10 ; RUN: llc -march=mips64el -mcpu=mips64r2 -target-abi=n64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EL %s
11 ; RUN: llc -march=mips64 -mcpu=mips64r2 -target-abi=n64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64 -check-prefix=MIPS64-EB %s
12 ; RUN: llc -march=mips64el -mcpu=mips64r6 -target-abi=n64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64R6 -check-prefix=MIPS64R6-EL %s
13 ; RUN: llc -march=mips64 -mcpu=mips64r6 -target-abi=n64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=MIPS64R6 -check-prefix=MIPS64R6-EB %s
1414
1515 %struct.SLL = type { i64 }
1616 %struct.SI = type { i32 }
None ; RUN: llc -march=mipsel < %s | FileCheck %s
1 ; RUN: llc -march=mipsel -force-mips-long-branch -O3 < %s \
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
1 ; RUN: llc -march=mipsel -force-mips-long-branch -O3 -relocation-model=pic < %s \
22 ; RUN: | FileCheck %s -check-prefix=O32
3 ; RUN: llc -march=mips64el -mcpu=mips4 -target-abi=n64 -force-mips-long-branch -O3 \
3 ; RUN: llc -march=mips64el -mcpu=mips4 -target-abi=n64 -force-mips-long-branch -O3 -relocation-model=pic \
44 ; RUN: < %s | FileCheck %s -check-prefix=N64
5 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 -force-mips-long-branch -O3 \
5 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 -force-mips-long-branch -O3 -relocation-model=pic \
66 ; RUN: < %s | FileCheck %s -check-prefix=N64
77 ; RUN: llc -march=mipsel -mcpu=mips32r2 -mattr=micromips \
8 ; RUN: -force-mips-long-branch -O3 < %s | FileCheck %s -check-prefix=MICROMIPS
9 ; RUN: llc -mtriple=mipsel-none-nacl -force-mips-long-branch -O3 < %s \
8 ; RUN: -force-mips-long-branch -O3 -relocation-model=pic < %s | FileCheck %s -check-prefix=MICROMIPS
9 ; RUN: llc -mtriple=mipsel-none-nacl -force-mips-long-branch -O3 -relocation-model=pic < %s \
1010 ; RUN: | FileCheck %s -check-prefix=NACL
1111
1212
None ; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n64 | FileCheck %s -check-prefix=CHECK-N64
1 ; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n32 | FileCheck %s -check-prefix=CHECK-N32
2 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n64 | FileCheck %s -check-prefix=CHECK-N64
3 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n32 | FileCheck %s -check-prefix=CHECK-N32
0 ; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n64 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N64
1 ; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n32 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N32
2 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n64 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N64
3 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n32 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N32
44
55 @f0 = common global float 0.000000e+00, align 4
66 @d0 = common global double 0.000000e+00, align 8
None ; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n64 | FileCheck %s -check-prefix=CHECK-N64
1 ; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n32 | FileCheck %s -check-prefix=CHECK-N32
2 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n64 | FileCheck %s -check-prefix=CHECK-N64
3 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n32 | FileCheck %s -check-prefix=CHECK-N32
0 ; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n64 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N64
1 ; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n32 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N32
2 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n64 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N64
3 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n32 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N32
44
55 @c = common global i8 0, align 4
66 @s = common global i16 0, align 4
0 ; Check that [sl]dc1 are normally emitted. MIPS32r2 should have [sl]dxc1 too.
1 ; RUN: llc -march=mipsel -mcpu=mips32 < %s | \
1 ; RUN: llc -march=mipsel -mcpu=mips32 -relocation-model=pic < %s | \
22 ; RUN: FileCheck %s -check-prefix=ALL -check-prefix=32R1-LDC1
3 ; RUN: llc -march=mipsel -mcpu=mips32r2 < %s | \
3 ; RUN: llc -march=mipsel -mcpu=mips32r2 -relocation-model=pic < %s | \
44 ; RUN: FileCheck %s -check-prefix=ALL -check-prefix=32R2-LDXC1
5 ; RUN: llc -march=mipsel -mcpu=mips32r6 < %s | \
5 ; RUN: llc -march=mipsel -mcpu=mips32r6 -relocation-model=pic < %s | \
66 ; RUN: FileCheck %s -check-prefix=ALL -check-prefix=32R6-LDC1
77
88 ; Check that -mno-ldc1-sdc1 disables [sl]dc1
0 ; Test the MSA intrinsics that are encoded with the 2R instruction format.
11
2 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
3 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
2 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
3 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
44
55 @llvm_mips_nloc_b_ARG1 = global <16 x i8> , align 16
66 @llvm_mips_nloc_b_RES = global <16 x i8> , align 16
0 ; Test the MSA intrinsics that are encoded with the 2R instruction format and
11 ; convert scalars to vectors.
22
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | \
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | \
44 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS32
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | \
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | \
66 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS32
7 ; RUN: llc -march=mips64 -mcpu=mips64r2 -mattr=+msa,+fp64 < %s | \
7 ; RUN: llc -march=mips64 -mcpu=mips64r2 -mattr=+msa,+fp64 -relocation-model=pic < %s | \
88 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS64
9 ; RUN: llc -march=mips64el -mcpu=mips64r2 -mattr=+msa,+fp64 < %s | \
9 ; RUN: llc -march=mips64el -mcpu=mips64r2 -mattr=+msa,+fp64 -relocation-model=pic < %s | \
1010 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS64
1111
1212 @llvm_mips_fill_b_ARG1 = global i32 23, align 16
0 ; Test the MSA intrinsics that are encoded with the 2RF instruction format.
11
2 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
3 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
2 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
3 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
44
55 @llvm_mips_flog2_w_ARG1 = global <4 x float> , align 16
66 @llvm_mips_flog2_w_RES = global <4 x float> , align 16
0 ; Test the MSA integer to floating point conversion intrinsics that are encoded
11 ; with the 2RF instruction format.
22
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
55
66 @llvm_mips_ffint_s_w_ARG1 = global <4 x i32> , align 16
77 @llvm_mips_ffint_s_w_RES = global <4 x float> , align 16
11 ; 2RF instruction format. This includes conversions but other instructions such
22 ; as fclass are also here.
33
4 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
4 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
66
77 @llvm_mips_fclass_w_ARG1 = global <4 x float> , align 16
88 @llvm_mips_fclass_w_RES = global <4 x i32> , align 16
0 ; Test the MSA intrinsics that are encoded with the 3R instruction format.
11 ; There are lots of these so this covers those beginning with 'a'
22
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
55
66 ; It should fail to compile without fp64.
77 ; RUN: not llc -march=mips -mattr=+msa < %s 2>&1 | \
0 ; Test the MSA intrinsics that are encoded with the 3R instruction format.
11 ; There are lots of these so this covers those beginning with 'b'
22
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
55
66 @llvm_mips_bclr_b_ARG1 = global <16 x i8> , align 16
77 @llvm_mips_bclr_b_ARG2 = global <16 x i8> , align 16
0 ; Test the MSA intrinsics that are encoded with the 3R instruction format.
11 ; There are lots of these so this covers those beginning with 's'
22
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
55
66 @llvm_mips_sld_b_ARG1 = global <16 x i8> , align 16
77 @llvm_mips_sld_b_ARG2 = global <16 x i8> , align 16
0 ; Test the MSA splat intrinsics that are encoded with the 3R instruction
11 ; format.
22
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | \
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | \
44 ; RUN: FileCheck -check-prefix=MIPS32 %s
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | \
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | \
66 ; RUN: FileCheck -check-prefix=MIPS32 %s
77
88 @llvm_mips_splat_b_ARG1 = global <16 x i8> , align 16
None ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=O32 -check-prefix=MIPS32 -check-prefix=ALL-BE %s
1 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=O32 -check-prefix=MIPS32 -check-prefix=ALL-LE %s
2 ; RUN: llc -march=mips64 -target-abi n32 -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=N32 -check-prefix=MIPS64 -check-prefix=ALL-BE %s
3 ; RUN: llc -march=mips64el -target-abi n32 -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=N32 -check-prefix=MIPS64 -check-prefix=ALL-LE %s
4 ; RUN: llc -march=mips64 -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=N64 -check-prefix=MIPS64 -check-prefix=ALL-BE %s
5 ; RUN: llc -march=mips64el -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=N64 -check-prefix=MIPS64 -check-prefix=ALL-LE %s
0 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=O32 -check-prefix=MIPS32 -check-prefix=ALL-BE %s
1 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=O32 -check-prefix=MIPS32 -check-prefix=ALL-LE %s
2 ; RUN: llc -march=mips64 -target-abi n32 -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=N32 -check-prefix=MIPS64 -check-prefix=ALL-BE %s
3 ; RUN: llc -march=mips64el -target-abi n32 -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=N32 -check-prefix=MIPS64 -check-prefix=ALL-LE %s
4 ; RUN: llc -march=mips64 -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=N64 -check-prefix=MIPS64 -check-prefix=ALL-BE %s
5 ; RUN: llc -march=mips64el -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=N64 -check-prefix=MIPS64 -check-prefix=ALL-LE %s
66
77 @v4i8 = global <4 x i8>
88 @v16i8 = global <16 x i8>
None ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=O32 %s
1 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=O32 %s
2 ; RUN: llc -march=mips64 -target-abi=n32 -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=N32 %s
3 ; RUN: llc -march=mips64el -target-abi=n32 -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=N32 %s
4 ; RUN: llc -march=mips64 -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=N64 %s
5 ; RUN: llc -march=mips64el -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ALL -check-prefix=N64 %s
0 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=O32 %s
1 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=O32 %s
2 ; RUN: llc -march=mips64 -target-abi=n32 -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=N32 %s
3 ; RUN: llc -march=mips64el -target-abi=n32 -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=N32 %s
4 ; RUN: llc -march=mips64 -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=N64 %s
5 ; RUN: llc -march=mips64el -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ALL -check-prefix=N64 %s
66
77 @v4f32 = global <4 x float>
88 @v2f64 = global <2 x double>
0 ; Test the MSA intrinsics that are encoded with the ELM instruction format and
11 ; are element extraction operations.
22
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | \
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | \
44 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS32
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | \
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | \
66 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS32
7 ; RUN: llc -march=mips64 -mcpu=mips64r2 -mattr=+msa,+fp64 < %s | \
7 ; RUN: llc -march=mips64 -mcpu=mips64r2 -mattr=+msa,+fp64 -relocation-model=pic < %s | \
88 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS64
9 ; RUN: llc -march=mips64el -mcpu=mips64r2 -mattr=+msa,+fp64 < %s | \
9 ; RUN: llc -march=mips64el -mcpu=mips64r2 -mattr=+msa,+fp64 -relocation-model=pic < %s | \
1010 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS64
1111
1212 @llvm_mips_copy_s_b_ARG1 = global <16 x i8> , align 16
0 ; Test the MSA element insertion intrinsics that are encoded with the ELM
11 ; instruction format.
22
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | \
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | \
44 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS32
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | \
5 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | \
66 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS32
7 ; RUN: llc -march=mips64 -mcpu=mips64r2 -mattr=+msa,+fp64 < %s | \
7 ; RUN: llc -march=mips64 -mcpu=mips64r2 -mattr=+msa,+fp64 -relocation-model=pic < %s | \
88 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS64
9 ; RUN: llc -march=mips64el -mcpu=mips64r2 -mattr=+msa,+fp64 < %s | \
9 ; RUN: llc -march=mips64el -mcpu=mips64r2 -mattr=+msa,+fp64 -relocation-model=pic < %s | \
1010 ; RUN: FileCheck %s -check-prefix=MIPS-ANY -check-prefix=MIPS64
1111
1212 @llvm_mips_insert_b_ARG1 = global <16 x i8> , align 16
0 ; Test the MSA intrinsics that are encoded with the I5 instruction format.
11 ; There are lots of these so this covers those beginning with 'b'
22
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
3 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
4 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
55
66 @llvm_mips_bclri_b_ARG1 = global <16 x i8> , align 16
77 @llvm_mips_bclri_b_RES = global <16 x i8> , align 16
0 ; Test the MSA intrinsics that are encoded with the I8 instruction format.
11
2 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck %s
3 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck %s
2 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
3 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck %s
44
55 @llvm_mips_andi_b_ARG1 = global <16 x i8> , align 16
66 @llvm_mips_andi_b_RES = global <16 x i8> , align 16
0 ; Test the MSA intrinsics that are encoded with the VEC instruction format.
11
2 ; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ANYENDIAN %s
3 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=ANYENDIAN %s
2 ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ANYENDIAN %s
3 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic < %s | FileCheck -check-prefix=ANYENDIAN %s
44
55 @llvm_mips_and_v_b_ARG1 = global <16 x i8> , align 16
66 @llvm_mips_and_v_b_ARG2 = global <16 x i8> , align 16
0 ; RUN: llc -march=mipsel -mcpu=mips32 -mattr=+fp64,+msa,-nooddspreg \
1 ; RUN: -no-integrated-as < %s | FileCheck %s -check-prefix=ALL \
1 ; RUN: -no-integrated-as -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL \
22 ; RUN: -check-prefix=ODDSPREG
33 ; RUN: llc -march=mipsel -mcpu=mips32 -mattr=+fp64,+msa,+nooddspreg \
4 ; RUN: -no-integrated-as < %s | FileCheck %s -check-prefix=ALL \
4 ; RUN: -no-integrated-as -relocation-model=pic < %s | FileCheck %s -check-prefix=ALL \
55 ; RUN: -check-prefix=NOODDSPREG
66
77 @v4f32 = global <4 x float> zeroinitializer
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11
22 %0 = type { i8, i16, i32, i64, double, i32, [4 x i8] }
33 %struct.S1 = type { i8, i16, i32, i64, double, i32 }
None ; RUN: llc -mtriple=mipsel -O0 < %s | FileCheck %s
0 ; RUN: llc -mtriple=mipsel -O0 -relocation-model=pic < %s | FileCheck %s
11
22 ; Function Attrs: nounwind
33 define i32 @main() {
None ; RUN: llc -march=mipsel -O3 < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -O3 -relocation-model=pic < %s | FileCheck %s
11
22
33 ; MIPS direct branches implicitly define register $at. This test makes sure that
0 ; Test to make sure that the 'private' is used correctly.
11 ;
2 ; RUN: llc -march=mips < %s | FileCheck %s
2 ; RUN: llc -march=mips -relocation-model=pic < %s | FileCheck %s
33
44 define private void @foo() {
55 ; CHECK-LABEL: foo:
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11
22
33 ; Check that function accesses vector return value from stack in cases when
None ; RUN: llc < %s -march=mipsel -mcpu=mips32 | FileCheck %s -check-prefix=ALL -check-prefix=32
1 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 | FileCheck %s -check-prefix=ALL -check-prefix=32R2
2 ; RUN: llc < %s -march=mipsel -mcpu=mips32r6 | FileCheck %s -check-prefix=ALL -check-prefix=32R6
3 ; RUN: llc < %s -march=mips64el -mcpu=mips64 | FileCheck %s -check-prefix=ALL -check-prefix=64
4 ; RUN: llc < %s -march=mips64el -mcpu=mips64r2 | FileCheck %s -check-prefix=ALL -check-prefix=64R2
5 ; RUN: llc < %s -march=mips64el -mcpu=mips64r6 | FileCheck %s -check-prefix=ALL -check-prefix=64R6
0 ; RUN: llc < %s -march=mipsel -mcpu=mips32 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=32
1 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=32R2
2 ; RUN: llc < %s -march=mipsel -mcpu=mips32r6 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=32R6
3 ; RUN: llc < %s -march=mips64el -mcpu=mips64 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=64
4 ; RUN: llc < %s -march=mips64el -mcpu=mips64r2 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=64R2
5 ; RUN: llc < %s -march=mips64el -mcpu=mips64r6 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=64R6
66
77 @d2 = external global double
88 @d3 = external global double
None ; RUN: llc -march=mipsel -mcpu=mips32 < %s
1 ; RUN: llc -march=mipsel -mcpu=mips32 -pre-RA-sched=source < %s | FileCheck %s --check-prefix=SOURCE-SCHED
2 ; RUN: llc -march=mipsel -mcpu=mips32r2 < %s
3 ; RUN: llc -march=mipsel -mcpu=mips32r2 -pre-RA-sched=source < %s | FileCheck %s --check-prefix=SOURCE-SCHED
0 ; RUN: llc -march=mipsel -mcpu=mips32 -relocation-model=pic < %s
1 ; RUN: llc -march=mipsel -mcpu=mips32 -pre-RA-sched=source -relocation-model=pic < %s | FileCheck %s --check-prefix=SOURCE-SCHED
2 ; RUN: llc -march=mipsel -mcpu=mips32r2 -relocation-model=pic < %s
3 ; RUN: llc -march=mipsel -mcpu=mips32r2 -pre-RA-sched=source -relocation-model=pic < %s | FileCheck %s --check-prefix=SOURCE-SCHED
44
55 @gf0 = external global float
66 @gf1 = external global float
None ; RUN: llc -march=mipsel < %s | FileCheck %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
11
22 @g1 = external global i32*
33
None ; RUN: llc -march=mipsel < %s | FileCheck -check-prefix=CHECK-PIC %s
0 ; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck -check-prefix=CHECK-PIC %s
11 ; RUN: llc -march=mipsel -relocation-model=static < %s | FileCheck -check-prefix=CHECK-NONPIC %s
22
33 @external_gd = external thread_local global i32
None ; RUN: llc -march=mipsel -disable-mips-delay-filler < %s | \
0 ; RUN: llc -march=mipsel -disable-mips-delay-filler -relocation-model=pic < %s | \
11 ; RUN: FileCheck %s -check-prefix=PIC -check-prefix=CHECK
22 ; RUN: llc -march=mipsel -relocation-model=static -disable-mips-delay-filler < \
33 ; RUN: %s | FileCheck %s -check-prefix=STATIC -check-prefix=CHECK
None ; RUN: llc < %s -march=mipsel -mcpu=mips32 | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EL -check-prefix=MIPS32-EL
1 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EB -check-prefix=MIPS32-EB
2 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EL -check-prefix=MIPS32-EL
3 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EB -check-prefix=MIPS32-EB
4 ; RUN: llc < %s -march=mipsel -mcpu=mips32r6 | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EL -check-prefix=MIPS32R6-EL
5 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EB -check-prefix=MIPS32R6-EB
0 ; RUN: llc < %s -march=mipsel -mcpu=mips32 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EL -check-prefix=MIPS32-EL
1 ; RUN: llc < %s -march=mips -mcpu=mips32 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EB -check-prefix=MIPS32-EB
2 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EL -check-prefix=MIPS32-EL
3 ; RUN: llc < %s -march=mips -mcpu=mips32r2 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EB -check-prefix=MIPS32-EB
4 ; RUN: llc < %s -march=mipsel -mcpu=mips32r6 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EL -check-prefix=MIPS32R6-EL
5 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=ALL-EB -check-prefix=MIPS32R6-EB
66 %struct.S2 = type { %struct.S1, %struct.S1 }
77 %struct.S1 = type { i8, i8 }
88 %struct.S4 = type { [7 x i8] }
None ; RUN: llc < %s -march=mipsel -mcpu=mips32 | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
1 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
2 ; RUN: llc < %s -march=mipsel -mcpu=mips32r6 | FileCheck %s -check-prefix=ALL -check-prefix=32R6
3 ; RUN: llc < %s -march=mipsel -mcpu=mips4 | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
4 ; RUN: llc < %s -march=mipsel -mcpu=mips64 | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
5 ; RUN: llc < %s -march=mipsel -mcpu=mips64r2 | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
6 ; RUN: llc < %s -march=mipsel -mcpu=mips64r6 | FileCheck %s -check-prefix=ALL -check-prefix=64R6
0 ; RUN: llc < %s -march=mipsel -mcpu=mips32 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
1 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=32-CMOV
2 ; RUN: llc < %s -march=mipsel -mcpu=mips32r6 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=32R6
3 ; RUN: llc < %s -march=mipsel -mcpu=mips4 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
4 ; RUN: llc < %s -march=mipsel -mcpu=mips64 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
5 ; RUN: llc < %s -march=mipsel -mcpu=mips64r2 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=64-CMOV
6 ; RUN: llc < %s -march=mipsel -mcpu=mips64r6 -relocation-model=pic | FileCheck %s -check-prefix=ALL -check-prefix=64R6
77
88 @g1 = external global i32
99
None ; RUN: llc -filetype=obj -O0 < %s -mtriple mips-unknown-linux-gnu | llvm-dwarfdump - | FileCheck %s
0 ; RUN: llc -filetype=obj -O0 -relocation-model=pic < %s -mtriple mips-unknown-linux-gnu | llvm-dwarfdump - | FileCheck %s
11 ; PR19815
22
33 ; Generated using clang -target mips-linux-gnu -g test.c -S -o - -flto|opt -sroa -S
None ; RUN: llc -march=mips -mcpu=mips32r2 -O1 -filetype=obj <%s | \
0 ; RUN: llc -march=mips -mcpu=mips32r2 -O1 -filetype=obj -relocation-model=pic <%s | \
11 ; RUN: llvm-dwarfdump -debug-dump=all - | FileCheck %s -check-prefix=F0
2 ; RUN: llc -march=mips -mcpu=mips32r2 -O1 -filetype=obj <%s | \
2 ; RUN: llc -march=mips -mcpu=mips32r2 -O1 -filetype=obj -relocation-model=pic <%s | \
33 ; RUN: llvm-dwarfdump -debug-dump=all - | FileCheck %s -check-prefix=F1
44
55 ; void foo(int *);
None ; RUN: llc -mtriple=mips-linux-gnu -filetype=asm -asm-verbose=0 -O0 < %s | FileCheck %s
0 ; RUN: llc -mtriple=mips-linux-gnu -filetype=asm -asm-verbose=0 -O0 -relocation-model=pic < %s | FileCheck %s
11 ; RUN: llc -mtriple=mips-linux-gnu -filetype=obj -O0 < %s | llvm-dwarfdump -debug-dump=line - | FileCheck %s --check-prefix=INT
22
33 ; Mips used to generate 'jumpy' debug line info around calls. The address