mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-01 21:04:04 -04:00
44cde01a89
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374235 91177308-0d34-0410-b5e6-96231b3b80d8
32 lines
978 B
LLVM
32 lines
978 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
; RUN: llc < %s -mtriple=wasm32 | FileCheck %s
|
|
|
|
define i64 @testmsxs_builtin(float %x) {
|
|
; CHECK-LABEL: testmsxs_builtin:
|
|
; CHECK: .functype testmsxs_builtin (f32) -> (i64)
|
|
; CHECK-NEXT: # %bb.0: # %entry
|
|
; CHECK-NEXT: local.get 0
|
|
; CHECK-NEXT: i64.call llroundf
|
|
; CHECK-NEXT: # fallthrough-return
|
|
; CHECK-NEXT: end_function
|
|
entry:
|
|
%0 = tail call i64 @llvm.llround.f32(float %x)
|
|
ret i64 %0
|
|
}
|
|
|
|
define i64 @testmsxd_builtin(double %x) {
|
|
; CHECK-LABEL: testmsxd_builtin:
|
|
; CHECK: .functype testmsxd_builtin (f64) -> (i64)
|
|
; CHECK-NEXT: # %bb.0: # %entry
|
|
; CHECK-NEXT: local.get 0
|
|
; CHECK-NEXT: i64.call llround
|
|
; CHECK-NEXT: # fallthrough-return
|
|
; CHECK-NEXT: end_function
|
|
entry:
|
|
%0 = tail call i64 @llvm.llround.f64(double %x)
|
|
ret i64 %0
|
|
}
|
|
|
|
declare i64 @llvm.llround.f32(float) nounwind readnone
|
|
declare i64 @llvm.llround.f64(double) nounwind readnone
|