3
3
; RUN: llc < %s -mtriple=s390x-ibm-zos -mcpu=z10 | FileCheck %s
4
4
5
5
; CHECK-LABEL: call_char:
6
- ; CHECK: lghi 1, 8
6
+ ; CHECK: lghi 1,8
7
7
define i8 @call_char (){
8
8
%retval = call i8 (i8 ) @pass_char (i8 8 )
9
9
ret i8 %retval
10
10
}
11
11
12
12
; CHECK-LABEL: call_short:
13
- ; CHECK: lghi 1, 16
13
+ ; CHECK: lghi 1,16
14
14
define i16 @call_short () {
15
15
entry:
16
16
%retval = call i16 (i16 ) @pass_short (i16 16 )
17
17
ret i16 %retval
18
18
}
19
19
20
20
; CHECK-LABEL: call_int:
21
- ; CHECK: lghi 1, 32
22
- ; CHECK: lghi 2, 33
21
+ ; CHECK: lghi 1,32
22
+ ; CHECK: lghi 2,33
23
23
define i32 @call_int () {
24
24
entry:
25
25
%retval = call i32 (i32 , i32 ) @pass_int (i32 32 , i32 33 )
26
26
ret i32 %retval
27
27
}
28
28
29
29
; CHECK-LABEL: call_long:
30
- ; CHECK: lghi 1, 64
31
- ; CHECK: lghi 2, 65
32
- ; CHECK: lghi 3, 66
30
+ ; CHECK: lghi 1,64
31
+ ; CHECK: lghi 2,65
32
+ ; CHECK: lghi 3,66
33
33
define i64 @call_long () {
34
34
entry:
35
35
%retval = call i64 (i64 , i64 , i64 ) @pass_long (i64 64 , i64 65 , i64 66 )
36
36
ret i64 %retval
37
37
}
38
38
39
39
; CHECK-LABEL: call_ptr:
40
- ; CHECK: lgr 1, 2
40
+ ; CHECK: lgr 1,2
41
41
define i32 @call_ptr (ptr %p1 , ptr %p2 ) {
42
42
entry:
43
43
%retval = call i32 (ptr ) @pass_ptr (ptr %p2 )
44
44
ret i32 %retval
45
45
}
46
46
47
47
; CHECK-LABEL: call_integrals:
48
- ; CHECK: lghi 1, 64
49
- ; CHECK: lghi 2, 32
50
- ; CHECK: lghi 3, 16
48
+ ; CHECK: lghi 1,64
49
+ ; CHECK: lghi 2,32
50
+ ; CHECK: lghi 3,16
51
51
define i64 @call_integrals () {
52
52
entry:
53
53
%retval = call i64 (i64 , i32 , i16 , i64 ) @pass_integrals0 (i64 64 , i32 32 , i16 16 , i64 128 )
54
54
ret i64 %retval
55
55
}
56
56
57
57
; CHECK-LABEL: pass_char:
58
- ; CHECK: lgr 3, 1
58
+ ; CHECK: lgr 3,1
59
59
define signext i8 @pass_char (i8 signext %arg ) {
60
60
entry:
61
61
ret i8 %arg
62
62
}
63
63
64
64
; CHECK-LABEL: pass_short:
65
- ; CHECK: lgr 3, 1
65
+ ; CHECK: lgr 3,1
66
66
define signext i16 @pass_short (i16 signext %arg ) {
67
67
entry:
68
68
ret i16 %arg
69
69
}
70
70
71
71
; CHECK-LABEL: pass_int:
72
- ; CHECK: lgr 3, 2
72
+ ; CHECK: lgr 3,2
73
73
define signext i32 @pass_int (i32 signext %arg0 , i32 signext %arg1 ) {
74
74
entry:
75
75
ret i32 %arg1
76
76
}
77
77
78
78
; CHECK-LABEL: pass_long:
79
- ; CHECK: agr 1, 2
80
- ; CHECK: agr 3, 1
79
+ ; CHECK: agr 1,2
80
+ ; CHECK: agr 3,1
81
81
define signext i64 @pass_long (i64 signext %arg0 , i64 signext %arg1 , i64 signext %arg2 ) {
82
82
entry:
83
83
%N = add i64 %arg0 , %arg1
86
86
}
87
87
88
88
; CHECK-LABEL: pass_integrals0:
89
- ; CHECK: ag 2, 2200(4)
90
- ; CHECK-NEXT: lgr 3, 2
89
+ ; CHECK: ag 2,2200(4)
90
+ ; CHECK-NEXT: lgr 3,2
91
91
define signext i64 @pass_integrals0 (i64 signext %arg0 , i32 signext %arg1 , i16 signext %arg2 , i64 signext %arg3 ) {
92
92
entry:
93
93
%N = sext i32 %arg1 to i64
@@ -96,88 +96,88 @@ entry:
96
96
}
97
97
98
98
; CHECK-LABEL: call_float:
99
- ; CHECK: le 0, 0({{[0-9]}})
99
+ ; CHECK: le 0,0({{[0-9]}})
100
100
define float @call_float () {
101
101
entry:
102
102
%ret = call float (float ) @pass_float (float 0x400921FB60000000 )
103
103
ret float %ret
104
104
}
105
105
106
106
; CHECK-LABEL: call_double:
107
- ; CHECK: larl [[GENREG:[0-9]+]], L#{{CPI[0-9]+_[0-9]+}}
108
- ; CHECK-NEXT: ld 0, 0([[GENREG]])
107
+ ; CHECK: larl [[GENREG:[0-9]+]],L#{{CPI[0-9]+_[0-9]+}}
108
+ ; CHECK-NEXT: ld 0,0([[GENREG]])
109
109
define double @call_double () {
110
110
entry:
111
111
%ret = call double (double ) @pass_double (double 3 .141000e+00 )
112
112
ret double %ret
113
113
}
114
114
115
115
; CHECK-LABEL: call_longdouble:
116
- ; CHECK: larl [[GENREG:[0-9]+]], L#{{CPI[0-9]+_[0-9]+}}
117
- ; CHECK-NEXT: ld 0, 0([[GENREG]])
118
- ; CHECK-NEXT: ld 2, 8([[GENREG]])
116
+ ; CHECK: larl [[GENREG:[0-9]+]],L#{{CPI[0-9]+_[0-9]+}}
117
+ ; CHECK-NEXT: ld 0,0([[GENREG]])
118
+ ; CHECK-NEXT: ld 2,8([[GENREG]])
119
119
define fp128 @call_longdouble () {
120
120
entry:
121
121
%ret = call fp128 (fp128 ) @pass_longdouble (fp128 0xLE0FC1518450562CD4000921FB5444261)
122
122
ret fp128 %ret
123
123
}
124
124
125
125
; CHECK-LABEL: call_floats0
126
- ; CHECK: larl [[GENREG:[0-9]+]], L#{{CPI[0-9]+_[0-9]+}}
127
- ; CHECK-NEXT: ld 1, 0([[GENREG]])
128
- ; CHECK-NEXT: ld 3, 8([[GENREG]])
129
- ; CHECK: lxr 5, 0
130
- ; CHECK: lxr 0, 1
131
- ; CHECK: lxr 4, 5
126
+ ; CHECK: larl [[GENREG:[0-9]+]],L#{{CPI[0-9]+_[0-9]+}}
127
+ ; CHECK-NEXT: ld 1,0([[GENREG]])
128
+ ; CHECK-NEXT: ld 3,8([[GENREG]])
129
+ ; CHECK: lxr 5,0
130
+ ; CHECK: lxr 0,1
131
+ ; CHECK: lxr 4,5
132
132
define i64 @call_floats0 (fp128 %arg0 , double %arg1 ) {
133
133
entry:
134
134
%ret = call i64 (fp128 , fp128 , double ) @pass_floats0 (fp128 0xLE0FC1518450562CD4000921FB5444261, fp128 %arg0 , double %arg1 )
135
135
ret i64 %ret
136
136
}
137
137
138
138
; CHECK-LABEL: call_floats1
139
- ; CHECK: lxr 1, 0
140
- ; CHECK: ldr 0, 4
141
- ; CHECK: lxr 4, 1
139
+ ; CHECK: lxr 1,0
140
+ ; CHECK: ldr 0,4
141
+ ; CHECK: lxr 4,1
142
142
define i64 @call_floats1 (fp128 %arg0 , double %arg1 ) {
143
143
entry:
144
144
%ret = call i64 (double , fp128 ) @pass_floats1 (double %arg1 , fp128 %arg0 )
145
145
ret i64 %ret
146
146
}
147
147
148
148
; CHECK-LABEL: pass_float:
149
- ; CHECK: larl 1, L#{{CPI[0-9]+_[0-9]+}}
150
- ; CHECK: aeb 0, 0(1)
149
+ ; CHECK: larl 1,L#{{CPI[0-9]+_[0-9]+}}
150
+ ; CHECK: aeb 0,0(1)
151
151
define float @pass_float (float %arg ) {
152
152
entry:
153
153
%X = fadd float %arg , 0x400821FB60000000
154
154
ret float %X
155
155
}
156
156
157
157
; CHECK-LABEL: pass_double:
158
- ; CHECK: larl 1, L#{{CPI[0-9]+_[0-9]+}}
159
- ; CHECK: adb 0, 0(1)
158
+ ; CHECK: larl 1,L#{{CPI[0-9]+_[0-9]+}}
159
+ ; CHECK: adb 0,0(1)
160
160
define double @pass_double (double %arg ) {
161
161
entry:
162
162
%X = fadd double %arg , 1 .414213e+00
163
163
ret double %X
164
164
}
165
165
166
166
; CHECK-LABEL: pass_longdouble
167
- ; CHECK: larl 1, L#{{CPI[0-9]+_[0-9]+}}
168
- ; CHECK: lxdb 1, 0(1)
169
- ; CHECK: axbr 0, 1
167
+ ; CHECK: larl 1,L#{{CPI[0-9]+_[0-9]+}}
168
+ ; CHECK: lxdb 1,0(1)
169
+ ; CHECK: axbr 0,1
170
170
define fp128 @pass_longdouble (fp128 %arg ) {
171
171
entry:
172
172
%X = fadd fp128 %arg , 0xL10000000000000004000921FB53C8D4F
173
173
ret fp128 %X
174
174
}
175
175
176
176
; CHECK-LABEL: pass_floats0
177
- ; CHECK: larl 1, L#{{CPI[0-9]+_[0-9]+}}
178
- ; CHECK: axbr 0, 4
179
- ; CHECK: axbr 1, 0
180
- ; CHECK: cxbr 1, 5
177
+ ; CHECK: larl 1,L#{{CPI[0-9]+_[0-9]+}}
178
+ ; CHECK: axbr 0,4
179
+ ; CHECK: axbr 1,0
180
+ ; CHECK: cxbr 1,5
181
181
define i64 @pass_floats0 (fp128 %arg0 , fp128 %arg1 , double %arg2 ) {
182
182
%X = fadd fp128 %arg0 , %arg1
183
183
%arg2_ext = fpext double %arg2 to fp128
0 commit comments