8
8
; RUN: llc < %s -O2 -mtriple=x86_64-linux-gnu -mattr=-sse \
9
9
; RUN: -enable-legalize-types-checking | FileCheck %s --check-prefix=NOSSE
10
10
11
- define void @test_select (ptr %p , ptr %q , i1 zeroext %c ) {
11
+ define void @test_select (ptr %p , ptr %q , i1 zeroext %c ) nounwind {
12
12
; SSE-LABEL: test_select:
13
13
; SSE: # %bb.0:
14
14
; SSE-NEXT: testl %edx, %edx
@@ -40,14 +40,11 @@ define void @test_select(ptr %p, ptr %q, i1 zeroext %c) {
40
40
41
41
; The uitofp will become a select_cc. This used to crash during type
42
42
; legalization because we didn't expect the operands to need to be softened.
43
- define fp128 @test_select_cc (fp128 , fp128 ) {
43
+ define fp128 @test_select_cc (fp128 , fp128 ) nounwind {
44
44
; SSE-LABEL: test_select_cc:
45
45
; SSE: # %bb.0: # %BB0
46
46
; SSE-NEXT: pushq %rbx
47
- ; SSE-NEXT: .cfi_def_cfa_offset 16
48
47
; SSE-NEXT: subq $32, %rsp
49
- ; SSE-NEXT: .cfi_def_cfa_offset 48
50
- ; SSE-NEXT: .cfi_offset %rbx, -16
51
48
; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
52
49
; SSE-NEXT: movaps %xmm0, (%rsp) # 16-byte Spill
53
50
; SSE-NEXT: callq __netf2@PLT
@@ -70,28 +67,16 @@ define fp128 @test_select_cc(fp128, fp128) {
70
67
; SSE-NEXT: movaps %xmm1, %xmm0
71
68
; SSE-NEXT: .LBB1_5: # %BB2
72
69
; SSE-NEXT: addq $32, %rsp
73
- ; SSE-NEXT: .cfi_def_cfa_offset 16
74
70
; SSE-NEXT: popq %rbx
75
- ; SSE-NEXT: .cfi_def_cfa_offset 8
76
71
; SSE-NEXT: retq
77
72
;
78
73
; NOSSE-LABEL: test_select_cc:
79
74
; NOSSE: # %bb.0: # %BB0
80
75
; NOSSE-NEXT: pushq %rbp
81
- ; NOSSE-NEXT: .cfi_def_cfa_offset 16
82
76
; NOSSE-NEXT: pushq %r15
83
- ; NOSSE-NEXT: .cfi_def_cfa_offset 24
84
77
; NOSSE-NEXT: pushq %r14
85
- ; NOSSE-NEXT: .cfi_def_cfa_offset 32
86
78
; NOSSE-NEXT: pushq %r12
87
- ; NOSSE-NEXT: .cfi_def_cfa_offset 40
88
79
; NOSSE-NEXT: pushq %rbx
89
- ; NOSSE-NEXT: .cfi_def_cfa_offset 48
90
- ; NOSSE-NEXT: .cfi_offset %rbx, -48
91
- ; NOSSE-NEXT: .cfi_offset %r12, -40
92
- ; NOSSE-NEXT: .cfi_offset %r14, -32
93
- ; NOSSE-NEXT: .cfi_offset %r15, -24
94
- ; NOSSE-NEXT: .cfi_offset %rbp, -16
95
80
; NOSSE-NEXT: movq %rcx, %r15
96
81
; NOSSE-NEXT: movq %rdx, %r12
97
82
; NOSSE-NEXT: movq %rsi, %rbx
@@ -115,15 +100,10 @@ define fp128 @test_select_cc(fp128, fp128) {
115
100
; NOSSE-NEXT: movq %rbx, %rdx
116
101
; NOSSE-NEXT: .LBB1_2: # %BB2
117
102
; NOSSE-NEXT: popq %rbx
118
- ; NOSSE-NEXT: .cfi_def_cfa_offset 40
119
103
; NOSSE-NEXT: popq %r12
120
- ; NOSSE-NEXT: .cfi_def_cfa_offset 32
121
104
; NOSSE-NEXT: popq %r14
122
- ; NOSSE-NEXT: .cfi_def_cfa_offset 24
123
105
; NOSSE-NEXT: popq %r15
124
- ; NOSSE-NEXT: .cfi_def_cfa_offset 16
125
106
; NOSSE-NEXT: popq %rbp
126
- ; NOSSE-NEXT: .cfi_def_cfa_offset 8
127
107
; NOSSE-NEXT: retq
128
108
BB0:
129
109
%a = fcmp oeq fp128 %0 , %1
0 commit comments