1//===-- LLVMAVX512.td - LLVMAVX512 dialect op definitions --*- tablegen -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8// 9// This file defines the basic operations for the LLVMAVX512 dialect. 10// 11//===----------------------------------------------------------------------===// 12 13#ifndef LLVMIR_AVX512_OPS 14#define LLVMIR_AVX512_OPS 15 16include "mlir/Dialect/LLVMIR/LLVMOpBase.td" 17 18//===----------------------------------------------------------------------===// 19// LLVMAVX512 dialect definition 20//===----------------------------------------------------------------------===// 21 22def LLVMAVX512_Dialect : Dialect { 23 let name = "llvm_avx512"; 24 let cppNamespace = "::mlir::LLVM"; 25} 26 27//----------------------------------------------------------------------------// 28// MLIR LLVM AVX512 intrinsics using the MLIR LLVM Dialect type system 29//----------------------------------------------------------------------------// 30 31class LLVMAVX512_IntrOp<string mnemonic, list<OpTrait> traits = []> : 32 LLVM_IntrOpBase<LLVMAVX512_Dialect, mnemonic, 33 "x86_avx512_" # !subst(".", "_", mnemonic), 34 [], [], traits, 1>; 35 36def LLVM_x86_avx512_mask_rndscale_ps_512 : 37 LLVMAVX512_IntrOp<"mask.rndscale.ps.512">, 38 Arguments<(ins LLVM_Type, LLVM_Type, LLVM_Type, LLVM_Type, LLVM_Type)>; 39 40def LLVM_x86_avx512_mask_rndscale_pd_512 : 41 LLVMAVX512_IntrOp<"mask.rndscale.pd.512">, 42 Arguments<(ins LLVM_Type, LLVM_Type, LLVM_Type, LLVM_Type, LLVM_Type)>; 43 44def LLVM_x86_avx512_mask_scalef_ps_512 : 45 LLVMAVX512_IntrOp<"mask.scalef.ps.512">, 46 Arguments<(ins LLVM_Type, LLVM_Type, LLVM_Type, LLVM_Type, LLVM_Type)>; 47 48def LLVM_x86_avx512_mask_scalef_pd_512 : 49 LLVMAVX512_IntrOp<"mask.scalef.pd.512">, 50 Arguments<(ins LLVM_Type, LLVM_Type, LLVM_Type, LLVM_Type, LLVM_Type)>; 51 52#endif // AVX512_OPS 53