| ;; Tests for lowering local.get and local.set. | |
| (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) | |
| (local.set $x (local.get $0)) | |
| (local.set $result (local.get $r)) | |
| (local.set $extend (i64.extend_i32_u (local.get $x))) | |
| (i64.eq (local.get $extend) (local.get $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)) |