@@ -83,7 +83,7 @@ def MaskCompressOp : AVX512_Op<"mask.compress", [Pure,
8383 }
8484 }];
8585 let extraClassDeclaration = [{
86- SmallVector<Value> getIntrinsicOperands(::mlir::RewriterBase&);
86+ SmallVector<Value> getIntrinsicOperands(::mlir::RewriterBase&, const LLVMTypeConverter& );
8787 }];
8888}
8989
@@ -404,7 +404,7 @@ def DotOp : AVX_LowOp<"dot", [Pure,
404404 }
405405 }];
406406 let extraClassDeclaration = [{
407- SmallVector<Value> getIntrinsicOperands(::mlir::RewriterBase&);
407+ SmallVector<Value> getIntrinsicOperands(::mlir::RewriterBase&, const LLVMTypeConverter& );
408408 }];
409409}
410410
@@ -413,7 +413,7 @@ def DotOp : AVX_LowOp<"dot", [Pure,
413413// AVX: Convert packed BF16 even-indexed/odd-indexed elements into packed F32
414414//----------------------------------------------------------------------------//
415415
416- def CvtPackedEvenIndexedBF16ToF32Op : AVX_Op<"cvt.packed.even.indexed.bf16_to_f32", [Pure,
416+ def CvtPackedEvenIndexedBF16ToF32Op : AVX_Op<"cvt.packed.even.indexed.bf16_to_f32", [
417417 DeclareOpInterfaceMethods<OneToOneIntrinsicOpInterface>]> {
418418 let summary = "AVX: Convert packed BF16 even-indexed elements into packed F32 Data.";
419419 let description = [{
@@ -428,7 +428,7 @@ def CvtPackedEvenIndexedBF16ToF32Op : AVX_Op<"cvt.packed.even.indexed.bf16_to_f3
428428 %dst = x86vector.avx.cvt.packed.even.indexed.bf16_to_f32 %a : !llvm.ptr -> vector<8xf32>
429429 ```
430430 }];
431- let arguments = (ins LLVM_AnyPointer :$a);
431+ let arguments = (ins AnyMemRef :$a);
432432 let results = (outs VectorOfLengthAndType<[4, 8], [F32]>:$dst);
433433 let assemblyFormat =
434434 "$a attr-dict`:` type($a)`->` type($dst)";
@@ -443,9 +443,13 @@ def CvtPackedEvenIndexedBF16ToF32Op : AVX_Op<"cvt.packed.even.indexed.bf16_to_f3
443443 return intr;
444444 }
445445 }];
446+
447+ let extraClassDeclaration = [{
448+ SmallVector<Value> getIntrinsicOperands(::mlir::RewriterBase&, const LLVMTypeConverter&);
449+ }];
446450}
447451
448- def CvtPackedOddIndexedBF16ToF32Op : AVX_Op<"cvt.packed.odd.indexed.bf16_to_f32", [Pure,
452+ def CvtPackedOddIndexedBF16ToF32Op : AVX_Op<"cvt.packed.odd.indexed.bf16_to_f32", [
449453 DeclareOpInterfaceMethods<OneToOneIntrinsicOpInterface>]> {
450454 let summary = "AVX: Convert packed BF16 odd-indexed elements into packed F32 Data.";
451455 let description = [{
@@ -460,7 +464,7 @@ def CvtPackedOddIndexedBF16ToF32Op : AVX_Op<"cvt.packed.odd.indexed.bf16_to_f32"
460464 %dst = x86vector.avx.cvt.packed.odd.indexed.bf16_to_f32 %a : !llvm.ptr -> vector<8xf32>
461465 ```
462466 }];
463- let arguments = (ins LLVM_AnyPointer :$a);
467+ let arguments = (ins AnyMemRef :$a);
464468 let results = (outs VectorOfLengthAndType<[4, 8], [F32]>:$dst);
465469 let assemblyFormat =
466470 "$a attr-dict`:` type($a)`->` type($dst)";
@@ -475,13 +479,17 @@ def CvtPackedOddIndexedBF16ToF32Op : AVX_Op<"cvt.packed.odd.indexed.bf16_to_f32"
475479 return intr;
476480 }
477481 }];
482+
483+ let extraClassDeclaration = [{
484+ SmallVector<Value> getIntrinsicOperands(::mlir::RewriterBase&, const LLVMTypeConverter&);
485+ }];
478486}
479487
480488//----------------------------------------------------------------------------//
481489// AVX: Convert BF16 to F32 and broadcast into packed F32
482490//----------------------------------------------------------------------------//
483491
484- def BcstBF16ToPackedF32Op : AVX_Op<"bcst.bf16_to_f32.packed", [Pure,
492+ def BcstBF16ToPackedF32Op : AVX_Op<"bcst.bf16_to_f32.packed", [
485493 DeclareOpInterfaceMethods<OneToOneIntrinsicOpInterface>]> {
486494 let summary = "AVX: Broadcasts BF16 into packed F32 Data.";
487495 let description = [{
@@ -497,7 +505,7 @@ def BcstBF16ToPackedF32Op : AVX_Op<"bcst.bf16_to_f32.packed", [Pure,
497505 %dst = x86vector.avx.bcst.bf16_to_f32.packed %a : !llvm.ptr -> vector<8xf32>
498506 ```
499507 }];
500- let arguments = (ins LLVM_AnyPointer :$a);
508+ let arguments = (ins AnyMemRef :$a);
501509 let results = (outs VectorOfLengthAndType<[4, 8], [F32]>:$dst);
502510 let assemblyFormat =
503511 "$a attr-dict`:` type($a)`->` type($dst)";
@@ -512,6 +520,11 @@ def BcstBF16ToPackedF32Op : AVX_Op<"bcst.bf16_to_f32.packed", [Pure,
512520 return intr;
513521 }
514522 }];
523+
524+ let extraClassDeclaration = [{
525+ SmallVector<Value> getIntrinsicOperands(::mlir::RewriterBase&, const LLVMTypeConverter&);
526+ }];
527+
515528}
516529
517530#endif // X86VECTOR_OPS
0 commit comments