xref: /llvm-project/llvm/test/CodeGen/Mips/shrink-wrap-buildpairf64-extractelementf64.mir (revision 56303223ac7652442fd4bb163b809141553f0067)
1# RUN: llc -o - %s -mtriple=mips-unknown-linux-gnu -enable-shrink-wrap=true \
2# RUN:     -start-before=shrink-wrap -stop-after=prologepilog | FileCheck %s
3
4--- |
5  declare void @foo()
6  define void @testBuildPairF64() {
7    ret void
8  }
9  define void @testBuildPairF64_64() {
10    ret void
11  }
12  define void @testBuildPairF64implicitSp() {
13    ret void
14  }
15  define void @testBuildPairF64_64implicitSp() {
16    ret void
17  }
18  define void @testExtractElementF64() {
19    ret void
20  }
21  define void @testExtractElementF64_64() {
22    ret void
23  }
24  define void @testExtractElementF64implicitSp() {
25    ret void
26  }
27  define void @testExtractElementF64_64implicitSp() {
28    ret void
29  }
30...
31---
32name: testBuildPairF64
33# CHECK-LABEL: name: testBuildPairF64
34# CHECK: bb.0
35# CHECK-NEXT: successors
36# CHECK-NEXT: liveins:
37# CHECK-NEXT: {{[[:space:]]$}}
38
39# CHECK-NEXT: BuildPairF64
40body: |
41  bb.0:
42    $d0 = BuildPairF64 $zero, $zero
43  bb.1:
44    JAL @foo, implicit-def $ra
45  bb.2:
46    RetRA
47...
48---
49name: testBuildPairF64_64
50# CHECK-LABEL: name: testBuildPairF64_64
51# CHECK: bb.0
52# CHECK-NEXT: successors
53# CHECK-NEXT: liveins:
54# CHECK-NEXT: {{[[:space:]]$}}
55# CHECK-NEXT: BuildPairF64_64
56body: |
57  bb.0:
58    $d0_64 = BuildPairF64_64 $zero, $zero
59  bb.1:
60    JAL @foo, implicit-def $ra
61  bb.2:
62    RetRA
63...
64---
65name: testBuildPairF64implicitSp
66# CHECK-LABEL: name: testBuildPairF64implicitSp
67# CHECK: bb.0
68# CHECK-NEXT: successors
69# CHECK-NEXT: liveins:
70# CHECK-NEXT: {{[[:space:]]$}}
71# CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}}
72body: |
73  bb.0:
74    $d0 = BuildPairF64 $zero, $zero, implicit $sp
75  bb.1:
76    JAL @foo, implicit-def $ra
77  bb.2:
78    RetRA
79...
80---
81name: testBuildPairF64_64implicitSp
82# CHECK-LABEL: name: testBuildPairF64_64implicitSp
83# CHECK: bb.0
84# CHECK-NEXT: successors
85# CHECK-NEXT: liveins:
86# CHECK-NEXT: {{[[:space:]]$}}
87# CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}}
88body: |
89  bb.0:
90    $d0_64 = BuildPairF64_64 $zero, $zero, implicit $sp
91  bb.1:
92    JAL @foo, implicit-def $ra
93  bb.2:
94    RetRA
95...
96---
97name: testExtractElementF64
98# CHECK-LABEL: name: testExtractElementF64
99# CHECK: bb.0
100# CHECK-NEXT: successors
101# CHECK-NEXT: liveins:
102# CHECK-NEXT: {{[[:space:]]$}}
103# CHECK-NEXT: ExtractElementF64
104body: |
105  bb.0:
106    $at = ExtractElementF64 $d6, 1
107  bb.1:
108    JAL @foo, implicit-def $ra
109  bb.2:
110    RetRA
111...
112---
113name: testExtractElementF64_64
114# CHECK-LABEL: name: testExtractElementF64_64
115# CHECK: bb.0
116# CHECK-NEXT: successors
117# CHECK-NEXT: liveins:
118# CHECK-NEXT: {{[[:space:]]$}}
119# CHECK-NEXT: ExtractElementF64_64
120body: |
121  bb.0:
122    $at = ExtractElementF64_64 $d12_64, 1
123  bb.1:
124    JAL @foo, implicit-def $ra
125  bb.2:
126    RetRA
127...
128---
129name: testExtractElementF64implicitSp
130# CHECK-LABEL: name: testExtractElementF64implicitSp
131# CHECK: bb.0
132# CHECK-NEXT: successors
133# CHECK-NEXT: liveins:
134# CHECK-NEXT: {{[[:space:]]$}}
135# CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}}
136body: |
137  bb.0:
138    $at = ExtractElementF64 $d6, 1, implicit $sp
139  bb.1:
140    JAL @foo, implicit-def $ra
141  bb.2:
142    RetRA
143...
144---
145name: testExtractElementF64_64implicitSp
146# CHECK-LABEL: name: testExtractElementF64_64implicitSp
147# CHECK: bb.0
148# CHECK-NEXT: successors
149# CHECK-NEXT: liveins:
150# CHECK-NEXT: {{[[:space:]]$}}
151# CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}}
152body: |
153  bb.0:
154    $at = ExtractElementF64_64 $d12_64, 1, implicit $sp
155  bb.1:
156    JAL @foo, implicit-def $ra
157  bb.2:
158    RetRA
159...
160