1;;! target = "aarch64"
2;;! test = "winch"
3(module
4  (func (export "nested-br_table-loop-block") (param i32) (result i32)
5    (local.set 0
6      (loop (result i32)
7        (block
8          (br_table 1 0 0 (local.get 0))
9        )
10        (i32.const 0)
11      )
12    )
13    (loop (result i32)
14      (block
15        (br_table 0 1 1 (local.get 0))
16      )
17      (i32.const 3)
18    )
19  )
20)
21;; wasm[0]::function[0]:
22;;       stp     x29, x30, [sp, #-0x10]!
23;;       mov     x29, sp
24;;       str     x28, [sp, #-0x10]!
25;;       mov     x28, sp
26;;       ldur    x16, [x0, #8]
27;;       ldur    x16, [x16, #0x18]
28;;       mov     x17, #0
29;;       movk    x17, #0x18
30;;       add     x16, x16, x17
31;;       cmp     sp, x16
32;;       b.lo    #0xc4
33;;   2c: mov     x9, x0
34;;       sub     x28, x28, #0x18
35;;       mov     sp, x28
36;;       stur    x0, [x28, #0x10]
37;;       stur    x1, [x28, #8]
38;;       stur    w2, [x28, #4]
39;;       ldur    w0, [x28, #4]
40;;       mov     x1, #2
41;;       cmp     w0, w1, uxtx
42;;       b.hs    #0x74
43;;   54: csel    x1, xzr, x0, hs
44;;       adr     x16, #0x68
45;;       ldrsw   x1, [x16, w1, uxtw #2]
46;;       add     x16, x16, x1
47;;       br      x16
48;;   68: .byte   0xdc, 0xff, 0xff, 0xff
49;;       .byte   0x0c, 0x00, 0x00, 0x00
50;;       b       #0x44
51;;   74: mov     x0, #0
52;;       stur    w0, [x28, #4]
53;;       ldur    w0, [x28, #4]
54;;       mov     x1, #2
55;;       cmp     w0, w1, uxtx
56;;       b.hs    #0x7c
57;;   8c: csel    x1, xzr, x0, hs
58;;       adr     x16, #0xa0
59;;       ldrsw   x1, [x16, w1, uxtw #2]
60;;       add     x16, x16, x1
61;;       br      x16
62;;   a0: .byte   0x08, 0x00, 0x00, 0x00
63;;       .byte   0xdc, 0xff, 0xff, 0xff
64;;       mov     x0, #3
65;;       add     x28, x28, #0x18
66;;       mov     sp, x28
67;;       mov     sp, x28
68;;       ldr     x28, [sp], #0x10
69;;       ldp     x29, x30, [sp], #0x10
70;;       ret
71;;   c4: .byte   0x1f, 0xc1, 0x00, 0x00
72