diff options
Diffstat (limited to 'tests/switch.qbe')
-rw-r--r-- | tests/switch.qbe | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/switch.qbe b/tests/switch.qbe new file mode 100644 index 0000000..73320a0 --- /dev/null +++ b/tests/switch.qbe @@ -0,0 +1,62 @@ +export +function $f() { +@start.1 +@body.2 + jmp @switch_cond.3 +@switch_case.5 + jmp @switch_join.4 +@switch_case.6 + jmp @switch_join.4 +@switch_case.7 + jmp @switch_join.4 +@switch_default.8 + jmp @switch_join.4 +@switch_case.9 + jmp @switch_join.4 +@switch_case.10 + jmp @switch_join.4 +@switch_cond.3 + %.1 =w cultw 0, 52 + jnz %.1, @switch_lt.11, @switch_ge.12 +@switch_lt.11 + %.2 =w cultw 0, 3 + jnz %.2, @switch_lt.14, @switch_ge.15 +@switch_lt.14 + %.3 =w cultw 0, 0 + jnz %.3, @switch_lt.17, @switch_ge.18 +@switch_lt.17 + jmp @switch_default.8 +@switch_ge.18 + %.4 =w cugtw 0, 0 + jnz %.4, @switch_gt.19, @switch_case.9 +@switch_gt.19 + jmp @switch_default.8 +@switch_ge.15 + %.5 =w cugtw 0, 3 + jnz %.5, @switch_gt.16, @switch_case.5 +@switch_gt.16 + jmp @switch_default.8 +@switch_ge.12 + %.6 =w cugtw 0, 52 + jnz %.6, @switch_gt.13, @switch_case.6 +@switch_gt.13 + %.7 =w cultw 0, 18446744073709551613 + jnz %.7, @switch_lt.20, @switch_ge.21 +@switch_lt.20 + %.8 =w cultw 0, 101 + jnz %.8, @switch_lt.23, @switch_ge.24 +@switch_lt.23 + jmp @switch_default.8 +@switch_ge.24 + %.9 =w cugtw 0, 101 + jnz %.9, @switch_gt.25, @switch_case.10 +@switch_gt.25 + jmp @switch_default.8 +@switch_ge.21 + %.10 =w cugtw 0, 18446744073709551613 + jnz %.10, @switch_gt.22, @switch_case.7 +@switch_gt.22 + jmp @switch_default.8 +@switch_join.4 + ret +} |