blob: 580cc964be8c02d5417f10f67f159c8a4fb4ce61 [file] [log] [blame]
// RUN: iree-opt -split-input-file %s | iree-opt -split-input-file | IreeFileCheck %s
// CHECK-LABEL: @trunc
vm.module @my_module {
vm.func @trunc(%arg0 : i32) -> i32 {
// CHECK: %0 = vm.trunc.i32.i8 %arg0 : i32 -> i32
%0 = vm.trunc.i32.i8 %arg0 : i32 -> i32
// CHECK-NEXT: %1 = vm.trunc.i32.i16 %0 : i32 -> i32
%1 = vm.trunc.i32.i16 %0 : i32 -> i32
vm.return %1 : i32
}
}
// -----
// CHECK-LABEL: @trunc_i64
vm.module @my_module {
vm.func @trunc_i64(%arg0 : i64) -> (i32, i32 ,i32) {
// CHECK: %0 = vm.trunc.i64.i8 %arg0 : i64 -> i32
%0 = vm.trunc.i64.i8 %arg0 : i64 -> i32
// CHECK-NEXT: %1 = vm.trunc.i64.i16 %arg0 : i64 -> i32
%1 = vm.trunc.i64.i16 %arg0 : i64 -> i32
// CHECK-NEXT: %2 = vm.trunc.i64.i32 %arg0 : i64 -> i32
%2 = vm.trunc.i64.i32 %arg0 : i64 -> i32
vm.return %0, %1, %2 : i32, i32, i32
}
}
// -----
// CHECK-LABEL: @ext
vm.module @my_module {
vm.func @ext(%arg0 : i32) -> i32 {
// CHECK-NEXT: %0 = vm.ext.i8.i32.s %arg0 : i32 -> i32
%0 = vm.ext.i8.i32.s %arg0 : i32 -> i32
// CHECK-NEXT: %1 = vm.ext.i8.i32.u %0 : i32 -> i32
%1 = vm.ext.i8.i32.u %0 : i32 -> i32
// CHECK-NEXT: %2 = vm.ext.i16.i32.s %1 : i32 -> i32
%2 = vm.ext.i16.i32.s %1 : i32 -> i32
// CHECK-NEXT: %3 = vm.ext.i16.i32.u %2 : i32 -> i32
%3 = vm.ext.i16.i32.u %2 : i32 -> i32
vm.return %3 : i32
}
}
// -----
// CHECK-LABEL: @ext_i64
vm.module @my_module {
vm.func @ext_i64(%arg0 : i32) -> i64 {
// CHECK-NEXT: %0 = vm.ext.i8.i64.s %arg0 : i32 -> i64
%0 = vm.ext.i8.i64.s %arg0 : i32 -> i64
// CHECK-NEXT: %1 = vm.ext.i8.i64.u %arg0 : i32 -> i64
%1 = vm.ext.i8.i64.u %arg0 : i32 -> i64
// CHECK-NEXT: %2 = vm.ext.i16.i64.s %arg0 : i32 -> i64
%2 = vm.ext.i16.i64.s %arg0 : i32 -> i64
// CHECK-NEXT: %3 = vm.ext.i16.i64.u %arg0 : i32 -> i64
%3 = vm.ext.i16.i64.u %arg0 : i32 -> i64
// CHECK-NEXT: %4 = vm.ext.i32.i64.s %arg0 : i32 -> i64
%4 = vm.ext.i32.i64.s %arg0 : i32 -> i64
// CHECK-NEXT: %5 = vm.ext.i32.i64.u %arg0 : i32 -> i64
%5 = vm.ext.i32.i64.u %arg0 : i32 -> i64
vm.return %5 : i64
}
}