1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/CodeGen/WebAssembly/reg-copy.mir
Thomas Lively 4be6d4a9bc [WebAssembly] Make returns variadic
Summary:
This is necessary and sufficient to get simple cases of multiple
return working with multivalue enabled. More complex cases will
require block and loop signatures to be generalized to potentially be
type indices as well.

Reviewers: aheejin, dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68684

llvm-svn: 374235
2019-10-09 21:42:08 +00:00

69 lines
1.4 KiB
YAML

# RUN: llc -mtriple=wasm32-unknown-unknown %s -o - -run-pass=postrapseudos | FileCheck %s
---
name: copy_i32
# CHECK-LABEL: copy_i32
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:i32 = COPY_I32 %1:i32
; CHECK-NEXT: RETURN
bb.0:
%0:i32 = COPY %1:i32
RETURN implicit-def $arguments
...
---
name: copy_i64
# CHECK-LABEL: copy_i64
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:i64 = COPY_I64 %1:i64
; CHECK-NEXT: RETURN
bb.0:
%0:i64 = COPY %1:i64
RETURN implicit-def $arguments
...
---
name: copy_f32
# CHECK-LABEL: copy_f32
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:f32 = COPY_F32 %1:f32
; CHECK-NEXT: RETURN
bb.0:
%0:f32 = COPY %1:f32
RETURN implicit-def $arguments
...
---
name: copy_f64
# CHECK-LABEL: copy_f64
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:f64 = COPY_F64 %1:f64
; CHECK-NEXT: RETURN
bb.0:
%0:f64 = COPY %1:f64
RETURN implicit-def $arguments
...
---
name: copy_v128
# CHECK-LABEL: copy_v128
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:v128 = COPY_V128 %1:v128
; CHECK-NEXT: RETURN
bb.0:
%0:v128 = COPY %1:v128
RETURN implicit-def $arguments
...
---
name: copy_exnref
# CHECK-LABEL: copy_exnref
body: |
; CHECK-LABEL: bb.0:
; CHECK-NEXT: %0:exnref = COPY_EXNREF %1:exnref
; CHECK-NEXT: RETURN
bb.0:
%0:exnref = COPY %1:exnref
RETURN implicit-def $arguments
...