1;;! target = "x86_64" 2;;! test = "winch" 3(module 4 (func $fx (export "effects") (result i32) 5 (local i32) 6 (block 7 (loop 8 (local.set 0 (i32.const 1)) 9 (local.set 0 (i32.mul (local.get 0) (i32.const 3))) 10 (local.set 0 (i32.sub (local.get 0) (i32.const 5))) 11 (local.set 0 (i32.mul (local.get 0) (i32.const 7))) 12 (br 1) 13 (local.set 0 (i32.mul (local.get 0) (i32.const 100))) 14 ) 15 ) 16 (i32.eq (local.get 0) (i32.const -14)) 17 ) 18) 19;; wasm[0]::function[0]::fx: 20;; pushq %rbp 21;; movq %rsp, %rbp 22;; movq 8(%rdi), %r11 23;; movq 0x18(%r11), %r11 24;; addq $0x20, %r11 25;; cmpq %rsp, %r11 26;; ja 0x83 27;; 1c: movq %rdi, %r14 28;; subq $0x20, %rsp 29;; movq %rdi, 0x18(%rsp) 30;; movq %rsi, 0x10(%rsp) 31;; movq $0, 8(%rsp) 32;; movl $1, %eax 33;; movl %eax, 0xc(%rsp) 34;; movl 0xc(%rsp), %eax 35;; imull $3, %eax, %eax 36;; movl %eax, 0xc(%rsp) 37;; movl 0xc(%rsp), %eax 38;; subl $5, %eax 39;; movl %eax, 0xc(%rsp) 40;; movl 0xc(%rsp), %eax 41;; imull $7, %eax, %eax 42;; movl %eax, 0xc(%rsp) 43;; movl 0xc(%rsp), %eax 44;; cmpl $-0xe, %eax 45;; movl $0, %eax 46;; sete %al 47;; addq $0x20, %rsp 48;; popq %rbp 49;; retq 50;; 83: ud2 51