Silence -Wunused-variable in release builds.
[llvm/stm8.git] / test / CodeGen / MBlaze / jumptable.ll
blob299084d0ed23de1febf1bf573fb39c100dc6799b
1 ; Ensure that jump tables can be handled by the mblaze backend. The
2 ; jump table should be lowered to a "br" instruction using one of the
3 ; available registers.
5 ; RUN: llc < %s -march=mblaze | FileCheck %s
7 define i32 @jmptable(i32 %arg)
9     ; CHECK:        jmptable:
10     switch i32 %arg, label %DEFAULT [ i32 0, label %L0
11                                       i32 1, label %L1
12                                       i32 2, label %L2
13                                       i32 3, label %L3
14                                       i32 4, label %L4
15                                       i32 5, label %L5
16                                       i32 6, label %L6
17                                       i32 7, label %L7
18                                       i32 8, label %L8
19                                       i32 9, label %L9 ]
21     ; CHECK:        lw   [[REG:r[0-9]*]]
22     ; CHECK:        brad [[REG]]
23 L0:
24     %var0 = add i32 %arg, 0
25     br label %DONE
27 L1:
28     %var1 = add i32 %arg, 1
29     br label %DONE
31 L2:
32     %var2 = add i32 %arg, 2
33     br label %DONE
35 L3:
36     %var3 = add i32 %arg, 3
37     br label %DONE
39 L4:
40     %var4 = add i32 %arg, 4
41     br label %DONE
43 L5:
44     %var5 = add i32 %arg, 5
45     br label %DONE
47 L6:
48     %var6 = add i32 %arg, 6
49     br label %DONE
51 L7:
52     %var7 = add i32 %arg, 7
53     br label %DONE
55 L8:
56     %var8 = add i32 %arg, 8
57     br label %DONE
59 L9:
60     %var9 = add i32 %arg, 9
61     br label %DONE
63 DEFAULT:
64     unreachable
66 DONE:
67     %rval = phi i32 [ %var0, %L0 ],
68                     [ %var1, %L1 ],
69                     [ %var2, %L2 ],
70                     [ %var3, %L3 ],
71                     [ %var4, %L4 ],
72                     [ %var5, %L5 ],
73                     [ %var6, %L6 ],
74                     [ %var7, %L7 ],
75                     [ %var8, %L8 ],
76                     [ %var9, %L9 ]
77     ret i32 %rval
78     ; CHECK:        rtsd