70 lines · plain
1// RUN: yaml2obj %S/inputs/extend.yaml.wasm -o - | mlir-translate --import-wasm | FileCheck %s2 3/* Source code used to create this test:4(module5 (func $i32_s (result i64)6 i32.const 107 i64.extend_i32_s8 )9 (func $i32_u (result i64)10 i32.const 1011 i64.extend_i32_u12 )13 (func $extend8_32 (result i32)14 i32.const 1015 i32.extend8_s16 )17 (func $extend16_32 (result i32)18 i32.const 1019 i32.extend16_s20 )21 (func $extend8_64 (result i64)22 i64.const 1023 i64.extend8_s24 )25 (func $extend16_64 (result i64)26 i64.const 1027 i64.extend16_s28 )29 (func $extend32_64 (result i64)30 i64.const 1031 i64.extend32_s32 )33)34*/35 36// CHECK-LABEL: wasmssa.func @func_0() -> i64 {37// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i3238// CHECK: %[[VAL_1:.*]] = wasmssa.extend_i32_s %[[VAL_0]] to i6439// CHECK: wasmssa.return %[[VAL_1]] : i6440 41// CHECK-LABEL: wasmssa.func @func_1() -> i64 {42// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i3243// CHECK: %[[VAL_1:.*]] = wasmssa.extend_i32_u %[[VAL_0]] to i6444// CHECK: wasmssa.return %[[VAL_1]] : i6445 46// CHECK-LABEL: wasmssa.func @func_2() -> i32 {47// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i3248// CHECK: %[[VAL_1:.*]] = wasmssa.extend 8 : ui32 low bits from %[[VAL_0]] : i3249// CHECK: wasmssa.return %[[VAL_1]] : i3250 51// CHECK-LABEL: wasmssa.func @func_3() -> i32 {52// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i3253// CHECK: %[[VAL_1:.*]] = wasmssa.extend 16 : ui32 low bits from %[[VAL_0]] : i3254// CHECK: wasmssa.return %[[VAL_1]] : i3255 56// CHECK-LABEL: wasmssa.func @func_4() -> i64 {57// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i6458// CHECK: %[[VAL_1:.*]] = wasmssa.extend 8 : ui32 low bits from %[[VAL_0]] : i6459// CHECK: wasmssa.return %[[VAL_1]] : i6460 61// CHECK-LABEL: wasmssa.func @func_5() -> i64 {62// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i6463// CHECK: %[[VAL_1:.*]] = wasmssa.extend 16 : ui32 low bits from %[[VAL_0]] : i6464// CHECK: wasmssa.return %[[VAL_1]] : i6465 66// CHECK-LABEL: wasmssa.func @func_6() -> i64 {67// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i6468// CHECK: %[[VAL_1:.*]] = wasmssa.extend 32 : ui32 low bits from %[[VAL_0]] : i6469// CHECK: wasmssa.return %[[VAL_1]] : i6470