diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td @@ -80,7 +80,9 @@ CPred<"$_self.isa<::mlir::LLVM::LLVMBFloatType, " "::mlir::LLVM::LLVMHalfType, " "::mlir::LLVM::LLVMFloatType, " - "::mlir::LLVM::LLVMDoubleType>()">, + "::mlir::LLVM::LLVMDoubleType, " + "::mlir::LLVM::LLVMFP128Type, " + "::mlir::LLVM::LLVMX86FP80Type>()">, "floating point LLVM type">; // Type constraint accepting any LLVM pointer type. diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h b/mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h @@ -41,6 +41,8 @@ class LLVMHalfType; class LLVMFloatType; class LLVMDoubleType; +class LLVMFP128Type; +class LLVMX86FP80Type; class LLVMIntegerType; //===----------------------------------------------------------------------===// @@ -89,9 +91,12 @@ bool isHalfTy() { return isa(); } bool isFloatTy() { return isa(); } bool isDoubleTy() { return isa(); } + bool isFP128Ty() { return isa(); } + bool isX86_FP80Ty() { return isa(); } bool isFloatingPointTy() { return isa() || isa() || - isa() || isa(); + isa() || isa() || + isa() || isa(); } /// Array type utilities.