xref: /llvm-project/llvm/test/CodeGen/Generic/switch-lower.ll (revision 8e1d7222a7cc1b1c1f6d1f9a556b1802c8ddf1ff)
1c8054d90SDan Gohman; RUN: llc < %s
2*8e1d7222SChris Lattner
3*8e1d7222SChris Lattner
4*8e1d7222SChris Lattner; PR5421
5*8e1d7222SChris Lattnerdefine void @test1() {
6*8e1d7222SChris Lattnerentry:
7*8e1d7222SChris Lattner  switch i128 undef, label %exit [
8*8e1d7222SChris Lattner    i128 55340232221128654848, label %exit
9*8e1d7222SChris Lattner    i128 92233720368547758080, label %exit
10*8e1d7222SChris Lattner    i128 73786976294838206464, label %exit
11*8e1d7222SChris Lattner    i128 147573952589676412928, label %exit
12*8e1d7222SChris Lattner  ]
13*8e1d7222SChris Lattnerexit:
14*8e1d7222SChris Lattner  unreachable
15*8e1d7222SChris Lattner}
16*8e1d7222SChris Lattner
17*8e1d7222SChris Lattner
1872df49f5SChris Lattner; PR1197
19*8e1d7222SChris Lattnerdefine void @test2() {
20f4e6356dSBill Wendlingentry:
21f4e6356dSBill Wendling	br i1 false, label %cond_next954, label %cond_true924
22f4e6356dSBill Wendling
23f4e6356dSBill Wendlingcond_true924:		; preds = %entry
24f4e6356dSBill Wendling	ret void
25f4e6356dSBill Wendling
2672df49f5SChris Lattnercond_next954:		; preds = %entry
27f4e6356dSBill Wendling	switch i8 0, label %cleanup7419 [
2872df49f5SChris Lattner		 i8 1, label %bb956
2972df49f5SChris Lattner		 i8 2, label %bb1069
3072df49f5SChris Lattner		 i8 4, label %bb7328
3172df49f5SChris Lattner		 i8 5, label %bb1267
3272df49f5SChris Lattner		 i8 8, label %bb1348
3372df49f5SChris Lattner		 i8 9, label %bb7328
3472df49f5SChris Lattner		 i8 11, label %bb1439
3572df49f5SChris Lattner		 i8 12, label %bb1484
3672df49f5SChris Lattner		 i8 13, label %bb1706
3772df49f5SChris Lattner		 i8 14, label %bb1783
3872df49f5SChris Lattner		 i8 17, label %bb1925
3972df49f5SChris Lattner		 i8 18, label %bb1929
4072df49f5SChris Lattner		 i8 19, label %bb2240
4172df49f5SChris Lattner		 i8 25, label %bb2447
4272df49f5SChris Lattner		 i8 27, label %bb2480
4372df49f5SChris Lattner		 i8 29, label %bb2590
4472df49f5SChris Lattner		 i8 30, label %bb2594
4572df49f5SChris Lattner		 i8 31, label %bb2621
4672df49f5SChris Lattner		 i8 32, label %bb2664
4772df49f5SChris Lattner		 i8 33, label %bb2697
4872df49f5SChris Lattner		 i8 34, label %bb2735
4972df49f5SChris Lattner		 i8 37, label %bb2786
5072df49f5SChris Lattner		 i8 38, label %bb2849
5172df49f5SChris Lattner		 i8 39, label %bb3269
5272df49f5SChris Lattner		 i8 41, label %bb3303
5372df49f5SChris Lattner		 i8 42, label %bb3346
5472df49f5SChris Lattner		 i8 43, label %bb3391
5572df49f5SChris Lattner		 i8 44, label %bb3395
5672df49f5SChris Lattner		 i8 50, label %bb3673
5772df49f5SChris Lattner		 i8 52, label %bb3677
5872df49f5SChris Lattner		 i8 53, label %bb3693
5972df49f5SChris Lattner		 i8 54, label %bb7328
6072df49f5SChris Lattner		 i8 56, label %bb3758
6172df49f5SChris Lattner		 i8 57, label %bb3787
6272df49f5SChris Lattner		 i8 64, label %bb5019
6372df49f5SChris Lattner		 i8 68, label %cond_true4235
6472df49f5SChris Lattner		 i8 69, label %bb4325
6572df49f5SChris Lattner		 i8 70, label %bb4526
6672df49f5SChris Lattner		 i8 72, label %bb4618
6772df49f5SChris Lattner		 i8 73, label %bb4991
6872df49f5SChris Lattner		 i8 80, label %bb5012
6972df49f5SChris Lattner		 i8 82, label %bb5019
7072df49f5SChris Lattner		 i8 84, label %bb5518
7172df49f5SChris Lattner		 i8 86, label %bb5752
7272df49f5SChris Lattner		 i8 87, label %bb5953
7372df49f5SChris Lattner		 i8 89, label %bb6040
7472df49f5SChris Lattner		 i8 90, label %bb6132
7572df49f5SChris Lattner		 i8 92, label %bb6186
7672df49f5SChris Lattner		 i8 93, label %bb6151
7772df49f5SChris Lattner		 i8 94, label %bb6155
7872df49f5SChris Lattner		 i8 97, label %bb6355
7972df49f5SChris Lattner		 i8 98, label %bb5019
8072df49f5SChris Lattner		 i8 99, label %bb6401
8172df49f5SChris Lattner		 i8 101, label %bb5019
8272df49f5SChris Lattner		 i8 102, label %bb1484
8372df49f5SChris Lattner		 i8 104, label %bb7064
8472df49f5SChris Lattner		 i8 105, label %bb7068
8572df49f5SChris Lattner		 i8 106, label %bb7072
8672df49f5SChris Lattner		 i8 108, label %bb1065
8772df49f5SChris Lattner		 i8 109, label %bb1702
8872df49f5SChris Lattner		 i8 110, label %bb2200
8972df49f5SChris Lattner		 i8 111, label %bb2731
9072df49f5SChris Lattner		 i8 112, label %bb2782
9172df49f5SChris Lattner		 i8 113, label %bb2845
9272df49f5SChris Lattner		 i8 114, label %bb2875
9372df49f5SChris Lattner		 i8 115, label %bb3669
9472df49f5SChris Lattner		 i8 116, label %bb7316
9572df49f5SChris Lattner		 i8 117, label %bb7316
9672df49f5SChris Lattner		 i8 118, label %bb3875
9772df49f5SChris Lattner		 i8 119, label %bb4359
9872df49f5SChris Lattner		 i8 120, label %bb4987
9972df49f5SChris Lattner		 i8 121, label %bb5008
10072df49f5SChris Lattner		 i8 122, label %bb5786
10172df49f5SChris Lattner		 i8 123, label %bb6147
10272df49f5SChris Lattner		 i8 124, label %bb6916
10372df49f5SChris Lattner		 i8 125, label %bb6920
10472df49f5SChris Lattner		 i8 126, label %bb6955
10572df49f5SChris Lattner		 i8 127, label %bb6990
10672df49f5SChris Lattner		 i8 -128, label %bb7027
107f4e6356dSBill Wendling		 i8 -127, label %bb3879
108f4e6356dSBill Wendling		 i8 -126, label %bb4700
109f4e6356dSBill Wendling		 i8 -125, label %bb7076
110f4e6356dSBill Wendling		 i8 -124, label %bb2366
111f4e6356dSBill Wendling		 i8 -123, label %bb2366
112f4e6356dSBill Wendling		 i8 -122, label %bb5490
11372df49f5SChris Lattner	]
11472df49f5SChris Lattner
11572df49f5SChris Lattnerbb956:		; preds = %cond_next954
11672df49f5SChris Lattner	ret void
11772df49f5SChris Lattner
11872df49f5SChris Lattnerbb1065:		; preds = %cond_next954
11972df49f5SChris Lattner	ret void
12072df49f5SChris Lattner
12172df49f5SChris Lattnerbb1069:		; preds = %cond_next954
12272df49f5SChris Lattner	ret void
12372df49f5SChris Lattner
12472df49f5SChris Lattnerbb1267:		; preds = %cond_next954
12572df49f5SChris Lattner	ret void
12672df49f5SChris Lattner
12772df49f5SChris Lattnerbb1348:		; preds = %cond_next954
12872df49f5SChris Lattner	ret void
12972df49f5SChris Lattner
13072df49f5SChris Lattnerbb1439:		; preds = %cond_next954
13172df49f5SChris Lattner	ret void
13272df49f5SChris Lattner
13372df49f5SChris Lattnerbb1484:		; preds = %cond_next954, %cond_next954
13472df49f5SChris Lattner	ret void
13572df49f5SChris Lattner
13672df49f5SChris Lattnerbb1702:		; preds = %cond_next954
13772df49f5SChris Lattner	ret void
13872df49f5SChris Lattner
13972df49f5SChris Lattnerbb1706:		; preds = %cond_next954
14072df49f5SChris Lattner	ret void
14172df49f5SChris Lattner
14272df49f5SChris Lattnerbb1783:		; preds = %cond_next954
14372df49f5SChris Lattner	ret void
14472df49f5SChris Lattner
14572df49f5SChris Lattnerbb1925:		; preds = %cond_next954
14672df49f5SChris Lattner	ret void
14772df49f5SChris Lattner
14872df49f5SChris Lattnerbb1929:		; preds = %cond_next954
14972df49f5SChris Lattner	ret void
15072df49f5SChris Lattner
15172df49f5SChris Lattnerbb2200:		; preds = %cond_next954
15272df49f5SChris Lattner	ret void
15372df49f5SChris Lattner
15472df49f5SChris Lattnerbb2240:		; preds = %cond_next954
15572df49f5SChris Lattner	ret void
15672df49f5SChris Lattner
15772df49f5SChris Lattnerbb2366:		; preds = %cond_next954, %cond_next954
15872df49f5SChris Lattner	ret void
15972df49f5SChris Lattner
16072df49f5SChris Lattnerbb2447:		; preds = %cond_next954
16172df49f5SChris Lattner	ret void
16272df49f5SChris Lattner
16372df49f5SChris Lattnerbb2480:		; preds = %cond_next954
16472df49f5SChris Lattner	ret void
16572df49f5SChris Lattner
16672df49f5SChris Lattnerbb2590:		; preds = %cond_next954
16772df49f5SChris Lattner	ret void
16872df49f5SChris Lattner
16972df49f5SChris Lattnerbb2594:		; preds = %cond_next954
17072df49f5SChris Lattner	ret void
17172df49f5SChris Lattner
17272df49f5SChris Lattnerbb2621:		; preds = %cond_next954
17372df49f5SChris Lattner	ret void
17472df49f5SChris Lattner
17572df49f5SChris Lattnerbb2664:		; preds = %cond_next954
17672df49f5SChris Lattner	ret void
17772df49f5SChris Lattner
17872df49f5SChris Lattnerbb2697:		; preds = %cond_next954
17972df49f5SChris Lattner	ret void
18072df49f5SChris Lattner
18172df49f5SChris Lattnerbb2731:		; preds = %cond_next954
18272df49f5SChris Lattner	ret void
18372df49f5SChris Lattner
18472df49f5SChris Lattnerbb2735:		; preds = %cond_next954
18572df49f5SChris Lattner	ret void
18672df49f5SChris Lattner
18772df49f5SChris Lattnerbb2782:		; preds = %cond_next954
18872df49f5SChris Lattner	ret void
18972df49f5SChris Lattner
19072df49f5SChris Lattnerbb2786:		; preds = %cond_next954
19172df49f5SChris Lattner	ret void
19272df49f5SChris Lattner
19372df49f5SChris Lattnerbb2845:		; preds = %cond_next954
19472df49f5SChris Lattner	ret void
19572df49f5SChris Lattner
19672df49f5SChris Lattnerbb2849:		; preds = %cond_next954
19772df49f5SChris Lattner	ret void
19872df49f5SChris Lattner
19972df49f5SChris Lattnerbb2875:		; preds = %cond_next954
20072df49f5SChris Lattner	ret void
20172df49f5SChris Lattner
20272df49f5SChris Lattnerbb3269:		; preds = %cond_next954
20372df49f5SChris Lattner	ret void
20472df49f5SChris Lattner
20572df49f5SChris Lattnerbb3303:		; preds = %cond_next954
20672df49f5SChris Lattner	ret void
20772df49f5SChris Lattner
20872df49f5SChris Lattnerbb3346:		; preds = %cond_next954
20972df49f5SChris Lattner	ret void
21072df49f5SChris Lattner
21172df49f5SChris Lattnerbb3391:		; preds = %cond_next954
21272df49f5SChris Lattner	ret void
21372df49f5SChris Lattner
21472df49f5SChris Lattnerbb3395:		; preds = %cond_next954
21572df49f5SChris Lattner	ret void
21672df49f5SChris Lattner
21772df49f5SChris Lattnerbb3669:		; preds = %cond_next954
21872df49f5SChris Lattner	ret void
21972df49f5SChris Lattner
22072df49f5SChris Lattnerbb3673:		; preds = %cond_next954
22172df49f5SChris Lattner	ret void
22272df49f5SChris Lattner
22372df49f5SChris Lattnerbb3677:		; preds = %cond_next954
22472df49f5SChris Lattner	ret void
22572df49f5SChris Lattner
22672df49f5SChris Lattnerbb3693:		; preds = %cond_next954
22772df49f5SChris Lattner	ret void
22872df49f5SChris Lattner
22972df49f5SChris Lattnerbb3758:		; preds = %cond_next954
23072df49f5SChris Lattner	ret void
23172df49f5SChris Lattner
23272df49f5SChris Lattnerbb3787:		; preds = %cond_next954
23372df49f5SChris Lattner	ret void
23472df49f5SChris Lattner
23572df49f5SChris Lattnerbb3875:		; preds = %cond_next954
23672df49f5SChris Lattner	ret void
23772df49f5SChris Lattner
23872df49f5SChris Lattnerbb3879:		; preds = %cond_next954
23972df49f5SChris Lattner	ret void
24072df49f5SChris Lattner
24172df49f5SChris Lattnercond_true4235:		; preds = %cond_next954
24272df49f5SChris Lattner	ret void
24372df49f5SChris Lattner
24472df49f5SChris Lattnerbb4325:		; preds = %cond_next954
24572df49f5SChris Lattner	ret void
24672df49f5SChris Lattner
24772df49f5SChris Lattnerbb4359:		; preds = %cond_next954
24872df49f5SChris Lattner	ret void
24972df49f5SChris Lattner
25072df49f5SChris Lattnerbb4526:		; preds = %cond_next954
25172df49f5SChris Lattner	ret void
25272df49f5SChris Lattner
25372df49f5SChris Lattnerbb4618:		; preds = %cond_next954
25472df49f5SChris Lattner	ret void
25572df49f5SChris Lattner
25672df49f5SChris Lattnerbb4700:		; preds = %cond_next954
25772df49f5SChris Lattner	ret void
25872df49f5SChris Lattner
25972df49f5SChris Lattnerbb4987:		; preds = %cond_next954
26072df49f5SChris Lattner	ret void
26172df49f5SChris Lattner
26272df49f5SChris Lattnerbb4991:		; preds = %cond_next954
26372df49f5SChris Lattner	ret void
26472df49f5SChris Lattner
26572df49f5SChris Lattnerbb5008:		; preds = %cond_next954
26672df49f5SChris Lattner	ret void
26772df49f5SChris Lattner
26872df49f5SChris Lattnerbb5012:		; preds = %cond_next954
26972df49f5SChris Lattner	ret void
27072df49f5SChris Lattner
27172df49f5SChris Lattnerbb5019:		; preds = %cond_next954, %cond_next954, %cond_next954, %cond_next954
27272df49f5SChris Lattner	ret void
27372df49f5SChris Lattner
27472df49f5SChris Lattnerbb5490:		; preds = %cond_next954
27572df49f5SChris Lattner	ret void
27672df49f5SChris Lattner
27772df49f5SChris Lattnerbb5518:		; preds = %cond_next954
27872df49f5SChris Lattner	ret void
27972df49f5SChris Lattner
28072df49f5SChris Lattnerbb5752:		; preds = %cond_next954
28172df49f5SChris Lattner	ret void
28272df49f5SChris Lattner
28372df49f5SChris Lattnerbb5786:		; preds = %cond_next954
28472df49f5SChris Lattner	ret void
28572df49f5SChris Lattner
28672df49f5SChris Lattnerbb5953:		; preds = %cond_next954
28772df49f5SChris Lattner	ret void
28872df49f5SChris Lattner
28972df49f5SChris Lattnerbb6040:		; preds = %cond_next954
29072df49f5SChris Lattner	ret void
29172df49f5SChris Lattner
29272df49f5SChris Lattnerbb6132:		; preds = %cond_next954
29372df49f5SChris Lattner	ret void
29472df49f5SChris Lattner
29572df49f5SChris Lattnerbb6147:		; preds = %cond_next954
29672df49f5SChris Lattner	ret void
29772df49f5SChris Lattner
29872df49f5SChris Lattnerbb6151:		; preds = %cond_next954
29972df49f5SChris Lattner	ret void
30072df49f5SChris Lattner
30172df49f5SChris Lattnerbb6155:		; preds = %cond_next954
30272df49f5SChris Lattner	ret void
30372df49f5SChris Lattner
30472df49f5SChris Lattnerbb6186:		; preds = %cond_next954
30572df49f5SChris Lattner	ret void
30672df49f5SChris Lattner
30772df49f5SChris Lattnerbb6355:		; preds = %cond_next954
30872df49f5SChris Lattner	ret void
30972df49f5SChris Lattner
31072df49f5SChris Lattnerbb6401:		; preds = %cond_next954
31172df49f5SChris Lattner	ret void
31272df49f5SChris Lattner
31372df49f5SChris Lattnerbb6916:		; preds = %cond_next954
31472df49f5SChris Lattner	ret void
31572df49f5SChris Lattner
31672df49f5SChris Lattnerbb6920:		; preds = %cond_next954
31772df49f5SChris Lattner	ret void
31872df49f5SChris Lattner
31972df49f5SChris Lattnerbb6955:		; preds = %cond_next954
32072df49f5SChris Lattner	ret void
32172df49f5SChris Lattner
32272df49f5SChris Lattnerbb6990:		; preds = %cond_next954
32372df49f5SChris Lattner	ret void
32472df49f5SChris Lattner
32572df49f5SChris Lattnerbb7027:		; preds = %cond_next954
32672df49f5SChris Lattner	ret void
32772df49f5SChris Lattner
32872df49f5SChris Lattnerbb7064:		; preds = %cond_next954
32972df49f5SChris Lattner	ret void
33072df49f5SChris Lattner
33172df49f5SChris Lattnerbb7068:		; preds = %cond_next954
33272df49f5SChris Lattner	ret void
33372df49f5SChris Lattner
33472df49f5SChris Lattnerbb7072:		; preds = %cond_next954
33572df49f5SChris Lattner	ret void
33672df49f5SChris Lattner
33772df49f5SChris Lattnerbb7076:		; preds = %cond_next954
33872df49f5SChris Lattner	ret void
33972df49f5SChris Lattner
34072df49f5SChris Lattnerbb7316:		; preds = %cond_next954, %cond_next954
34172df49f5SChris Lattner	ret void
34272df49f5SChris Lattner
34372df49f5SChris Lattnerbb7328:		; preds = %cond_next954, %cond_next954, %cond_next954
34472df49f5SChris Lattner	ret void
34572df49f5SChris Lattner
34672df49f5SChris Lattnercleanup7419:		; preds = %cond_next954
34772df49f5SChris Lattner	ret void
34872df49f5SChris Lattner}
349