mirror of
https://github.com/intel/llvm.git
synced 2026-01-27 06:06:34 +08:00
[mlir][spirv] Add support for fptoui conversion in ArithToSPIRV
To enable the conversion of arith.fptoui to SPIRV OpConvertFToU Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D141582
This commit is contained in:
committed by
Andrzej Warzynski
parent
a63853e6ac
commit
e866fb8606
@@ -1100,6 +1100,7 @@ void mlir::arith::populateArithToSPIRVPatterns(
|
||||
TypeCastingOpPattern<arith::TruncFOp, spirv::FConvertOp>,
|
||||
TypeCastingOpPattern<arith::UIToFPOp, spirv::ConvertUToFOp>, UIToFPI1Pattern,
|
||||
TypeCastingOpPattern<arith::SIToFPOp, spirv::ConvertSToFOp>,
|
||||
TypeCastingOpPattern<arith::FPToUIOp, spirv::ConvertFToUOp>,
|
||||
TypeCastingOpPattern<arith::FPToSIOp, spirv::ConvertFToSOp>,
|
||||
TypeCastingOpPattern<arith::IndexCastOp, spirv::SConvertOp>,
|
||||
TypeCastingOpPattern<arith::IndexCastUIOp, spirv::UConvertOp>,
|
||||
|
||||
@@ -903,6 +903,20 @@ func.func @trunc_to_veci1(%arg0: vector<4xi32>) -> vector<4xi1> {
|
||||
return %0 : vector<4xi1>
|
||||
}
|
||||
|
||||
// CHECK-LABEL: @fptoui1
|
||||
func.func @fptoui1(%arg0 : f32) -> i32 {
|
||||
// CHECK: spirv.ConvertFToU %{{.*}} : f32 to i32
|
||||
%0 = arith.fptoui %arg0 : f32 to i32
|
||||
return %0 : i32
|
||||
}
|
||||
|
||||
// CHECK-LABEL: @fptoui2
|
||||
func.func @fptoui2(%arg0 : f16) -> i16 {
|
||||
// CHECK: spirv.ConvertFToU %{{.*}} : f16 to i16
|
||||
%0 = arith.fptoui %arg0 : f16 to i16
|
||||
return %0 : i16
|
||||
}
|
||||
|
||||
// CHECK-LABEL: @fptosi1
|
||||
func.func @fptosi1(%arg0 : f32) -> i32 {
|
||||
// CHECK: spirv.ConvertFToS %{{.*}} : f32 to i32
|
||||
|
||||
Reference in New Issue
Block a user