blob: 1150c1e260d6502af05b7e8c8403efca61cd56f7 [file] [edit]
;; Tests for lowering get_local and set_local.
(module
(func $dummy)
(func (export "check_extend_ui32") (param $0 i32) (param $r i64) (result i32)
(local $x i32)
(local $result i64)
(local $extend i64)
(set_local $x (get_local $0))
(set_local $result (get_local $r))
(set_local $extend (i64.extend_u/i32 (get_local $x)))
(i64.eq (get_local $extend) (get_local $result)))
)
(assert_return (invoke "check_extend_ui32" (i32.const 0)
(i32.const 0) (i32.const 0))
(i32.const 1))
(assert_return (invoke "check_extend_ui32" (i32.const 1)
(i32.const 1) (i32.const 0))
(i32.const 1))
(assert_return (invoke "check_extend_ui32" (i32.const 0x7fffffff)
(i32.const 0x7fffffff) (i32.const 0))
(i32.const 1))
(assert_return (invoke "check_extend_ui32" (i32.const 0xffffffff)
(i32.const 0xffffffff) (i32.const 0))
(i32.const 1))