@@ -485,6 +485,7 @@ struct IntrinsicLibrary {
485
485
fir::ExtendedValue genIchar (mlir::Type, llvm::ArrayRef<fir::ExtendedValue>);
486
486
mlir::Value genIeor (mlir::Type, llvm::ArrayRef<mlir::Value>);
487
487
fir::ExtendedValue genIndex (mlir::Type, llvm::ArrayRef<fir::ExtendedValue>);
488
+ mlir::Value genIor (mlir::Type, llvm::ArrayRef<mlir::Value>);
488
489
mlir::Value genIshft (mlir::Type, llvm::ArrayRef<mlir::Value>);
489
490
mlir::Value genIshftc (mlir::Type, llvm::ArrayRef<mlir::Value>);
490
491
fir::ExtendedValue genLbound (mlir::Type, llvm::ArrayRef<fir::ExtendedValue>);
@@ -735,6 +736,7 @@ static constexpr IntrinsicHandler handlers[]{
735
736
{" substring" , asAddr},
736
737
{" back" , asValue, handleDynamicOptional},
737
738
{" kind" , asValue}}}},
739
+ {" ior" , &I::genIor},
738
740
{" ishft" , &I::genIshft},
739
741
{" ishftc" , &I::genIshftc},
740
742
{" lbound" ,
@@ -2512,6 +2514,13 @@ IntrinsicLibrary::genIndex(mlir::Type resultType,
2512
2514
return readAndAddCleanUp (mutBox, resultType, " INDEX" );
2513
2515
}
2514
2516
2517
+ // IOR
2518
+ mlir::Value IntrinsicLibrary::genIor (mlir::Type resultType,
2519
+ llvm::ArrayRef<mlir::Value> args) {
2520
+ assert (args.size () == 2 );
2521
+ return builder.create <mlir::arith::OrIOp>(loc, args[0 ], args[1 ]);
2522
+ }
2523
+
2515
2524
// ISHFT
2516
2525
mlir::Value IntrinsicLibrary::genIshft (mlir::Type resultType,
2517
2526
llvm::ArrayRef<mlir::Value> args) {
0 commit comments