@@ -5,8 +5,7 @@ define i64 @test_select_agg_constant_agg(i64 %val, i1 %cond) {
5
5
; CHECK-LABEL: define i64 @test_select_agg_constant_agg(
6
6
; CHECK-SAME: i64 [[VAL:%.*]], i1 [[COND:%.*]]) {
7
7
; CHECK-NEXT: entry:
8
- ; CHECK-NEXT: [[SEL:%.*]] = select i1 [[COND]], { i64, i64 } { i64 1, i64 2 }, { i64, i64 } { i64 0, i64 3 }
9
- ; CHECK-NEXT: [[RET:%.*]] = extractvalue { i64, i64 } [[SEL]], 0
8
+ ; CHECK-NEXT: [[RET:%.*]] = zext i1 [[COND]] to i64
10
9
; CHECK-NEXT: ret i64 [[RET]]
11
10
;
12
11
entry:
@@ -19,10 +18,9 @@ define void @test_select_agg_constant_agg_multiuse(i64 %val, i1 %cond) {
19
18
; CHECK-LABEL: define void @test_select_agg_constant_agg_multiuse(
20
19
; CHECK-SAME: i64 [[VAL:%.*]], i1 [[COND:%.*]]) {
21
20
; CHECK-NEXT: entry:
22
- ; CHECK-NEXT: [[SEL:%.*]] = select i1 [[COND]], { i64, i64 } { i64 1, i64 2 }, { i64, i64 } { i64 0, i64 3 }
23
- ; CHECK-NEXT: [[RET:%.*]] = extractvalue { i64, i64 } [[SEL]], 0
21
+ ; CHECK-NEXT: [[RET:%.*]] = zext i1 [[COND]] to i64
24
22
; CHECK-NEXT: call void @use(i64 [[RET]])
25
- ; CHECK-NEXT: [[V1:%.*]] = extractvalue { i64, i64 } [[SEL ]], 1
23
+ ; CHECK-NEXT: [[V1:%.*]] = select i1 [[COND ]], i64 2, i64 3
26
24
; CHECK-NEXT: call void @use(i64 [[V1]])
27
25
; CHECK-NEXT: ret void
28
26
;
0 commit comments