[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / Mips / shrink-wrap-buildpairf64-extractelementf64.mir
blobcb364de0e9bc0cdc4611e1fbf019b816f18796f6
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
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 ---
32 name: testBuildPairF64
33 # CHECK-LABEL: name: testBuildPairF64
34 # CHECK: bb.0
35 # CHECK-NEXT: successors
36 # CHECK-NEXT: {{[[:space:]]$}}
37 # CHECK-NEXT: BuildPairF64
38 body: |
39   bb.0:
40     $d0 = BuildPairF64 $zero, $zero
41   bb.1:
42     JAL @foo, implicit-def $ra
43   bb.2:
44     RetRA
45 ...
46 ---
47 name: testBuildPairF64_64
48 # CHECK-LABEL: name: testBuildPairF64_64
49 # CHECK: bb.0
50 # CHECK-NEXT: successors
51 # CHECK-NEXT: {{[[:space:]]$}}
52 # CHECK-NEXT: BuildPairF64_64
53 body: |
54   bb.0:
55     $d0_64 = BuildPairF64_64 $zero, $zero
56   bb.1:
57     JAL @foo, implicit-def $ra
58   bb.2:
59     RetRA
60 ...
61 ---
62 name: testBuildPairF64implicitSp
63 # CHECK-LABEL: name: testBuildPairF64implicitSp
64 # CHECK: bb.0
65 # CHECK-NEXT: successors
66 # CHECK-NEXT: {{[[:space:]]$}}
67 # CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}}
68 body: |
69   bb.0:
70     $d0 = BuildPairF64 $zero, $zero, implicit $sp
71   bb.1:
72     JAL @foo, implicit-def $ra
73   bb.2:
74     RetRA
75 ...
76 ---
77 name: testBuildPairF64_64implicitSp
78 # CHECK-LABEL: name: testBuildPairF64_64implicitSp
79 # CHECK: bb.0
80 # CHECK-NEXT: successors
81 # CHECK-NEXT: {{[[:space:]]$}}
82 # CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}}
83 body: |
84   bb.0:
85     $d0_64 = BuildPairF64_64 $zero, $zero, implicit $sp
86   bb.1:
87     JAL @foo, implicit-def $ra
88   bb.2:
89     RetRA
90 ...
91 ---
92 name: testExtractElementF64
93 # CHECK-LABEL: name: testExtractElementF64
94 # CHECK: bb.0
95 # CHECK-NEXT: successors
96 # CHECK-NEXT: {{[[:space:]]$}}
97 # CHECK-NEXT: ExtractElementF64
98 body: |
99   bb.0:
100     $at = ExtractElementF64 $d6, 1
101   bb.1:
102     JAL @foo, implicit-def $ra
103   bb.2:
104     RetRA
107 name: testExtractElementF64_64
108 # CHECK-LABEL: name: testExtractElementF64_64
109 # CHECK: bb.0
110 # CHECK-NEXT: successors
111 # CHECK-NEXT: {{[[:space:]]$}}
112 # CHECK-NEXT: ExtractElementF64_64
113 body: |
114   bb.0:
115     $at = ExtractElementF64_64 $d12_64, 1
116   bb.1:
117     JAL @foo, implicit-def $ra
118   bb.2:
119     RetRA
122 name: testExtractElementF64implicitSp
123 # CHECK-LABEL: name: testExtractElementF64implicitSp
124 # CHECK: bb.0
125 # CHECK-NEXT: successors
126 # CHECK-NEXT: {{[[:space:]]$}}
127 # CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}}
128 body: |
129   bb.0:
130     $at = ExtractElementF64 $d6, 1, implicit $sp
131   bb.1:
132     JAL @foo, implicit-def $ra
133   bb.2:
134     RetRA
137 name: testExtractElementF64_64implicitSp
138 # CHECK-LABEL: name: testExtractElementF64_64implicitSp
139 # CHECK: bb.0
140 # CHECK-NEXT: successors
141 # CHECK-NEXT: {{[[:space:]]$}}
142 # CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}}
143 body: |
144   bb.0:
145     $at = ExtractElementF64_64 $d12_64, 1, implicit $sp
146   bb.1:
147     JAL @foo, implicit-def $ra
148   bb.2:
149     RetRA