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