llvm.org GIT mirror llvm / 2f53e1d
[mips] Remove -allow-deprecated-dag-overlap flag from tests. NFC Fix DAG check statements in MIPS codegen tests to remove -allow-deprecated-dag-overlap flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@343730 91177308-0d34-0410-b5e6-96231b3b80d8 Simon Atanasyan 1 year, 9 months ago
8 changed file(s) with 143 addition(s) and 124 deletion(s). Raw diff Collapse all Expand all
None ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 | FileCheck -allow-deprecated-dag-overlap %s -check-prefix=MIPS32
1 ; RUN: llc < %s -mtriple=mipsel-mti-linux-gnu -mcpu=mips32r2 -mattr=+micromips | FileCheck -allow-deprecated-dag-overlap %s -check-prefix=MM
2 ; RUN: llc < %s -march=mips64el -mcpu=mips64r2 | FileCheck -allow-deprecated-dag-overlap %s -check-prefix=MIPS64
3 ; RUN: llc < %s -mtriple=mipsel-linux-gnu -march=mipsel -mcpu=mips32r2 -mattr=+mips16 | FileCheck -allow-deprecated-dag-overlap %s -check-prefix=MIPS16
0 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 \
1 ; RUN: | FileCheck %s -check-prefix=MIPS32
2 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -mattr=+micromips \
3 ; RUN: | FileCheck %s -check-prefix=MM
4 ; RUN: llc < %s -march=mips64el -mcpu=mips64r2 \
5 ; RUN: | FileCheck %s -check-prefix=MIPS64
6 ; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -mattr=+mips16 \
7 ; RUN: | FileCheck %s -check-prefix=MIPS16
48
59 define i32 @bswap32(i32 signext %x) nounwind readnone {
610 entry:
6771 ; MIPS16-DAG: srl $[[R1:[0-9]+]], $4, 24
6872 ; MIPS16-DAG: sll $[[R2:[0-9]+]], $4, 8
6973 ; MIPS16-DAG: sll $[[R3:[0-9]+]], $4, 24
70 ; MIPS16-DAG: li $[[R4:[0-9]+]], 65280
7174 ; MIPS16-DAG: and $[[R0]], $[[R4]]
7275 ; MIPS16-DAG: or $[[R1]], $[[R0]]
73 ; MIPS16-DAG: lw $[[R7:[0-9]+]], 1f
7476 ; MIPS16-DAG: and $[[R2]], $[[R7]]
7577 ; MIPS16-DAG: or $[[R3]], $[[R2]]
7678 ; MIPS16-DAG: or $[[R3]], $[[R1]]
None ; RUN: llc -march=mips -relocation-model=static < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,SYM32,O32,O32BE %s
1 ; RUN: llc -march=mipsel -relocation-model=static < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,SYM32,O32,O32LE %s
0 ; RUN: llc -march=mips -relocation-model=static < %s \
1 ; RUN: | FileCheck --check-prefixes=ALL,SYM32,O32,O32BE %s
2 ; RUN: llc -march=mipsel -relocation-model=static < %s \
3 ; RUN: | FileCheck --check-prefixes=ALL,SYM32,O32,O32LE %s
24
3 ; RUN-TODO: llc -march=mips64 -relocation-model=static -target-abi o32 < %s | FileCheck --check-prefixes=ALL,SYM32,O32 %s
4 ; RUN-TODO: llc -march=mips64el -relocation-model=static -target-abi o32 < %s | FileCheck --check-prefixes=ALL,SYM32,O32 %s
5 ; RUN-TODO: llc -march=mips64 -relocation-model=static -target-abi o32 < %s \
6 ; RUN-TODO: | FileCheck --check-prefixes=ALL,SYM32,O32 %s
7 ; RUN-TODO: llc -march=mips64el -relocation-model=static -target-abi o32 < %s \
8 ; RUN-TODO: | FileCheck --check-prefixes=ALL,SYM32,O32 %s
59
6 ; RUN: llc -march=mips64 -relocation-model=static -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,SYM32,N32,NEW,NEWBE %s
7 ; RUN: llc -march=mips64el -relocation-model=static -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,SYM32,N32,NEW,NEWLE %s
10 ; RUN: llc -march=mips64 -relocation-model=static -target-abi n32 < %s \
11 ; RUN: | FileCheck --check-prefixes=ALL,SYM32,N32,NEW,NEWBE %s
12 ; RUN: llc -march=mips64el -relocation-model=static -target-abi n32 < %s \
13 ; RUN: | FileCheck --check-prefixes=ALL,SYM32,N32,NEW,NEWLE %s
814
9 ; RUN: llc -march=mips64 -relocation-model=static -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,SYM64,N64,NEW,NEWBE %s
10 ; RUN: llc -march=mips64el -relocation-model=static -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,SYM64,N64,NEW,NEWLE %s
15 ; RUN: llc -march=mips64 -relocation-model=static -target-abi n64 < %s \
16 ; RUN: | FileCheck --check-prefixes=ALL,SYM64,N64,NEW,NEWBE %s
17 ; RUN: llc -march=mips64el -relocation-model=static -target-abi n64 < %s \
18 ; RUN: | FileCheck --check-prefixes=ALL,SYM64,N64,NEW,NEWLE %s
1119
1220 ; Test the effect of varargs on floating point types in the non-variable part
1321 ; of the argument list as specified by section 2 of the MIPSpro N32 Handbook.
7886 ; LLVM will rebind the load to the stack pointer instead of the varargs pointer
7987 ; during lowering. This is fine and doesn't change the behaviour.
8088 ; O32-DAG: addiu [[VAPTR]], [[VAPTR]], 8
81 ; O32-DAG: sw [[VAPTR]], 4($sp)
8289 ; N32-DAG: addiu [[VAPTR]], [[VAPTR]], 8
83 ; N32-DAG: sw [[VAPTR]], 4($sp)
8490 ; N64-DAG: daddiu [[VAPTR]], [[VAPTR]], 8
85 ; N64-DAG: sd [[VAPTR]], 0($sp)
8691 ; O32-DAG: ldc1 [[FTMP1:\$f[0-9]+]], 16($sp)
8792 ; NEW-DAG: ldc1 [[FTMP1:\$f[0-9]+]], 8($sp)
8893 ; ALL-DAG: sdc1 [[FTMP1]], 16([[R2]])
146151 ; correct half of the argument slot.
147152 ;
148153 ; O32-DAG: addiu [[VAPTR]], [[VAPTR]], 4
149 ; O32-DAG: sw [[VAPTR]], 4($sp)
150154 ; N32-DAG: addiu [[VAPTR]], [[VAPTR]], 8
151 ; N32-DAG: sw [[VAPTR]], 4($sp)
152155 ; N64-DAG: daddiu [[VAPTR]], [[VAPTR]], 8
153 ; N64-DAG: sd [[VAPTR]], 0($sp)
154156 ; O32-DAG: lwc1 [[FTMP1:\$f[0-9]+]], 12($sp)
155157 ; NEWLE-DAG: lwc1 [[FTMP1:\$f[0-9]+]], 8($sp)
156158 ; NEWBE-DAG: lwc1 [[FTMP1:\$f[0-9]+]], 12($sp)
None ; RUN: llc -mtriple=mips-linux -relocation-model=static < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,O32,O32-BE %s
1 ; RUN: llc -mtriple=mipsel-linux -relocation-model=static < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,O32,O32-LE %s
2
3 ; RUN-TODO: llc -march=mips64 -relocation-model=static -target-abi o32 < %s | FileCheck --check-prefixes=ALL,O32 %s
4 ; RUN-TODO: llc -march=mips64el -relocation-model=static -target-abi o32 < %s | FileCheck --check-prefixes=ALL,O32 %s
5
6 ; RUN: llc -mtriple=mips64-linux -relocation-model=static -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,NEW,N32,NEW-BE %s
7 ; RUN: llc -mtriple=mips64el-linux -relocation-model=static -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,NEW,N32,NEW-LE %s
8
9 ; RUN: llc -march=mips64 -relocation-model=static -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,NEW,N64,NEW-BE %s
10 ; RUN: llc -march=mips64el -relocation-model=static -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,NEW,N64,NEW-LE %s
0 ; RUN: llc -mtriple=mips-linux -relocation-model=static < %s \
1 ; RUN: | FileCheck --check-prefixes=ALL,O32,O32-BE %s
2 ; RUN: llc -mtriple=mipsel-linux -relocation-model=static < %s \
3 ; RUN: | FileCheck --check-prefixes=ALL,O32,O32-LE %s
4
5 ; RUN-TODO: llc -march=mips64 -relocation-model=static -target-abi o32 < %s \
6 ; RUN-TODO: | FileCheck --check-prefixes=ALL,O32 %s
7 ; RUN-TODO: llc -march=mips64el -relocation-model=static -target-abi o32 < %s \
8 ; RUN-TODO: | FileCheck --check-prefixes=ALL,O32 %s
9
10 ; RUN: llc -mtriple=mips64-linux -relocation-model=static -target-abi n32 < %s \
11 ; RUN: | FileCheck --check-prefixes=ALL,NEW,N32,NEW-BE %s
12 ; RUN: llc -mtriple=mips64el-linux -relocation-model=static -target-abi n32 < %s \
13 ; RUN: | FileCheck --check-prefixes=ALL,NEW,N32,NEW-LE %s
14
15 ; RUN: llc -march=mips64 -relocation-model=static -target-abi n64 < %s \
16 ; RUN: | FileCheck --check-prefixes=ALL,NEW,N64,NEW-BE %s
17 ; RUN: llc -march=mips64el -relocation-model=static -target-abi n64 < %s \
18 ; RUN: | FileCheck --check-prefixes=ALL,NEW,N64,NEW-LE %s
1119
1220 @hwords = global [3 x i16] zeroinitializer, align 1
1321 @words = global [3 x i32] zeroinitializer, align 1
5159 ; N64-DAG: daddiu [[VA:\$[0-9]+]], [[SP]], 8
5260 ; N64-DAG: sd [[VA]], 0([[SP]])
5361
54 ; Store [[VA]]
55 ; O32-DAG: sw [[VA]], 0([[SP]])
56
5762 ; ALL: teqi $zero, 1
5863
5964 ; Increment [[VA]]
169174 ; N64-DAG: daddiu [[VA:\$[0-9]+]], [[SP]], 8
170175 ; N64-DAG: sd [[VA]], 0([[SP]])
171176
172 ; Store [[VA]]
173 ; O32-DAG: sw [[VA]], 0([[SP]])
174
175177 ; ALL: teqi $zero, 1
176178
177179 ; Increment [[VA]]
286288
287289 ; N64-DAG: daddiu [[VA:\$[0-9]+]], [[SP]], 8
288290 ; N64-DAG: sd [[VA]], 0([[SP]])
289
290 ; Store [[VA]]
291 ; O32-DAG: sw [[VA]], 0([[SP]])
292291
293292 ; ALL: teqi $zero, 1
294293
412411 ; N64-DAG: daddiu [[VA:\$[0-9]+]], [[SP]], 8
413412 ; N64-DAG: sd [[VA]], 0([[SP]])
414413
415 ; Store [[VA]]
416 ; O32-DAG: sw [[VA]], 0([[SP]])
417
418414 ; ALL: teqi $zero, 1
419415
420416 ; Increment [[VA]]
530526 ; N64-DAG: daddiu [[VA:\$[0-9]+]], [[SP]], 8
531527 ; N64-DAG: sd [[VA]], 0([[SP]])
532528
533 ; Store [[VA]]
534 ; O32-DAG: sw [[VA]], 0([[SP]])
535
536529 ; ALL: teqi $zero, 1
537530
538531 ; Increment [[VA]]
647640
648641 ; N64-DAG: daddiu [[VA:\$[0-9]+]], [[SP]], 8
649642 ; N64-DAG: sd [[VA]], 0([[SP]])
650
651 ; Store [[VA]]
652 ; O32-DAG: sw [[VA]], 0([[SP]])
653643
654644 ; ALL: teqi $zero, 1
655645
772762 ; N64-DAG: daddiu [[VA:\$[0-9]+]], [[SP]], 8
773763 ; N64-DAG: sd [[VA]], 0([[SP]])
774764
775 ; Store [[VA]]
776 ; O32-DAG: sw [[VA]], 0([[SP]])
777
778765 ; ALL: teqi $zero, 1
779766
780767 ; Increment [[VA]]
889876 ; N64-DAG: daddiu [[VA:\$[0-9]+]], [[SP]], 8
890877 ; N64-DAG: sd [[VA]], 0([[SP]])
891878
892 ; Store [[VA]]
893 ; O32-DAG: sw [[VA]], 0([[SP]])
894
895879 ; ALL: teqi $zero, 1
896880
897881 ; Increment [[VA]]
1005989
1006990 ; N64-DAG: daddiu [[VA:\$[0-9]+]], [[SP]], 8
1007991 ; N64-DAG: sd [[VA]], 0([[SP]])
1008
1009 ; Store [[VA]]
1010 ; O32-DAG: sw [[VA]], 0([[SP]])
1011992
1012993 ; ALL: teqi $zero, 1
1013994
None ; RUN: llc -march=mips < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,O32 %s
1 ; RUN: llc -march=mipsel < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,O32 %s
2 ; RUN: llc -march=mips < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,O32-INV %s
3 ; RUN: llc -march=mipsel < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,O32-INV %s
0 ; RUN: llc -march=mips < %s | FileCheck --check-prefixes=ALL,O32 %s
1 ; RUN: llc -march=mipsel < %s | FileCheck --check-prefixes=ALL,O32 %s
2 ; RUN: llc -march=mips < %s | FileCheck --check-prefixes=ALL,O32-INV %s
3 ; RUN: llc -march=mipsel < %s | FileCheck --check-prefixes=ALL,O32-INV %s
44
5 ; RUN-TODO: llc -march=mips64 -target-abi o32 < %s | FileCheck --check-prefixes=ALL,O32 %s
6 ; RUN-TODO: llc -march=mips64el -target-abi o32 < %s | FileCheck --check-prefixes=ALL,O32 %s
7 ; RUN-TODO: llc -march=mips64 -target-abi o32 < %s | FileCheck --check-prefixes=ALL,O32-INV %s
8 ; RUN-TODO: llc -march=mips64el -target-abi o32 < %s | FileCheck --check-prefixes=ALL,O32-INV %s
5 ; RUN-TODO: llc -march=mips64 -target-abi o32 < %s \
6 ; RUN-TODO: | FileCheck --check-prefixes=ALL,O32 %s
7 ; RUN-TODO: llc -march=mips64el -target-abi o32 < %s \
8 ; RUN-TODO: | FileCheck --check-prefixes=ALL,O32 %s
9 ; RUN-TODO: llc -march=mips64 -target-abi o32 < %s \
10 ; RUN-TODO: | FileCheck --check-prefixes=ALL,O32-INV %s
11 ; RUN-TODO: llc -march=mips64el -target-abi o32 < %s \
12 ; RUN-TODO: | FileCheck --check-prefixes=ALL,O32-INV %s
913
10 ; RUN: llc -march=mips64 -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N32 %s
11 ; RUN: llc -march=mips64el -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N32 %s
12 ; RUN: llc -march=mips64 -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N32-INV %s
13 ; RUN: llc -march=mips64el -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N32-INV %s
14 ; RUN: llc -march=mips64 -target-abi n32 < %s \
15 ; RUN: | FileCheck --check-prefixes=ALL,N32 %s
16 ; RUN: llc -march=mips64el -target-abi n32 < %s \
17 ; RUN: | FileCheck --check-prefixes=ALL,N32 %s
18 ; RUN: llc -march=mips64 -target-abi n32 < %s \
19 ; RUN: | FileCheck --check-prefixes=ALL,N32-INV %s
20 ; RUN: llc -march=mips64el -target-abi n32 < %s \
21 ; RUN: | FileCheck --check-prefixes=ALL,N32-INV %s
1422
15 ; RUN: llc -march=mips64 -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N64 %s
16 ; RUN: llc -march=mips64el -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N64 %s
17 ; RUN: llc -march=mips64 -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N64-INV %s
18 ; RUN: llc -march=mips64el -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N64-INV %s
23 ; RUN: llc -march=mips64 -target-abi n64 < %s \
24 ; RUN: | FileCheck --check-prefixes=ALL,N64 %s
25 ; RUN: llc -march=mips64el -target-abi n64 < %s \
26 ; RUN: | FileCheck --check-prefixes=ALL,N64 %s
27 ; RUN: llc -march=mips64 -target-abi n64 < %s \
28 ; RUN: | FileCheck --check-prefixes=ALL,N64-INV %s
29 ; RUN: llc -march=mips64el -target-abi n64 < %s \
30 ; RUN: | FileCheck --check-prefixes=ALL,N64-INV %s
1931
2032 ; Test the callee-saved registers are callee-saved as specified by section
2133 ; 2 of the MIPSpro N32 Handbook and section 3 of the SYSV ABI spec.
6072 ; O32-INV-NOT: sw $28,
6173 ; O32-INV-NOT: sw $29,
6274 ; O32-DAG: sw [[G30:\$fp]], [[OFF30:[0-9]+]]($sp)
63 ; O32-DAG: sw [[G31:\$fp]], [[OFF31:[0-9]+]]($sp)
75 ; O32-DAG: sw [[G31:\$ra]], [[OFF31:[0-9]+]]($sp)
6476 ; O32-DAG: lw [[G16]], [[OFF16]]($sp)
6577 ; O32-DAG: lw [[G17]], [[OFF17]]($sp)
6678 ; O32-DAG: lw [[G18]], [[OFF18]]($sp)
105117 ; N32-DAG: sd [[G28:\$gp]], [[OFF28:[0-9]+]]($sp)
106118 ; N32-INV-NOT: sd $29,
107119 ; N32-DAG: sd [[G30:\$fp]], [[OFF30:[0-9]+]]($sp)
108 ; N32-DAG: sd [[G31:\$fp]], [[OFF31:[0-9]+]]($sp)
120 ; N32-DAG: sd [[G31:\$ra]], [[OFF31:[0-9]+]]($sp)
109121 ; N32-DAG: ld [[G16]], [[OFF16]]($sp)
110122 ; N32-DAG: ld [[G17]], [[OFF17]]($sp)
111123 ; N32-DAG: ld [[G18]], [[OFF18]]($sp)
145157 ; N64-DAG: sd [[G22:\$22]], [[OFF22:[0-9]+]]($sp)
146158 ; N64-DAG: sd [[G23:\$23]], [[OFF23:[0-9]+]]($sp)
147159 ; N64-DAG: sd [[G30:\$fp]], [[OFF30:[0-9]+]]($sp)
148 ; N64-DAG: sd [[G31:\$fp]], [[OFF31:[0-9]+]]($sp)
160 ; N64-DAG: sd [[G31:\$ra]], [[OFF31:[0-9]+]]($sp)
149161 ; N64-INV-NOT: sd $24,
150162 ; N64-INV-NOT: sd $25,
151163 ; N64-INV-NOT: sd $26,
None ; RUN: llc -mtriple=mips-linux-gnu -relocation-model=static < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,O32,O32-BE %s
1 ; RUN: llc -mtriple=mipsel-linux-gnu -relocation-model=static < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,O32,O32-LE %s
2
3 ; RUN-TODO: llc -mtriple=mips64-linux-gnu -relocation-model=static -target-abi o32 < %s | FileCheck --check-prefixes=ALL,O32 %s
4 ; RUN-TODO: llc -mtriple=mips64el-linux-gnu -relocation-model=static -target-abi o32 < %s | FileCheck --check-prefixes=ALL,O32 %s
5
6 ; RUN: llc -mtriple=mips64-linux-gnu -relocation-model=static -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N32,N32-BE %s
7 ; RUN: llc -mtriple=mips64el-linux-gnu -relocation-model=static -target-abi n32 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N32,N32-LE %s
8
9 ; RUN: llc -mtriple=mips64-linux-gnu -relocation-model=static -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N64,N64-BE %s
10 ; RUN: llc -mtriple=mips64el-linux-gnu -relocation-model=static -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap --check-prefixes=ALL,N64,N64-LE %s
0 ; RUN: llc -mtriple=mips-linux-gnu -relocation-model=static < %s \
1 ; RUN: | FileCheck --check-prefixes=ALL,O32,O32-BE %s
2 ; RUN: llc -mtriple=mipsel-linux-gnu -relocation-model=static < %s \
3 ; RUN: | FileCheck --check-prefixes=ALL,O32,O32-LE %s
4
5 ; RUN-TODO: llc -mtriple=mips64-linux-gnu -relocation-model=static -target-abi o32 < %s \
6 ; RUN-TODO: | FileCheck --check-prefixes=ALL,O32 %s
7 ; RUN-TODO: llc -mtriple=mips64el-linux-gnu -relocation-model=static -target-abi o32 < %s \
8 ; RUN-TODO: | FileCheck --check-prefixes=ALL,O32 %s
9
10 ; RUN: llc -mtriple=mips64-linux-gnu -relocation-model=static -target-abi n32 < %s \
11 ; RUN: | FileCheck --check-prefixes=ALL,N32,N32-BE %s
12 ; RUN: llc -mtriple=mips64el-linux-gnu -relocation-model=static -target-abi n32 < %s \
13 ; RUN: | FileCheck --check-prefixes=ALL,N32,N32-LE %s
14
15 ; RUN: llc -mtriple=mips64-linux-gnu -relocation-model=static -target-abi n64 < %s \
16 ; RUN: | FileCheck --check-prefixes=ALL,N64,N64-BE %s
17 ; RUN: llc -mtriple=mips64el-linux-gnu -relocation-model=static -target-abi n64 < %s \
18 ; RUN: | FileCheck --check-prefixes=ALL,N64,N64-LE %s
1119
1220 ; Test struct returns for all ABI's and byte orders.
1321
136144 ; N64-BE-DAG: dsll [[R2:\$[0-9]+]], [[R1]], 16
137145 ; N64-BE-DAG: lhu [[R3:\$[0-9]+]], 4([[PTR]])
138146 ; N64-BE-DAG: or [[R4:\$[0-9]+]], [[R3]], [[R2]]
139 ; N32-BE-DAG: dsll $2, [[R4]], 16
147 ; N64-BE-DAG: dsll $2, [[R4]], 16
140148
141149 ; Ensure that large structures (>128-bit) are returned indirectly.
142150 ; We pick an extremely large structure so we don't have to match inlined memcpy's.
None ; RUN: llc -march=mips -mcpu=mips32 < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,32
1 ; RUN: llc -march=mips -mcpu=mips32r2 < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,32
2 ; RUN: llc -march=mips -mcpu=mips32r6 < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,32R6
3 ; RUN: llc -march=mips -mcpu=mips32 -mattr=dsp < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefix=DSP
4 ; RUN: llc -march=mips -mcpu=mips64 -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,64
5 ; RUN: llc -march=mips -mcpu=mips64r2 -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,64
6 ; RUN: llc -march=mips -mcpu=mips64r6 -target-abi n64 < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,64R6
0 ; RUN: llc -march=mips -mcpu=mips32 < %s \
1 ; RUN: | FileCheck %s -check-prefixes=ALL,32
2 ; RUN: llc -march=mips -mcpu=mips32r2 < %s \
3 ; RUN: | FileCheck %s -check-prefixes=ALL,32
4 ; RUN: llc -march=mips -mcpu=mips32r6 < %s \
5 ; RUN: | FileCheck %s -check-prefixes=ALL,32R6
6 ; RUN: llc -march=mips -mcpu=mips32r2 -mattr=dsp < %s \
7 ; RUN: | FileCheck %s -check-prefix=DSP
8 ; RUN: llc -march=mips -mcpu=mips64 -target-abi n64 < %s \
9 ; RUN: | FileCheck %s -check-prefixes=ALL,64
10 ; RUN: llc -march=mips -mcpu=mips64r2 -target-abi n64 < %s \
11 ; RUN: | FileCheck %s -check-prefixes=ALL,64
12 ; RUN: llc -march=mips -mcpu=mips64r6 -target-abi n64 < %s \
13 ; RUN: | FileCheck %s -check-prefixes=ALL,64R6
714
815 ; FIXME: The MIPS16 test should check its output
916 ; RUN: llc -march=mips -mattr=mips16 < %s
237244 ; 32-DAG: [[m]]fhi $2
238245 ; 32-DAG: [[m]]flo $3
239246
240 ; DSP-DAG: addiu $[[T0:[0-9]+]], $zero, 0
241 ; DSP-DAG: mtlo $6, $[[AC:ac[0-3]+]]
247 ; DSP-DAG: mtlo $7, $[[AC:ac[0-3]+]]
248 ; DSP-DAG: mthi $6, $[[AC]]
242249 ; DSP-DAG: msub $[[AC]], ${{[45]}}, ${{[45]}}
243250 ; DSP-DAG: mfhi $2, $[[AC]]
244251 ; DSP-DAG: mflo $3, $[[AC]]
None ; RUN: llc -march=mips -mattr=+msa,+fp64 -relocation-model=pic \
1 ; RUN: -verify-machineinstrs < %s | \
2 ; RUN: FileCheck -allow-deprecated-dag-overlap -check-prefixes=ALL,O32,MIPS32,ALL-BE,O32-BE %s
3 ; RUN: llc -march=mipsel -mattr=+msa,+fp64 -relocation-model=pic \
4 ; RUN: -verify-machineinstrs < %s | \
5 ; RUN: FileCheck -allow-deprecated-dag-overlap -check-prefixes=ALL,O32,MIPS32,ALL-LE,O32-LE %s
6 ; RUN: llc -march=mips64 -target-abi n32 -mattr=+msa,+fp64 \
7 ; RUN: -relocation-model=pic -verify-machineinstrs < %s | \
8 ; RUN: FileCheck -allow-deprecated-dag-overlap -check-prefixes=ALL,N32,MIPS64,ALL-BE %s
9 ; RUN: llc -march=mips64el -target-abi n32 -mattr=+msa,+fp64 \
10 ; RUN: -relocation-model=pic -verify-machineinstrs < %s | \
11 ; RUN: FileCheck -allow-deprecated-dag-overlap -check-prefixes=ALL,N32,MIPS64,ALL-LE %s
12 ; RUN: llc -march=mips64 -mattr=+msa,+fp64 -relocation-model=pic \
13 ; RUN: -verify-machineinstrs < %s | \
14 ; RUN: FileCheck -allow-deprecated-dag-overlap -check-prefixes=ALL,N64,MIPS64,ALL-BE %s
15 ; RUN: llc -march=mips64el -mattr=+msa,+fp64 -relocation-model=pic \
16 ; RUN: -verify-machineinstrs < %s | \
17 ; RUN: FileCheck -allow-deprecated-dag-overlap -check-prefixes=ALL,N64,MIPS64,ALL-LE %s
0 ; RUN: llc -march=mips -mcpu=mips32r5 -mattr=+msa,+fp64 -relocation-model=pic \
1 ; RUN: -verify-machineinstrs < %s \
2 ; RUN: | FileCheck -check-prefixes=ALL,O32,MIPS32,ALL-BE,O32-BE %s
3 ; RUN: llc -march=mipsel -mcpu=mips32r5 -mattr=+msa,+fp64 -relocation-model=pic \
4 ; RUN: -verify-machineinstrs < %s \
5 ; RUN: | FileCheck -check-prefixes=ALL,O32,MIPS32,ALL-LE,O32-LE %s
6 ; RUN: llc -march=mips64 -mcpu=mips64r5 -target-abi n32 -mattr=+msa,+fp64 \
7 ; RUN: -relocation-model=pic -verify-machineinstrs < %s \
8 ; RUN: | FileCheck -check-prefixes=ALL,N32,MIPS64,ALL-BE %s
9 ; RUN: llc -march=mips64el -mcpu=mips64r5 -target-abi n32 -mattr=+msa,+fp64 \
10 ; RUN: -relocation-model=pic -verify-machineinstrs < %s \
11 ; RUN: | FileCheck -check-prefixes=ALL,N32,MIPS64,ALL-LE %s
12 ; RUN: llc -march=mips64 -mcpu=mips64r5 -mattr=+msa,+fp64 -relocation-model=pic \
13 ; RUN: -verify-machineinstrs < %s \
14 ; RUN: | FileCheck -check-prefixes=ALL,N64,MIPS64,ALL-BE %s
15 ; RUN: llc -march=mips64el -mcpu=mips64r5 -mattr=+msa,+fp64 -relocation-model=pic \
16 ; RUN: -verify-machineinstrs < %s \
17 ; RUN: | FileCheck -check-prefixes=ALL,N64,MIPS64,ALL-LE %s
1818
1919 @v4i8 = global <4 x i8>
2020 @v16i8 = global <16 x i8>
551551 ; N32-DAG: lw [[PTR_I:\$[0-9]+]], %got_disp(i32)(
552552 ; N64-DAG: ld [[PTR_I:\$[0-9]+]], %got_disp(i32)(
553553 ; ALL-DAG: lw [[IDX:\$[0-9]+]], 0([[PTR_I]])
554 ; O32-DAG: addiu [[IDY:\$[0-9]+]], [[IDX]], 1
554555
555556 %4 = extractelement <2 x i64> %2, i32 %3
556 ; MIPS32-DAG: splat.w $w[[R3:[0-9]+]], [[R1]]{{\[}}[[IDX]]]
557 ; MIPS32-DAG: splat.w $w[[R3:[0-9]+]], [[R1]]{{\[}}[[IDY]]]
557558 ; MIPS32-DAG: mfc1 [[R5:\$[0-9]+]], $f[[R3]]
558559 ; MIPS32-DAG: splat.w $w[[R4:[0-9]+]], [[R1]]{{\[}}[[IDX]]]
559560 ; MIPS32-DAG: mfc1 [[R6:\$[0-9]+]], $f[[R4]]
661662 ; N32-DAG: lw [[PTR_I:\$[0-9]+]], %got_disp(i32)(
662663 ; N64-DAG: ld [[PTR_I:\$[0-9]+]], %got_disp(i32)(
663664 ; ALL-DAG: lw [[IDX:\$[0-9]+]], 0([[PTR_I]])
665 ; O32-DAG: addiu [[IDY:\$[0-9]+]], [[IDX]], 1
664666
665667 %4 = extractelement <2 x i64> %2, i32 %3
666 ; MIPS32-DAG: splat.w $w[[R3:[0-9]+]], [[R1]]{{\[}}[[IDX]]]
668 ; MIPS32-DAG: splat.w $w[[R3:[0-9]+]], [[R1]]{{\[}}[[IDY]]]
667669 ; MIPS32-DAG: mfc1 [[R5:\$[0-9]+]], $f[[R3]]
668670 ; MIPS32-DAG: splat.w $w[[R4:[0-9]+]], [[R1]]{{\[}}[[IDX]]]
669671 ; MIPS32-DAG: mfc1 [[R6:\$[0-9]+]], $f[[R4]]
None ; RUN: llc -march=mipsel -mcpu=mips32 < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,ODDSPREG,ODDSPREG-NO-EMIT
1 ; RUN: llc -march=mipsel -mcpu=mips32 -mattr=+nooddspreg < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,NOODDSPREG
2 ; RUN: llc -march=mipsel -mcpu=mips32r6 -mattr=fp64 < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,ODDSPREG,ODDSPREG-NO-EMIT
3 ; RUN: llc -march=mipsel -mcpu=mips32r6 -mattr=fp64,+nooddspreg < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,NOODDSPREG
4 ; RUN: llc -march=mipsel -mcpu=mips32r6 -mattr=fpxx,-nooddspreg < %s | FileCheck -allow-deprecated-dag-overlap %s -check-prefixes=ALL,ODDSPREG,ODDSPREG-EMIT
0 ; RUN: llc -march=mipsel -mcpu=mips32 < %s \
1 ; RUN: | FileCheck %s -check-prefixes=ALL,ODDSPREG,ODDSPREG-NO-EMIT
2 ; RUN: llc -march=mipsel -mcpu=mips32 -mattr=+nooddspreg < %s \
3 ; RUN: | FileCheck %s -check-prefixes=ALL,NOODDSPREG
4 ; RUN: llc -march=mipsel -mcpu=mips32r6 -mattr=fp64 < %s \
5 ; RUN: | FileCheck %s -check-prefixes=ALL,ODDSPREG,ODDSPREG-NO-EMIT
6 ; RUN: llc -march=mipsel -mcpu=mips32r6 -mattr=fp64,+nooddspreg < %s \
7 ; RUN: | FileCheck %s -check-prefixes=ALL,NOODDSPREG
8 ; RUN: llc -march=mipsel -mcpu=mips32r6 -mattr=fpxx,-nooddspreg < %s \
9 ; RUN: | FileCheck %s -check-prefixes=ALL,ODDSPREG,ODDSPREG-EMIT
510
611 ; We don't emit a directive unless we need to. This is to support versions of
712 ; GAS which do not support the directive.
5459
5560 ; ALL-LABEL: two_doubles:
5661 ; ALL-DAG: add.d $[[T0:f[0-9]+]], $f12, ${{f[0-9]+}}
57 ; ALL-DAG: add.d $f0, $f12, $[[T0]]
62 ; ALL-DAG: add.d ${{f[0-9]+}}, $f12, $[[T0]]
5863
5964
6065 ; INVALID: -mattr=+nooddspreg is not currently permitted for a 32-bit FPU register file (FR=0 mode).