Skip to content

Commit 0db197a

Browse files
authored
[Test] Mark a number of libcall tests nounwind (#148329)
Many tests for floating point libcalls include CFI directives, which isn't needed for the purpose of these tests. Mark some of the relevant test functions `nounwind` in order to remove this noise.
1 parent f2e244f commit 0db197a

21 files changed

+373
-1195
lines changed

llvm/test/CodeGen/AArch64/fsincos.ll

Lines changed: 129 additions & 323 deletions
Large diffs are not rendered by default.

llvm/test/CodeGen/AArch64/llvm.frexp.ll

Lines changed: 94 additions & 394 deletions
Large diffs are not rendered by default.

llvm/test/CodeGen/AArch64/llvm.sincos.ll

Lines changed: 24 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,10 @@
22
; RUN: llc -mtriple=aarch64-gnu-linux < %s | FileCheck -check-prefixes=CHECK %s
33
; RUN: llc -mtriple=aarch64-none-linux < %s | FileCheck -check-prefixes=NO-LIBCALL %s
44

5-
define { half, half } @test_sincos_f16(half %a) {
5+
define { half, half } @test_sincos_f16(half %a) nounwind {
66
; CHECK-LABEL: test_sincos_f16:
77
; CHECK: // %bb.0:
88
; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
9-
; CHECK-NEXT: .cfi_def_cfa_offset 16
10-
; CHECK-NEXT: .cfi_offset w30, -16
119
; CHECK-NEXT: fcvt s0, h0
1210
; CHECK-NEXT: add x0, sp, #12
1311
; CHECK-NEXT: add x1, sp, #8
@@ -21,12 +19,8 @@ define { half, half } @test_sincos_f16(half %a) {
2119
; NO-LIBCALL-LABEL: test_sincos_f16:
2220
; NO-LIBCALL: // %bb.0:
2321
; NO-LIBCALL-NEXT: stp d9, d8, [sp, #-32]! // 16-byte Folded Spill
24-
; NO-LIBCALL-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
25-
; NO-LIBCALL-NEXT: .cfi_def_cfa_offset 32
26-
; NO-LIBCALL-NEXT: .cfi_offset w30, -16
27-
; NO-LIBCALL-NEXT: .cfi_offset b8, -24
28-
; NO-LIBCALL-NEXT: .cfi_offset b9, -32
2922
; NO-LIBCALL-NEXT: fcvt s8, h0
23+
; NO-LIBCALL-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
3024
; NO-LIBCALL-NEXT: fmov s0, s8
3125
; NO-LIBCALL-NEXT: bl sinf
3226
; NO-LIBCALL-NEXT: fcvt h9, s0
@@ -42,12 +36,10 @@ define { half, half } @test_sincos_f16(half %a) {
4236
ret { half, half } %result
4337
}
4438

45-
define half @test_sincos_f16_only_use_sin(half %a) {
39+
define half @test_sincos_f16_only_use_sin(half %a) nounwind {
4640
; CHECK-LABEL: test_sincos_f16_only_use_sin:
4741
; CHECK: // %bb.0:
4842
; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
49-
; CHECK-NEXT: .cfi_def_cfa_offset 16
50-
; CHECK-NEXT: .cfi_offset w30, -16
5143
; CHECK-NEXT: fcvt s0, h0
5244
; CHECK-NEXT: add x0, sp, #12
5345
; CHECK-NEXT: add x1, sp, #8
@@ -60,8 +52,6 @@ define half @test_sincos_f16_only_use_sin(half %a) {
6052
; NO-LIBCALL-LABEL: test_sincos_f16_only_use_sin:
6153
; NO-LIBCALL: // %bb.0:
6254
; NO-LIBCALL-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
63-
; NO-LIBCALL-NEXT: .cfi_def_cfa_offset 16
64-
; NO-LIBCALL-NEXT: .cfi_offset w30, -16
6555
; NO-LIBCALL-NEXT: fcvt s0, h0
6656
; NO-LIBCALL-NEXT: bl sinf
6757
; NO-LIBCALL-NEXT: fcvt h0, s0
@@ -72,12 +62,10 @@ define half @test_sincos_f16_only_use_sin(half %a) {
7262
ret half %result.0
7363
}
7464

75-
define half @test_sincos_f16_only_use_cos(half %a) {
65+
define half @test_sincos_f16_only_use_cos(half %a) nounwind {
7666
; CHECK-LABEL: test_sincos_f16_only_use_cos:
7767
; CHECK: // %bb.0:
7868
; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
79-
; CHECK-NEXT: .cfi_def_cfa_offset 16
80-
; CHECK-NEXT: .cfi_offset w30, -16
8169
; CHECK-NEXT: fcvt s0, h0
8270
; CHECK-NEXT: add x0, sp, #12
8371
; CHECK-NEXT: add x1, sp, #8
@@ -90,8 +78,6 @@ define half @test_sincos_f16_only_use_cos(half %a) {
9078
; NO-LIBCALL-LABEL: test_sincos_f16_only_use_cos:
9179
; NO-LIBCALL: // %bb.0:
9280
; NO-LIBCALL-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
93-
; NO-LIBCALL-NEXT: .cfi_def_cfa_offset 16
94-
; NO-LIBCALL-NEXT: .cfi_offset w30, -16
9581
; NO-LIBCALL-NEXT: fcvt s0, h0
9682
; NO-LIBCALL-NEXT: bl cosf
9783
; NO-LIBCALL-NEXT: fcvt h0, s0
@@ -102,18 +88,16 @@ define half @test_sincos_f16_only_use_cos(half %a) {
10288
ret half %result.1
10389
}
10490

105-
define { <2 x half>, <2 x half> } @test_sincos_v2f16(<2 x half> %a) {
91+
define { <2 x half>, <2 x half> } @test_sincos_v2f16(<2 x half> %a) nounwind {
10692
; CHECK-LABEL: test_sincos_v2f16:
10793
; CHECK: // %bb.0:
10894
; CHECK-NEXT: sub sp, sp, #64
109-
; CHECK-NEXT: str x30, [sp, #48] // 8-byte Folded Spill
110-
; CHECK-NEXT: .cfi_def_cfa_offset 64
111-
; CHECK-NEXT: .cfi_offset w30, -16
11295
; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0
11396
; CHECK-NEXT: mov h1, v0.h[1]
11497
; CHECK-NEXT: str q0, [sp] // 16-byte Folded Spill
11598
; CHECK-NEXT: add x0, sp, #36
11699
; CHECK-NEXT: add x1, sp, #32
100+
; CHECK-NEXT: str x30, [sp, #48] // 8-byte Folded Spill
117101
; CHECK-NEXT: fcvt s0, h1
118102
; CHECK-NEXT: bl sincosf
119103
; CHECK-NEXT: ldr q0, [sp] // 16-byte Folded Reload
@@ -160,18 +144,12 @@ define { <2 x half>, <2 x half> } @test_sincos_v2f16(<2 x half> %a) {
160144
; NO-LIBCALL-LABEL: test_sincos_v2f16:
161145
; NO-LIBCALL: // %bb.0:
162146
; NO-LIBCALL-NEXT: sub sp, sp, #80
163-
; NO-LIBCALL-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
164-
; NO-LIBCALL-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
165-
; NO-LIBCALL-NEXT: str x30, [sp, #64] // 8-byte Folded Spill
166-
; NO-LIBCALL-NEXT: .cfi_def_cfa_offset 80
167-
; NO-LIBCALL-NEXT: .cfi_offset w30, -16
168-
; NO-LIBCALL-NEXT: .cfi_offset b8, -24
169-
; NO-LIBCALL-NEXT: .cfi_offset b9, -32
170-
; NO-LIBCALL-NEXT: .cfi_offset b10, -40
171-
; NO-LIBCALL-NEXT: .cfi_offset b11, -48
172147
; NO-LIBCALL-NEXT: // kill: def $d0 killed $d0 def $q0
173148
; NO-LIBCALL-NEXT: mov h1, v0.h[1]
149+
; NO-LIBCALL-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
174150
; NO-LIBCALL-NEXT: str q0, [sp] // 16-byte Folded Spill
151+
; NO-LIBCALL-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
152+
; NO-LIBCALL-NEXT: str x30, [sp, #64] // 8-byte Folded Spill
175153
; NO-LIBCALL-NEXT: fcvt s8, h1
176154
; NO-LIBCALL-NEXT: fmov s0, s8
177155
; NO-LIBCALL-NEXT: bl sinf
@@ -237,12 +215,10 @@ define { <2 x half>, <2 x half> } @test_sincos_v2f16(<2 x half> %a) {
237215
ret { <2 x half>, <2 x half> } %result
238216
}
239217

240-
define { float, float } @test_sincos_f32(float %a) {
218+
define { float, float } @test_sincos_f32(float %a) nounwind {
241219
; CHECK-LABEL: test_sincos_f32:
242220
; CHECK: // %bb.0:
243221
; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
244-
; CHECK-NEXT: .cfi_def_cfa_offset 16
245-
; CHECK-NEXT: .cfi_offset w30, -16
246222
; CHECK-NEXT: add x0, sp, #12
247223
; CHECK-NEXT: add x1, sp, #8
248224
; CHECK-NEXT: bl sincosf
@@ -254,10 +230,6 @@ define { float, float } @test_sincos_f32(float %a) {
254230
; NO-LIBCALL: // %bb.0:
255231
; NO-LIBCALL-NEXT: stp d9, d8, [sp, #-32]! // 16-byte Folded Spill
256232
; NO-LIBCALL-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
257-
; NO-LIBCALL-NEXT: .cfi_def_cfa_offset 32
258-
; NO-LIBCALL-NEXT: .cfi_offset w30, -16
259-
; NO-LIBCALL-NEXT: .cfi_offset b8, -24
260-
; NO-LIBCALL-NEXT: .cfi_offset b9, -32
261233
; NO-LIBCALL-NEXT: fmov s8, s0
262234
; NO-LIBCALL-NEXT: bl sinf
263235
; NO-LIBCALL-NEXT: fmov s9, s0
@@ -272,21 +244,15 @@ define { float, float } @test_sincos_f32(float %a) {
272244
ret { float, float } %result
273245
}
274246

275-
define { <3 x float>, <3 x float> } @test_sincos_v3f32(<3 x float> %a) {
247+
define { <3 x float>, <3 x float> } @test_sincos_v3f32(<3 x float> %a) nounwind {
276248
; CHECK-LABEL: test_sincos_v3f32:
277249
; CHECK: // %bb.0:
278250
; CHECK-NEXT: sub sp, sp, #80
251+
; CHECK-NEXT: add x0, sp, #20
252+
; CHECK-NEXT: add x1, sp, #16
279253
; CHECK-NEXT: str x30, [sp, #32] // 8-byte Folded Spill
280254
; CHECK-NEXT: stp x22, x21, [sp, #48] // 16-byte Folded Spill
281255
; CHECK-NEXT: stp x20, x19, [sp, #64] // 16-byte Folded Spill
282-
; CHECK-NEXT: .cfi_def_cfa_offset 80
283-
; CHECK-NEXT: .cfi_offset w19, -8
284-
; CHECK-NEXT: .cfi_offset w20, -16
285-
; CHECK-NEXT: .cfi_offset w21, -24
286-
; CHECK-NEXT: .cfi_offset w22, -32
287-
; CHECK-NEXT: .cfi_offset w30, -48
288-
; CHECK-NEXT: add x0, sp, #20
289-
; CHECK-NEXT: add x1, sp, #16
290256
; CHECK-NEXT: str q0, [sp] // 16-byte Folded Spill
291257
; CHECK-NEXT: // kill: def $s0 killed $s0 killed $q0
292258
; CHECK-NEXT: bl sincosf
@@ -319,13 +285,9 @@ define { <3 x float>, <3 x float> } @test_sincos_v3f32(<3 x float> %a) {
319285
; NO-LIBCALL: // %bb.0:
320286
; NO-LIBCALL-NEXT: sub sp, sp, #80
321287
; NO-LIBCALL-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
322-
; NO-LIBCALL-NEXT: str x30, [sp, #64] // 8-byte Folded Spill
323-
; NO-LIBCALL-NEXT: .cfi_def_cfa_offset 80
324-
; NO-LIBCALL-NEXT: .cfi_offset w30, -16
325-
; NO-LIBCALL-NEXT: .cfi_offset b8, -24
326-
; NO-LIBCALL-NEXT: .cfi_offset b9, -32
327288
; NO-LIBCALL-NEXT: mov s8, v0.s[1]
328289
; NO-LIBCALL-NEXT: str q0, [sp, #32] // 16-byte Folded Spill
290+
; NO-LIBCALL-NEXT: str x30, [sp, #64] // 8-byte Folded Spill
329291
; NO-LIBCALL-NEXT: fmov s0, s8
330292
; NO-LIBCALL-NEXT: bl sinf
331293
; NO-LIBCALL-NEXT: // kill: def $s0 killed $s0 def $q0
@@ -369,19 +331,15 @@ define { <3 x float>, <3 x float> } @test_sincos_v3f32(<3 x float> %a) {
369331
ret { <3 x float>, <3 x float> } %result
370332
}
371333

372-
define { <2 x float>, <2 x float> } @test_sincos_v2f32(<2 x float> %a) {
334+
define { <2 x float>, <2 x float> } @test_sincos_v2f32(<2 x float> %a) nounwind {
373335
; CHECK-LABEL: test_sincos_v2f32:
374336
; CHECK: // %bb.0:
375337
; CHECK-NEXT: sub sp, sp, #64
376-
; CHECK-NEXT: str x30, [sp, #32] // 8-byte Folded Spill
377-
; CHECK-NEXT: stp x20, x19, [sp, #48] // 16-byte Folded Spill
378-
; CHECK-NEXT: .cfi_def_cfa_offset 64
379-
; CHECK-NEXT: .cfi_offset w19, -8
380-
; CHECK-NEXT: .cfi_offset w20, -16
381-
; CHECK-NEXT: .cfi_offset w30, -32
382338
; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0
383339
; CHECK-NEXT: add x0, sp, #44
384340
; CHECK-NEXT: add x1, sp, #40
341+
; CHECK-NEXT: str x30, [sp, #32] // 8-byte Folded Spill
342+
; CHECK-NEXT: stp x20, x19, [sp, #48] // 16-byte Folded Spill
385343
; CHECK-NEXT: str q0, [sp] // 16-byte Folded Spill
386344
; CHECK-NEXT: // kill: def $s0 killed $s0 killed $q0
387345
; CHECK-NEXT: bl sincosf
@@ -406,13 +364,10 @@ define { <2 x float>, <2 x float> } @test_sincos_v2f32(<2 x float> %a) {
406364
; NO-LIBCALL: // %bb.0:
407365
; NO-LIBCALL-NEXT: sub sp, sp, #64
408366
; NO-LIBCALL-NEXT: str d8, [sp, #48] // 8-byte Folded Spill
409-
; NO-LIBCALL-NEXT: str x30, [sp, #56] // 8-byte Folded Spill
410-
; NO-LIBCALL-NEXT: .cfi_def_cfa_offset 64
411-
; NO-LIBCALL-NEXT: .cfi_offset w30, -8
412-
; NO-LIBCALL-NEXT: .cfi_offset b8, -16
413367
; NO-LIBCALL-NEXT: // kill: def $d0 killed $d0 def $q0
414368
; NO-LIBCALL-NEXT: mov s8, v0.s[1]
415369
; NO-LIBCALL-NEXT: str q0, [sp, #32] // 16-byte Folded Spill
370+
; NO-LIBCALL-NEXT: str x30, [sp, #56] // 8-byte Folded Spill
416371
; NO-LIBCALL-NEXT: fmov s0, s8
417372
; NO-LIBCALL-NEXT: bl sinf
418373
; NO-LIBCALL-NEXT: // kill: def $s0 killed $s0 def $q0
@@ -444,15 +399,13 @@ define { <2 x float>, <2 x float> } @test_sincos_v2f32(<2 x float> %a) {
444399
ret { <2 x float>, <2 x float> } %result
445400
}
446401

447-
define { double, double } @test_sincos_f64(double %a) {
402+
define { double, double } @test_sincos_f64(double %a) nounwind {
448403
; CHECK-LABEL: test_sincos_f64:
449404
; CHECK: // %bb.0:
450405
; CHECK-NEXT: sub sp, sp, #32
451-
; CHECK-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
452-
; CHECK-NEXT: .cfi_def_cfa_offset 32
453-
; CHECK-NEXT: .cfi_offset w30, -16
454406
; CHECK-NEXT: add x0, sp, #24
455407
; CHECK-NEXT: add x1, sp, #8
408+
; CHECK-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
456409
; CHECK-NEXT: bl sincos
457410
; CHECK-NEXT: ldr d0, [sp, #24]
458411
; CHECK-NEXT: ldr d1, [sp, #8]
@@ -464,10 +417,6 @@ define { double, double } @test_sincos_f64(double %a) {
464417
; NO-LIBCALL: // %bb.0:
465418
; NO-LIBCALL-NEXT: stp d9, d8, [sp, #-32]! // 16-byte Folded Spill
466419
; NO-LIBCALL-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
467-
; NO-LIBCALL-NEXT: .cfi_def_cfa_offset 32
468-
; NO-LIBCALL-NEXT: .cfi_offset w30, -16
469-
; NO-LIBCALL-NEXT: .cfi_offset b8, -24
470-
; NO-LIBCALL-NEXT: .cfi_offset b9, -32
471420
; NO-LIBCALL-NEXT: fmov d8, d0
472421
; NO-LIBCALL-NEXT: bl sin
473422
; NO-LIBCALL-NEXT: fmov d9, d0
@@ -482,18 +431,14 @@ define { double, double } @test_sincos_f64(double %a) {
482431
ret { double, double } %result
483432
}
484433

485-
define { <2 x double>, <2 x double> } @test_sincos_v2f64(<2 x double> %a) {
434+
define { <2 x double>, <2 x double> } @test_sincos_v2f64(<2 x double> %a) nounwind {
486435
; CHECK-LABEL: test_sincos_v2f64:
487436
; CHECK: // %bb.0:
488437
; CHECK-NEXT: sub sp, sp, #80
489-
; CHECK-NEXT: str x30, [sp, #48] // 8-byte Folded Spill
490-
; CHECK-NEXT: stp x20, x19, [sp, #64] // 16-byte Folded Spill
491-
; CHECK-NEXT: .cfi_def_cfa_offset 80
492-
; CHECK-NEXT: .cfi_offset w19, -8
493-
; CHECK-NEXT: .cfi_offset w20, -16
494-
; CHECK-NEXT: .cfi_offset w30, -32
495438
; CHECK-NEXT: add x0, sp, #56
496439
; CHECK-NEXT: add x1, sp, #40
440+
; CHECK-NEXT: str x30, [sp, #48] // 8-byte Folded Spill
441+
; CHECK-NEXT: stp x20, x19, [sp, #64] // 16-byte Folded Spill
497442
; CHECK-NEXT: str q0, [sp] // 16-byte Folded Spill
498443
; CHECK-NEXT: // kill: def $d0 killed $d0 killed $q0
499444
; CHECK-NEXT: bl sincos
@@ -517,12 +462,9 @@ define { <2 x double>, <2 x double> } @test_sincos_v2f64(<2 x double> %a) {
517462
; NO-LIBCALL: // %bb.0:
518463
; NO-LIBCALL-NEXT: sub sp, sp, #64
519464
; NO-LIBCALL-NEXT: str d8, [sp, #48] // 8-byte Folded Spill
520-
; NO-LIBCALL-NEXT: str x30, [sp, #56] // 8-byte Folded Spill
521-
; NO-LIBCALL-NEXT: .cfi_def_cfa_offset 64
522-
; NO-LIBCALL-NEXT: .cfi_offset w30, -8
523-
; NO-LIBCALL-NEXT: .cfi_offset b8, -16
524465
; NO-LIBCALL-NEXT: mov d8, v0.d[1]
525466
; NO-LIBCALL-NEXT: str q0, [sp, #32] // 16-byte Folded Spill
467+
; NO-LIBCALL-NEXT: str x30, [sp, #56] // 8-byte Folded Spill
526468
; NO-LIBCALL-NEXT: fmov d0, d8
527469
; NO-LIBCALL-NEXT: bl sin
528470
; NO-LIBCALL-NEXT: // kill: def $d0 killed $d0 def $q0

llvm/test/CodeGen/Mips/ldexp.ll

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
22
; RUN: llc -mtriple=mips-- -mattr=+soft-float < %s | FileCheck -check-prefix=SOFT %s
33

4-
define float @ldexp_f32(i8 zeroext %x) {
4+
define float @ldexp_f32(i8 zeroext %x) nounwind {
55
; SOFT-LABEL: ldexp_f32:
66
; SOFT: # %bb.0:
77
; SOFT-NEXT: addiu $sp, $sp, -24
8-
; SOFT-NEXT: .cfi_def_cfa_offset 24
98
; SOFT-NEXT: sw $ra, 20($sp) # 4-byte Folded Spill
10-
; SOFT-NEXT: .cfi_offset 31, -4
119
; SOFT-NEXT: move $5, $4
1210
; SOFT-NEXT: jal ldexpf
1311
; SOFT-NEXT: lui $4, 16256
@@ -19,13 +17,11 @@ define float @ldexp_f32(i8 zeroext %x) {
1917
ret float %ldexp
2018
}
2119

22-
define double @ldexp_f64(i8 zeroext %x) {
20+
define double @ldexp_f64(i8 zeroext %x) nounwind {
2321
; SOFT-LABEL: ldexp_f64:
2422
; SOFT: # %bb.0:
2523
; SOFT-NEXT: addiu $sp, $sp, -24
26-
; SOFT-NEXT: .cfi_def_cfa_offset 24
2724
; SOFT-NEXT: sw $ra, 20($sp) # 4-byte Folded Spill
28-
; SOFT-NEXT: .cfi_offset 31, -4
2925
; SOFT-NEXT: move $6, $4
3026
; SOFT-NEXT: lui $4, 16368
3127
; SOFT-NEXT: jal ldexp
@@ -38,17 +34,13 @@ define double @ldexp_f64(i8 zeroext %x) {
3834
ret double %ldexp
3935
}
4036

41-
define <2 x float> @ldexp_v2f32(<2 x float> %val, <2 x i32> %exp) {
37+
define <2 x float> @ldexp_v2f32(<2 x float> %val, <2 x i32> %exp) nounwind {
4238
; SOFT-LABEL: ldexp_v2f32:
4339
; SOFT: # %bb.0:
4440
; SOFT-NEXT: addiu $sp, $sp, -32
45-
; SOFT-NEXT: .cfi_def_cfa_offset 32
4641
; SOFT-NEXT: sw $ra, 28($sp) # 4-byte Folded Spill
4742
; SOFT-NEXT: sw $17, 24($sp) # 4-byte Folded Spill
4843
; SOFT-NEXT: sw $16, 20($sp) # 4-byte Folded Spill
49-
; SOFT-NEXT: .cfi_offset 31, -4
50-
; SOFT-NEXT: .cfi_offset 17, -8
51-
; SOFT-NEXT: .cfi_offset 16, -12
5244
; SOFT-NEXT: move $16, $6
5345
; SOFT-NEXT: move $17, $4
5446
; SOFT-NEXT: lw $5, 52($sp)
@@ -68,23 +60,16 @@ define <2 x float> @ldexp_v2f32(<2 x float> %val, <2 x i32> %exp) {
6860
ret <2 x float> %1
6961
}
7062

71-
define <4 x float> @ldexp_v4f32(<4 x float> %val, <4 x i32> %exp) {
63+
define <4 x float> @ldexp_v4f32(<4 x float> %val, <4 x i32> %exp) nounwind {
7264
; SOFT-LABEL: ldexp_v4f32:
7365
; SOFT: # %bb.0:
7466
; SOFT-NEXT: addiu $sp, $sp, -40
75-
; SOFT-NEXT: .cfi_def_cfa_offset 40
7667
; SOFT-NEXT: sw $ra, 36($sp) # 4-byte Folded Spill
7768
; SOFT-NEXT: sw $20, 32($sp) # 4-byte Folded Spill
7869
; SOFT-NEXT: sw $19, 28($sp) # 4-byte Folded Spill
7970
; SOFT-NEXT: sw $18, 24($sp) # 4-byte Folded Spill
8071
; SOFT-NEXT: sw $17, 20($sp) # 4-byte Folded Spill
8172
; SOFT-NEXT: sw $16, 16($sp) # 4-byte Folded Spill
82-
; SOFT-NEXT: .cfi_offset 31, -4
83-
; SOFT-NEXT: .cfi_offset 20, -8
84-
; SOFT-NEXT: .cfi_offset 19, -12
85-
; SOFT-NEXT: .cfi_offset 18, -16
86-
; SOFT-NEXT: .cfi_offset 17, -20
87-
; SOFT-NEXT: .cfi_offset 16, -24
8873
; SOFT-NEXT: move $16, $7
8974
; SOFT-NEXT: move $18, $4
9075
; SOFT-NEXT: lw $4, 60($sp)
@@ -118,15 +103,12 @@ define <4 x float> @ldexp_v4f32(<4 x float> %val, <4 x i32> %exp) {
118103
ret <4 x float> %1
119104
}
120105

121-
define half @ldexp_f16(half %arg0, i32 %arg1) {
106+
define half @ldexp_f16(half %arg0, i32 %arg1) nounwind {
122107
; SOFT-LABEL: ldexp_f16:
123108
; SOFT: # %bb.0:
124109
; SOFT-NEXT: addiu $sp, $sp, -24
125-
; SOFT-NEXT: .cfi_def_cfa_offset 24
126110
; SOFT-NEXT: sw $ra, 20($sp) # 4-byte Folded Spill
127111
; SOFT-NEXT: sw $16, 16($sp) # 4-byte Folded Spill
128-
; SOFT-NEXT: .cfi_offset 31, -4
129-
; SOFT-NEXT: .cfi_offset 16, -8
130112
; SOFT-NEXT: move $16, $5
131113
; SOFT-NEXT: jal __extendhfsf2
132114
; SOFT-NEXT: andi $4, $4, 65535
@@ -143,13 +125,11 @@ define half @ldexp_f16(half %arg0, i32 %arg1) {
143125
ret half %ldexp
144126
}
145127

146-
define x86_fp80 @ldexp_f80(x86_fp80 %arg0, i32 %arg1) {
128+
define x86_fp80 @ldexp_f80(x86_fp80 %arg0, i32 %arg1) nounwind {
147129
; SOFT-LABEL: ldexp_f80:
148130
; SOFT: # %bb.0:
149131
; SOFT-NEXT: addiu $sp, $sp, -24
150-
; SOFT-NEXT: .cfi_def_cfa_offset 24
151132
; SOFT-NEXT: sw $ra, 20($sp) # 4-byte Folded Spill
152-
; SOFT-NEXT: .cfi_offset 31, -4
153133
; SOFT-NEXT: jal ldexpl
154134
; SOFT-NEXT: andi $4, $4, 65535
155135
; SOFT-NEXT: move $4, $2

0 commit comments

Comments
 (0)