; Ensure that jump tables can be handled by the mblaze backend. The ; jump table should be lowered to a "br" instruction using one of the ; available registers. ; ; RUN: llc < %s -march=mblaze | FileCheck %s define i32 @jmptable(i32 %arg) { ; CHECK: jmptable: switch i32 %arg, label %DEFAULT [ i32 0, label %L0 i32 1, label %L1 i32 2, label %L2 i32 3, label %L3 i32 4, label %L4 i32 5, label %L5 i32 6, label %L6 i32 7, label %L7 i32 8, label %L8 i32 9, label %L9 ] ; CHECK: lw [[REG:r[0-9]*]] ; CHECK: brad [[REG]] L0: %var0 = add i32 %arg, 0 br label %DONE L1: %var1 = add i32 %arg, 1 br label %DONE L2: %var2 = add i32 %arg, 2 br label %DONE L3: %var3 = add i32 %arg, 3 br label %DONE L4: %var4 = add i32 %arg, 4 br label %DONE L5: %var5 = add i32 %arg, 5 br label %DONE L6: %var6 = add i32 %arg, 6 br label %DONE L7: %var7 = add i32 %arg, 7 br label %DONE L8: %var8 = add i32 %arg, 8 br label %DONE L9: %var9 = add i32 %arg, 9 br label %DONE DEFAULT: unreachable DONE: %rval = phi i32 [ %var0, %L0 ], [ %var1, %L1 ], [ %var2, %L2 ], [ %var3, %L3 ], [ %var4, %L4 ], [ %var5, %L5 ], [ %var6, %L6 ], [ %var7, %L7 ], [ %var8, %L8 ], [ %var9, %L9 ] ret i32 %rval ; CHECK: rtsd }