1;;! target = "x86_64"
2;;! test = "winch"
3(module
4  (func $dummy)
5  (func (export "as-binary-operand") (result i32)
6    (i32.mul
7      (loop (result i32) (call $dummy) (i32.const 3))
8      (loop (result i32) (call $dummy) (i32.const 4))
9    )
10  )
11)
12;; wasm[0]::function[0]::dummy:
13;;       pushq   %rbp
14;;       movq    %rsp, %rbp
15;;       movq    8(%rdi), %r11
16;;       movq    0x18(%r11), %r11
17;;       addq    $0x10, %r11
18;;       cmpq    %rsp, %r11
19;;       ja      0x38
20;;   1c: movq    %rdi, %r14
21;;       subq    $0x10, %rsp
22;;       movq    %rdi, 8(%rsp)
23;;       movq    %rsi, (%rsp)
24;;       addq    $0x10, %rsp
25;;       popq    %rbp
26;;       retq
27;;   38: ud2
28;;
29;; wasm[0]::function[1]:
30;;       pushq   %rbp
31;;       movq    %rsp, %rbp
32;;       movq    8(%rdi), %r11
33;;       movq    0x18(%r11), %r11
34;;       addq    $0x10, %r11
35;;       cmpq    %rsp, %r11
36;;       ja      0xa3
37;;   5c: movq    %rdi, %r14
38;;       subq    $0x10, %rsp
39;;       movq    %rdi, 8(%rsp)
40;;       movq    %rsi, (%rsp)
41;;       movq    %r14, %rdi
42;;       movq    %r14, %rsi
43;;       callq   0
44;;       movq    8(%rsp), %r14
45;;       movq    %r14, %rdi
46;;       movq    %r14, %rsi
47;;       callq   0
48;;       movq    8(%rsp), %r14
49;;       movl    $3, %eax
50;;       imull   $4, %eax, %eax
51;;       addq    $0x10, %rsp
52;;       popq    %rbp
53;;       retq
54;;   a3: ud2
55