88; RUN: llc < %s -O2 -mtriple=x86_64-linux-gnu -mattr=-sse \
99; RUN: -enable-legalize-types-checking | FileCheck %s --check-prefix=NOSSE
1010
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 {
1212; SSE-LABEL: test_select:
1313; SSE: # %bb.0:
1414; SSE-NEXT: testl %edx, %edx
@@ -40,14 +40,11 @@ define void @test_select(ptr %p, ptr %q, i1 zeroext %c) {
4040
4141; The uitofp will become a select_cc. This used to crash during type
4242; 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 {
4444; SSE-LABEL: test_select_cc:
4545; SSE: # %bb.0: # %BB0
4646; SSE-NEXT: pushq %rbx
47- ; SSE-NEXT: .cfi_def_cfa_offset 16
4847; SSE-NEXT: subq $32, %rsp
49- ; SSE-NEXT: .cfi_def_cfa_offset 48
50- ; SSE-NEXT: .cfi_offset %rbx, -16
5148; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill
5249; SSE-NEXT: movaps %xmm0, (%rsp) # 16-byte Spill
5350; SSE-NEXT: callq __netf2@PLT
@@ -70,28 +67,16 @@ define fp128 @test_select_cc(fp128, fp128) {
7067; SSE-NEXT: movaps %xmm1, %xmm0
7168; SSE-NEXT: .LBB1_5: # %BB2
7269; SSE-NEXT: addq $32, %rsp
73- ; SSE-NEXT: .cfi_def_cfa_offset 16
7470; SSE-NEXT: popq %rbx
75- ; SSE-NEXT: .cfi_def_cfa_offset 8
7671; SSE-NEXT: retq
7772;
7873; NOSSE-LABEL: test_select_cc:
7974; NOSSE: # %bb.0: # %BB0
8075; NOSSE-NEXT: pushq %rbp
81- ; NOSSE-NEXT: .cfi_def_cfa_offset 16
8276; NOSSE-NEXT: pushq %r15
83- ; NOSSE-NEXT: .cfi_def_cfa_offset 24
8477; NOSSE-NEXT: pushq %r14
85- ; NOSSE-NEXT: .cfi_def_cfa_offset 32
8678; NOSSE-NEXT: pushq %r12
87- ; NOSSE-NEXT: .cfi_def_cfa_offset 40
8879; 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
9580; NOSSE-NEXT: movq %rcx, %r15
9681; NOSSE-NEXT: movq %rdx, %r12
9782; NOSSE-NEXT: movq %rsi, %rbx
@@ -115,15 +100,10 @@ define fp128 @test_select_cc(fp128, fp128) {
115100; NOSSE-NEXT: movq %rbx, %rdx
116101; NOSSE-NEXT: .LBB1_2: # %BB2
117102; NOSSE-NEXT: popq %rbx
118- ; NOSSE-NEXT: .cfi_def_cfa_offset 40
119103; NOSSE-NEXT: popq %r12
120- ; NOSSE-NEXT: .cfi_def_cfa_offset 32
121104; NOSSE-NEXT: popq %r14
122- ; NOSSE-NEXT: .cfi_def_cfa_offset 24
123105; NOSSE-NEXT: popq %r15
124- ; NOSSE-NEXT: .cfi_def_cfa_offset 16
125106; NOSSE-NEXT: popq %rbp
126- ; NOSSE-NEXT: .cfi_def_cfa_offset 8
127107; NOSSE-NEXT: retq
128108BB0:
129109 %a = fcmp oeq fp128 %0 , %1
0 commit comments