@@ -7,38 +7,10 @@ define { i1, i8 } @f(i8 noundef %character) unnamed_addr {
7
7
; CHECK-LABEL: define { i1, i8 } @f(
8
8
; CHECK-SAME: i8 noundef [[CHARACTER:%.*]]) unnamed_addr {
9
9
; CHECK-NEXT: start:
10
- ; CHECK-NEXT: switch i8 [[CHARACTER]], label [[BB11:%.*]] [
11
- ; CHECK-NEXT: i8 48, label [[BB2:%.*]]
12
- ; CHECK-NEXT: i8 49, label [[BB3:%.*]]
13
- ; CHECK-NEXT: i8 50, label [[BB4:%.*]]
14
- ; CHECK-NEXT: i8 51, label [[BB5:%.*]]
15
- ; CHECK-NEXT: i8 52, label [[BB6:%.*]]
16
- ; CHECK-NEXT: i8 53, label [[BB7:%.*]]
17
- ; CHECK-NEXT: i8 54, label [[BB8:%.*]]
18
- ; CHECK-NEXT: i8 55, label [[BB9:%.*]]
19
- ; CHECK-NEXT: i8 56, label [[BB10:%.*]]
20
- ; CHECK-NEXT: ]
21
- ; CHECK: bb2:
22
- ; CHECK-NEXT: br label [[BB11]]
23
- ; CHECK: bb3:
24
- ; CHECK-NEXT: br label [[BB11]]
25
- ; CHECK: bb4:
26
- ; CHECK-NEXT: br label [[BB11]]
27
- ; CHECK: bb5:
28
- ; CHECK-NEXT: br label [[BB11]]
29
- ; CHECK: bb6:
30
- ; CHECK-NEXT: br label [[BB11]]
31
- ; CHECK: bb7:
32
- ; CHECK-NEXT: br label [[BB11]]
33
- ; CHECK: bb8:
34
- ; CHECK-NEXT: br label [[BB11]]
35
- ; CHECK: bb9:
36
- ; CHECK-NEXT: br label [[BB11]]
37
- ; CHECK: bb10:
38
- ; CHECK-NEXT: br label [[BB11]]
39
- ; CHECK: bb11:
40
- ; CHECK-NEXT: [[_0_SROA_11_0:%.*]] = phi i8 [ 8, [[BB10]] ], [ 7, [[BB9]] ], [ 6, [[BB8]] ], [ 5, [[BB7]] ], [ 4, [[BB6]] ], [ 3, [[BB5]] ], [ 2, [[BB4]] ], [ 1, [[BB3]] ], [ 0, [[BB2]] ], [ undef, [[START:%.*]] ]
41
- ; CHECK-NEXT: [[_0_SROA_0_0:%.*]] = phi i1 [ true, [[BB10]] ], [ true, [[BB9]] ], [ true, [[BB8]] ], [ true, [[BB7]] ], [ true, [[BB6]] ], [ true, [[BB5]] ], [ true, [[BB4]] ], [ true, [[BB3]] ], [ true, [[BB2]] ], [ false, [[START]] ]
10
+ ; CHECK-NEXT: [[SWITCH_TABLEIDX:%.*]] = sub i8 [[CHARACTER]], 48
11
+ ; CHECK-NEXT: [[TMP2:%.*]] = icmp ult i8 [[SWITCH_TABLEIDX]], 9
12
+ ; CHECK-NEXT: [[_0_SROA_11_0:%.*]] = select i1 [[TMP2]], i8 [[SWITCH_TABLEIDX]], i8 undef
13
+ ; CHECK-NEXT: [[_0_SROA_0_0:%.*]] = select i1 [[TMP2]], i1 true, i1 false
42
14
; CHECK-NEXT: [[TMP0:%.*]] = insertvalue { i1, i8 } poison, i1 [[_0_SROA_0_0]], 0
43
15
; CHECK-NEXT: [[TMP1:%.*]] = insertvalue { i1, i8 } [[TMP0]], i8 [[_0_SROA_11_0]], 1
44
16
; CHECK-NEXT: ret { i1, i8 } [[TMP1]]
0 commit comments