summaryrefslogtreecommitdiff
path: root/test/i64-setTempRet0.fromasm.clamp.no-opts
diff options
context:
space:
mode:
Diffstat (limited to 'test/i64-setTempRet0.fromasm.clamp.no-opts')
-rw-r--r--test/i64-setTempRet0.fromasm.clamp.no-opts55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/i64-setTempRet0.fromasm.clamp.no-opts b/test/i64-setTempRet0.fromasm.clamp.no-opts
new file mode 100644
index 000000000..3c26a29bd
--- /dev/null
+++ b/test/i64-setTempRet0.fromasm.clamp.no-opts
@@ -0,0 +1,55 @@
+(module
+ (type $FUNCSIG$j (func (result i64)))
+ (type $legaltype$illegalImportResult (func (result i32)))
+ (import "env" "illegalImportResult" (func $illegalImportResult (result i64)))
+ (import "env" "illegalImportResult" (func $legalimport$illegalImportResult (result i32)))
+ (import "env" "memory" (memory $0 256 256))
+ (import "env" "table" (table 0 0 anyfunc))
+ (import "env" "memoryBase" (global $memoryBase i32))
+ (import "env" "tableBase" (global $tableBase i32))
+ (global $tempRet0 (mut i32) (i32.const 0))
+ (export "illegalResult" (func $legalstub$illegalResult))
+ (export "imports" (func $imports))
+ (func $illegalResult (result i64)
+ (return
+ (i64.const 8589934593)
+ )
+ )
+ (func $imports (result i32)
+ (return
+ (i32.wrap/i64
+ (call $legalfunc$illegalImportResult)
+ )
+ )
+ )
+ (func $legalstub$illegalResult (result i32)
+ (local $0 i64)
+ (set_local $0
+ (call $illegalResult)
+ )
+ (set_global $tempRet0
+ (i32.wrap/i64
+ (i64.shr_u
+ (get_local $0)
+ (i64.const 32)
+ )
+ )
+ )
+ (i32.wrap/i64
+ (get_local $0)
+ )
+ )
+ (func $legalfunc$illegalImportResult (result i64)
+ (i64.or
+ (i64.extend_u/i32
+ (call $legalimport$illegalImportResult)
+ )
+ (i64.shl
+ (i64.extend_u/i32
+ (get_global $tempRet0)
+ )
+ (i64.const 32)
+ )
+ )
+ )
+)