1# RUN: llc -mtriple=wasm32-unknown-unknown %s -o - -run-pass wasm-argument-move  | FileCheck %s
2
3# wasm-argument-move pass moves all ARGUMENT instructions to the top of the
4# entry BB.
5---
6name: argument_i32
7# CHECK-LABEL: argument_i32
8body: |
9  ; CHECK-LABEL: bb.0:
10  ; CHECK-NEXT: %1:i32 = ARGUMENT_i32 0
11  bb.0:
12    %0:i32 = CONST_I32 0, implicit-def $arguments
13    %1:i32 = ARGUMENT_i32 0, implicit $arguments
14    RETURN implicit-def $arguments
15...
16---
17name: argument_i64
18# CHECK-LABEL: argument_i64
19body: |
20  ; CHECK-LABEL: bb.0:
21  ; CHECK-NEXT: %1:i64 = ARGUMENT_i64 0
22  bb.0:
23    %0:i32 = CONST_I32 0, implicit-def $arguments
24    %1:i64 = ARGUMENT_i64 0, implicit $arguments
25    RETURN implicit-def $arguments
26...
27---
28name: argument_f32
29# CHECK-LABEL: argument_f32
30body: |
31  ; CHECK-LABEL: bb.0:
32  ; CHECK-NEXT: %1:f32 = ARGUMENT_f32 0
33  bb.0:
34    %0:i32 = CONST_I32 0, implicit-def $arguments
35    %1:f32 = ARGUMENT_f32 0, implicit $arguments
36    RETURN implicit-def $arguments
37...
38---
39name: argument_f64
40# CHECK-LABEL: argument_f64
41body: |
42  ; CHECK-LABEL: bb.0:
43  ; CHECK-NEXT: %1:f64 = ARGUMENT_f64 0
44  bb.0:
45    %0:i32 = CONST_I32 0, implicit-def $arguments
46    %1:f64 = ARGUMENT_f64 0, implicit $arguments
47    RETURN implicit-def $arguments
48...
49---
50name: argument_exnref
51# CHECK-LABEL: argument_exnref
52body: |
53  ; CHECK-LABEL: bb.0:
54  ; CHECK-NEXT: %1:exnref = ARGUMENT_exnref 0
55  bb.0:
56    %0:i32 = CONST_I32 0, implicit-def $arguments
57    %1:exnref = ARGUMENT_exnref 0, implicit $arguments
58    RETURN implicit-def $arguments
59...
60