[WebAssembly] Don't perform the returned-argument optimization on constants.
[oota-llvm.git] / test / CodeGen / Generic / switch-lower-feature.ll
1 ; RUN: llc < %s
2
3 define i32 @test(i32 %tmp158) {
4 entry:
5         switch i32 %tmp158, label %bb336 [
6                  i32 120, label %bb338
7                  i32 121, label %bb338
8                  i32 122, label %bb338
9                  i32 123, label %bb338
10                  i32 124, label %bb338
11                  i32 125, label %bb338
12                  i32 126, label %bb338
13                  i32 1024, label %bb338
14                  i32 0, label %bb338
15                  i32 1, label %bb338
16                  i32 2, label %bb338
17                  i32 3, label %bb338
18                  i32 4, label %bb338
19                  i32 5, label %bb338
20         ]
21 bb336:
22   ret i32 10
23 bb338:
24   ret i32 11
25 }
26
27 define i32 @test2(i32 %tmp158) {
28 entry:
29         switch i32 %tmp158, label %bb336 [
30                  i32 -2147483648, label %bb338
31                  i32 -2147483647, label %bb338
32                  i32 -2147483646, label %bb338
33                  i32 120, label %bb338
34                  i32 121, label %bb339
35                  i32 122, label %bb340
36                  i32 123, label %bb341
37                  i32 124, label %bb342
38                  i32 125, label %bb343
39                  i32 126, label %bb336
40                  i32 1024, label %bb338
41                  i32 0, label %bb338
42                  i32 1, label %bb338
43                  i32 2, label %bb338
44                  i32 3, label %bb338
45                  i32 4, label %bb338
46                  i32 5, label %bb338
47         ]
48 bb336:
49   ret i32 10
50 bb338:
51   ret i32 11
52 bb339:
53   ret i32 12
54 bb340:
55   ret i32 13
56 bb341:
57   ret i32 14
58 bb342:
59   ret i32 15
60 bb343:
61   ret i32 18
62
63 }