//===- IntrinsicsRISCVXCV.td - CORE-V intrinsics -----------*- tablegen -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines all of the CORE-V vendor intrinsics for RISC-V. // //===----------------------------------------------------------------------===// class ScalarCoreVBitManipGprGprIntrinsic : DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>; class ScalarCoreVBitManipGprIntrinsic : DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>; let TargetPrefix = "riscv" in { def int_riscv_cv_bitmanip_extract : ScalarCoreVBitManipGprGprIntrinsic; def int_riscv_cv_bitmanip_extractu : ScalarCoreVBitManipGprGprIntrinsic; def int_riscv_cv_bitmanip_bclr : ScalarCoreVBitManipGprGprIntrinsic; def int_riscv_cv_bitmanip_bset : ScalarCoreVBitManipGprGprIntrinsic; def int_riscv_cv_bitmanip_insert : DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem, IntrSpeculatable]>; def int_riscv_cv_bitmanip_clb : ScalarCoreVBitManipGprIntrinsic; def int_riscv_cv_bitmanip_bitrev : DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem, IntrWillReturn, IntrSpeculatable, ImmArg>, ImmArg>]>; } // TargetPrefix = "riscv"