@@ -3812,7 +3812,7 @@ mlir::Value IntrinsicLibrary::genIeeeClass(mlir::Type resultType,
3812
3812
int pos = 3 + highSignificandSize;
3813
3813
mlir::Value index = builder.create <mlir::arith::AndIOp>(
3814
3814
loc, builder.create <mlir::arith::ShRUIOp>(loc, intVal, signShift),
3815
- createIntegerConstant (1 << pos));
3815
+ createIntegerConstant (1ULL << pos));
3816
3816
3817
3817
// [e] exponent != 0
3818
3818
mlir::Value exponent =
@@ -3824,7 +3824,7 @@ mlir::Value IntrinsicLibrary::genIeeeClass(mlir::Type resultType,
3824
3824
loc,
3825
3825
builder.create <mlir::arith::CmpIOp>(
3826
3826
loc, mlir::arith::CmpIPredicate::ne, exponent, zero),
3827
- createIntegerConstant (1 << --pos), zero));
3827
+ createIntegerConstant (1ULL << --pos), zero));
3828
3828
3829
3829
// [m] exponent == 1..1 (max exponent)
3830
3830
index = builder.create <mlir::arith::OrIOp>(
@@ -3833,7 +3833,7 @@ mlir::Value IntrinsicLibrary::genIeeeClass(mlir::Type resultType,
3833
3833
loc,
3834
3834
builder.create <mlir::arith::CmpIOp>(
3835
3835
loc, mlir::arith::CmpIPredicate::eq, exponent, exponentMask),
3836
- createIntegerConstant (1 << --pos), zero));
3836
+ createIntegerConstant (1ULL << --pos), zero));
3837
3837
3838
3838
// [l] low-order significand != 0
3839
3839
index = builder.create <mlir::arith::OrIOp>(
@@ -3845,7 +3845,7 @@ mlir::Value IntrinsicLibrary::genIeeeClass(mlir::Type resultType,
3845
3845
builder.create <mlir::arith::AndIOp>(loc, intVal,
3846
3846
lowSignificandMask),
3847
3847
zero),
3848
- createIntegerConstant (1 << --pos), zero));
3848
+ createIntegerConstant (1ULL << --pos), zero));
3849
3849
3850
3850
// [h] high-order significand (1 or 2 bits)
3851
3851
index = builder.create <mlir::arith::OrIOp>(
0 commit comments