summaryrefslogtreecommitdiff
path: root/test/passes/avoid-reinterprets.wast
diff options
context:
space:
mode:
Diffstat (limited to 'test/passes/avoid-reinterprets.wast')
-rw-r--r--test/passes/avoid-reinterprets.wast38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/passes/avoid-reinterprets.wast b/test/passes/avoid-reinterprets.wast
new file mode 100644
index 000000000..1499f8356
--- /dev/null
+++ b/test/passes/avoid-reinterprets.wast
@@ -0,0 +1,38 @@
+(module
+ (memory 1)
+ (func $simple
+ (drop (f32.reinterpret_i32 (i32.load (i32.const 1024))))
+ (drop (i32.reinterpret_f32 (f32.load (i32.const 1024))))
+ (drop (f64.reinterpret_i64 (i64.load (i32.const 1024))))
+ (drop (i64.reinterpret_f64 (f64.load (i32.const 1024))))
+ )
+ (func $one
+ (local $x i32)
+ (local.set $x (i32.load (i32.const 1024)))
+ (drop (f32.reinterpret_i32 (local.get $x)))
+ )
+ (func $one-b
+ (local $x f32)
+ (local.set $x (f32.load (i32.const 1024)))
+ (drop (i32.reinterpret_f32 (local.get $x)))
+ )
+ (func $both
+ (local $x i32)
+ (local.set $x (i32.load (i32.const 1024)))
+ (drop (f32.reinterpret_i32 (local.get $x)))
+ (drop (f32.reinterpret_i32 (local.get $x)))
+ )
+ (func $half
+ (local $x i32)
+ (local.set $x (i32.load (i32.const 1024)))
+ (drop (local.get $x))
+ (drop (f32.reinterpret_i32 (local.get $x)))
+ )
+ (func $copy
+ (local $x i32)
+ (local $y i32)
+ (local.set $x (i32.load (i32.const 1024)))
+ (local.set $y (local.get $x))
+ (drop (f32.reinterpret_i32 (local.get $y)))
+ )
+)