@@ -243,7 +243,7 @@ define <4 x double> @trunc_unsigned_v4f64(<4 x double> %x) #0 {
243243 ret <4 x double > %r
244244}
245245
246- define float @trunc_signed_f32_no_fast_math (float %x ) {
246+ define float @trunc_signed_f32_no_fast_math (float %x ) nounwind {
247247; SSE-LABEL: trunc_signed_f32_no_fast_math:
248248; SSE: # %bb.0:
249249; SSE-NEXT: cvttps2dq %xmm0, %xmm0
@@ -259,14 +259,12 @@ define float @trunc_signed_f32_no_fast_math(float %x) {
259259; X86-AVX1-LABEL: trunc_signed_f32_no_fast_math:
260260; X86-AVX1: # %bb.0:
261261; X86-AVX1-NEXT: pushl %eax
262- ; X86-AVX1-NEXT: .cfi_def_cfa_offset 8
263262; X86-AVX1-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
264263; X86-AVX1-NEXT: vcvttps2dq %xmm0, %xmm0
265264; X86-AVX1-NEXT: vcvtdq2ps %xmm0, %xmm0
266265; X86-AVX1-NEXT: vmovss %xmm0, (%esp)
267266; X86-AVX1-NEXT: flds (%esp)
268267; X86-AVX1-NEXT: popl %eax
269- ; X86-AVX1-NEXT: .cfi_def_cfa_offset 4
270268; X86-AVX1-NEXT: retl
271269 %i = fptosi float %x to i32
272270 %r = sitofp i32 %i to float
@@ -306,7 +304,7 @@ define float @trunc_signed_f32_nsz(float %x) #0 {
306304 ret float %r
307305}
308306
309- define double @trunc_signed32_f64_no_fast_math (double %x ) {
307+ define double @trunc_signed32_f64_no_fast_math (double %x ) nounwind {
310308; SSE-LABEL: trunc_signed32_f64_no_fast_math:
311309; SSE: # %bb.0:
312310; SSE-NEXT: cvttpd2dq %xmm0, %xmm0
@@ -322,10 +320,7 @@ define double @trunc_signed32_f64_no_fast_math(double %x) {
322320; X86-AVX1-LABEL: trunc_signed32_f64_no_fast_math:
323321; X86-AVX1: # %bb.0:
324322; X86-AVX1-NEXT: pushl %ebp
325- ; X86-AVX1-NEXT: .cfi_def_cfa_offset 8
326- ; X86-AVX1-NEXT: .cfi_offset %ebp, -8
327323; X86-AVX1-NEXT: movl %esp, %ebp
328- ; X86-AVX1-NEXT: .cfi_def_cfa_register %ebp
329324; X86-AVX1-NEXT: andl $-8, %esp
330325; X86-AVX1-NEXT: subl $8, %esp
331326; X86-AVX1-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
@@ -335,7 +330,6 @@ define double @trunc_signed32_f64_no_fast_math(double %x) {
335330; X86-AVX1-NEXT: fldl (%esp)
336331; X86-AVX1-NEXT: movl %ebp, %esp
337332; X86-AVX1-NEXT: popl %ebp
338- ; X86-AVX1-NEXT: .cfi_def_cfa %esp, 4
339333; X86-AVX1-NEXT: retl
340334 %i = fptosi double %x to i32
341335 %r = sitofp i32 %i to double
@@ -377,7 +371,7 @@ define double @trunc_signed32_f64_nsz(double %x) #0 {
377371 ret double %r
378372}
379373
380- define double @trunc_f32_signed32_f64_no_fast_math (float %x ) {
374+ define double @trunc_f32_signed32_f64_no_fast_math (float %x ) nounwind {
381375; SSE-LABEL: trunc_f32_signed32_f64_no_fast_math:
382376; SSE: # %bb.0:
383377; SSE-NEXT: cvttps2dq %xmm0, %xmm0
@@ -393,10 +387,7 @@ define double @trunc_f32_signed32_f64_no_fast_math(float %x) {
393387; X86-AVX1-LABEL: trunc_f32_signed32_f64_no_fast_math:
394388; X86-AVX1: # %bb.0:
395389; X86-AVX1-NEXT: pushl %ebp
396- ; X86-AVX1-NEXT: .cfi_def_cfa_offset 8
397- ; X86-AVX1-NEXT: .cfi_offset %ebp, -8
398390; X86-AVX1-NEXT: movl %esp, %ebp
399- ; X86-AVX1-NEXT: .cfi_def_cfa_register %ebp
400391; X86-AVX1-NEXT: andl $-8, %esp
401392; X86-AVX1-NEXT: subl $8, %esp
402393; X86-AVX1-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
@@ -406,7 +397,6 @@ define double @trunc_f32_signed32_f64_no_fast_math(float %x) {
406397; X86-AVX1-NEXT: fldl (%esp)
407398; X86-AVX1-NEXT: movl %ebp, %esp
408399; X86-AVX1-NEXT: popl %ebp
409- ; X86-AVX1-NEXT: .cfi_def_cfa %esp, 4
410400; X86-AVX1-NEXT: retl
411401 %i = fptosi float %x to i32
412402 %r = sitofp i32 %i to double
@@ -445,7 +435,7 @@ define double @trunc_f32_signed32_f64_nsz(float %x) #0 {
445435 ret double %r
446436}
447437
448- define float @trunc_f64_signed32_f32_no_fast_math (double %x ) {
438+ define float @trunc_f64_signed32_f32_no_fast_math (double %x ) nounwind {
449439; SSE-LABEL: trunc_f64_signed32_f32_no_fast_math:
450440; SSE: # %bb.0:
451441; SSE-NEXT: cvttpd2dq %xmm0, %xmm0
@@ -461,14 +451,12 @@ define float @trunc_f64_signed32_f32_no_fast_math(double %x) {
461451; X86-AVX1-LABEL: trunc_f64_signed32_f32_no_fast_math:
462452; X86-AVX1: # %bb.0:
463453; X86-AVX1-NEXT: pushl %eax
464- ; X86-AVX1-NEXT: .cfi_def_cfa_offset 8
465454; X86-AVX1-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
466455; X86-AVX1-NEXT: vcvttpd2dq %xmm0, %xmm0
467456; X86-AVX1-NEXT: vcvtdq2ps %xmm0, %xmm0
468457; X86-AVX1-NEXT: vmovss %xmm0, (%esp)
469458; X86-AVX1-NEXT: flds (%esp)
470459; X86-AVX1-NEXT: popl %eax
471- ; X86-AVX1-NEXT: .cfi_def_cfa_offset 4
472460; X86-AVX1-NEXT: retl
473461 %i = fptosi double %x to i32
474462 %r = sitofp i32 %i to float
@@ -503,7 +491,7 @@ define float @trunc_f64_signed32_f32_nsz(double %x) #0 {
503491 ret float %r
504492}
505493
506- define double @trunc_signed_f64_no_fast_math (double %x ) {
494+ define double @trunc_signed_f64_no_fast_math (double %x ) nounwind {
507495; SSE-LABEL: trunc_signed_f64_no_fast_math:
508496; SSE: # %bb.0:
509497; SSE-NEXT: cvttsd2si %xmm0, %rax
@@ -520,10 +508,7 @@ define double @trunc_signed_f64_no_fast_math(double %x) {
520508; X86-AVX1-LABEL: trunc_signed_f64_no_fast_math:
521509; X86-AVX1: # %bb.0:
522510; X86-AVX1-NEXT: pushl %ebp
523- ; X86-AVX1-NEXT: .cfi_def_cfa_offset 8
524- ; X86-AVX1-NEXT: .cfi_offset %ebp, -8
525511; X86-AVX1-NEXT: movl %esp, %ebp
526- ; X86-AVX1-NEXT: .cfi_def_cfa_register %ebp
527512; X86-AVX1-NEXT: andl $-8, %esp
528513; X86-AVX1-NEXT: subl $24, %esp
529514; X86-AVX1-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
@@ -537,7 +522,6 @@ define double @trunc_signed_f64_no_fast_math(double %x) {
537522; X86-AVX1-NEXT: fldl {{[0-9]+}}(%esp)
538523; X86-AVX1-NEXT: movl %ebp, %esp
539524; X86-AVX1-NEXT: popl %ebp
540- ; X86-AVX1-NEXT: .cfi_def_cfa %esp, 4
541525; X86-AVX1-NEXT: retl
542526 %i = fptosi double %x to i64
543527 %r = sitofp i64 %i to double
0 commit comments