8
8
// Force frame pointers to make ASM more consistent between targets
9
9
//@ compile-flags: -O -C force-frame-pointers
10
10
//@ filecheck-flags: --implicit-check-not fld --implicit-check-not fst
11
- //@ revisions: unix windows
12
- //@[unix ] ignore-windows
13
- //@[windows ] only-windows
11
+ //@ revisions: normal win
12
+ //@[normal ] ignore-windows
13
+ //@[win ] only-windows
14
14
15
15
#![ crate_type = "lib" ]
16
16
#![ feature( f16, f128) ]
@@ -190,10 +190,10 @@ pub unsafe fn call_f64_f64(x: &mut (f64, f64)) {
190
190
}
191
191
// CHECK: movl {{.*}}(%ebp), %[[PTR:.*]]
192
192
// CHECK: calll {{()|_}}get_f64_f64
193
- // unix : movsd [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
194
- // unix -NEXT: movsd [[#%d,OFFSET+8]](%ebp), %[[VAL2:.*]]
195
- // windows : movsd (%esp), %[[VAL1:.*]]
196
- // windows -NEXT: movsd 8(%esp), %[[VAL2:.*]]
193
+ // normal : movsd [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
194
+ // normal -NEXT: movsd [[#%d,OFFSET+8]](%ebp), %[[VAL2:.*]]
195
+ // win : movsd (%esp), %[[VAL1:.*]]
196
+ // win -NEXT: movsd 8(%esp), %[[VAL2:.*]]
197
197
// CHECK-NEXT: movsd %[[VAL1]], (%[[PTR]])
198
198
// CHECK-NEXT: movsd %[[VAL2]], 8(%[[PTR]])
199
199
* x = get_f64_f64 ( ) ;
@@ -207,13 +207,13 @@ pub unsafe fn call_f32_f64(x: &mut (f32, f64)) {
207
207
}
208
208
// CHECK: movl {{.*}}(%ebp), %[[PTR:.*]]
209
209
// CHECK: calll {{()|_}}get_f32_f64
210
- // unix : movss [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
211
- // unix -NEXT: movsd [[#%d,OFFSET+4]](%ebp), %[[VAL2:.*]]
212
- // windows : movss (%esp), %[[VAL1:.*]]
213
- // windows -NEXT: movsd 8(%esp), %[[VAL2:.*]]
210
+ // normal : movss [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
211
+ // normal -NEXT: movsd [[#%d,OFFSET+4]](%ebp), %[[VAL2:.*]]
212
+ // win : movss (%esp), %[[VAL1:.*]]
213
+ // win -NEXT: movsd 8(%esp), %[[VAL2:.*]]
214
214
// CHECK-NEXT: movss %[[VAL1]], (%[[PTR]])
215
- // unix -NEXT: movsd %[[VAL2]], 4(%[[PTR]])
216
- // windows -NEXT: movsd %[[VAL2]], 8(%[[PTR]])
215
+ // normal -NEXT: movsd %[[VAL2]], 4(%[[PTR]])
216
+ // win -NEXT: movsd %[[VAL2]], 8(%[[PTR]])
217
217
* x = get_f32_f64 ( ) ;
218
218
}
219
219
@@ -225,10 +225,10 @@ pub unsafe fn call_f64_f32(x: &mut (f64, f32)) {
225
225
}
226
226
// CHECK: movl {{.*}}(%ebp), %[[PTR:.*]]
227
227
// CHECK: calll {{()|_}}get_f64_f32
228
- // unix : movsd [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
229
- // unix -NEXT: movss [[#%d,OFFSET+8]](%ebp), %[[VAL2:.*]]
230
- // windows : movsd (%esp), %[[VAL1:.*]]
231
- // windows -NEXT: movss 8(%esp), %[[VAL2:.*]]
228
+ // normal : movsd [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
229
+ // normal -NEXT: movss [[#%d,OFFSET+8]](%ebp), %[[VAL2:.*]]
230
+ // win : movsd (%esp), %[[VAL1:.*]]
231
+ // win -NEXT: movss 8(%esp), %[[VAL2:.*]]
232
232
// CHECK-NEXT: movsd %[[VAL1]], (%[[PTR]])
233
233
// CHECK-NEXT: movss %[[VAL2]], 8(%[[PTR]])
234
234
* x = get_f64_f32 ( ) ;
@@ -257,10 +257,10 @@ pub unsafe fn call_f64_other(x: &mut (f64, usize)) {
257
257
}
258
258
// CHECK: movl {{.*}}(%ebp), %[[PTR:.*]]
259
259
// CHECK: calll {{()|_}}get_f64_other
260
- // unix : movsd [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
261
- // unix -NEXT: movl [[#%d,OFFSET+8]](%ebp), %[[VAL2:.*]]
262
- // windows : movsd (%esp), %[[VAL1:.*]]
263
- // windows -NEXT: movl 8(%esp), %[[VAL2:.*]]
260
+ // normal : movsd [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
261
+ // normal -NEXT: movl [[#%d,OFFSET+8]](%ebp), %[[VAL2:.*]]
262
+ // win : movsd (%esp), %[[VAL1:.*]]
263
+ // win -NEXT: movl 8(%esp), %[[VAL2:.*]]
264
264
// CHECK-NEXT: movsd %[[VAL1]], (%[[PTR]])
265
265
// CHECK-NEXT: movl %[[VAL2]], 8(%[[PTR]])
266
266
* x = get_f64_other ( ) ;
@@ -289,13 +289,13 @@ pub unsafe fn call_other_f64(x: &mut (usize, f64)) {
289
289
}
290
290
// CHECK: movl {{.*}}(%ebp), %[[PTR:.*]]
291
291
// CHECK: calll {{()|_}}get_other_f64
292
- // unix : movl [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
293
- // unix -NEXT: movsd [[#%d,OFFSET+4]](%ebp), %[[VAL2:.*]]
294
- // windows : movl (%esp), %[[VAL1:.*]]
295
- // windows -NEXT: movsd 8(%esp), %[[VAL2:.*]]
292
+ // normal : movl [[#%d,OFFSET:]](%ebp), %[[VAL1:.*]]
293
+ // normal -NEXT: movsd [[#%d,OFFSET+4]](%ebp), %[[VAL2:.*]]
294
+ // win : movl (%esp), %[[VAL1:.*]]
295
+ // win -NEXT: movsd 8(%esp), %[[VAL2:.*]]
296
296
// CHECK-NEXT: movl %[[VAL1]], (%[[PTR]])
297
- // unix -NEXT: movsd %[[VAL2]], 4(%[[PTR]])
298
- // windows -NEXT: movsd %[[VAL2]], 8(%[[PTR]])
297
+ // normal -NEXT: movsd %[[VAL2]], 4(%[[PTR]])
298
+ // win -NEXT: movsd %[[VAL2]], 8(%[[PTR]])
299
299
* x = get_other_f64 ( ) ;
300
300
}
301
301
0 commit comments