1//===-- RISCVInstrInfoZvfbf.td - 'Zvfbf*' instructions -----*- 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 describes the RISC-V instructions from the standard 'Zvfbfmin' 10// extension, providing vector conversion instructions for BFloat16. 11// This version is still experimental as the 'Zvfbfmin' extension hasn't been 12// ratified yet. 13// 14//===----------------------------------------------------------------------===// 15 16//===----------------------------------------------------------------------===// 17// Instructions 18//===----------------------------------------------------------------------===// 19 20let Predicates = [HasStdExtZvfbfmin], Constraints = "@earlyclobber $vd", 21 mayRaiseFPException = true in { 22let RVVConstraint = WidenCvt in 23defm VFWCVTBF16_F_F_V : VWCVTF_FV_VS2<"vfwcvtbf16.f.f.v", 0b010010, 0b01101>; 24let Uses = [FRM] in 25defm VFNCVTBF16_F_F_W : VNCVTF_FV_VS2<"vfncvtbf16.f.f.w", 0b010010, 0b11101>; 26} 27 28let Predicates = [HasStdExtZvfbfwma], Constraints = "@earlyclobber $vd", 29 RVVConstraint = WidenV, Uses = [FRM], mayRaiseFPException = true in { 30defm VFWMACCBF16_V : VWMAC_FV_V_F<"vfwmaccbf16", 0b111011>; 31} 32