Created
May 26, 2017 12:34
-
-
Save anonymous/a25d3e3b4c14ee68d63bd1dcb0e1223c to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//===- IntrinsicsAARCH64.td - Defines AARCH64 intrinsics ---*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the AARCH64-specific intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
let TargetPrefix = "aarch64" in { | |
def int_aarch64_ldxr : Intrinsic<[llvm_i64_ty], [llvm_anyptr_ty]>; | |
def int_aarch64_ldaxr : Intrinsic<[llvm_i64_ty], [llvm_anyptr_ty]>; | |
def int_aarch64_stxr : Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_anyptr_ty]>; | |
def int_aarch64_stlxr : Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_anyptr_ty]>; | |
def int_aarch64_ldxp : Intrinsic<[llvm_i64_ty, llvm_i64_ty], [llvm_ptr_ty]>; | |
def int_aarch64_ldaxp : Intrinsic<[llvm_i64_ty, llvm_i64_ty], [llvm_ptr_ty]>; | |
def int_aarch64_stxp : Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_ptr_ty]>; | |
def int_aarch64_stlxp : Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_ptr_ty]>; | |
def int_aarch64_clrex : Intrinsic<[]>; | |
def int_aarch64_sdiv : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>, | |
LLVMMatchType<0>], [IntrNoMem]>; | |
def int_aarch64_udiv : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>, | |
LLVMMatchType<0>], [IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// HINT | |
def int_aarch64_hint : Intrinsic<[], [llvm_i32_ty]>; | |
//===----------------------------------------------------------------------===// | |
// RBIT | |
def int_aarch64_rbit : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>], | |
[IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// Data Barrier Instructions | |
def int_aarch64_dmb : GCCBuiltin<"__builtin_arm_dmb">, Intrinsic<[], [llvm_i32_ty]>; | |
def int_aarch64_dsb : GCCBuiltin<"__builtin_arm_dsb">, Intrinsic<[], [llvm_i32_ty]>; | |
def int_aarch64_isb : GCCBuiltin<"__builtin_arm_isb">, Intrinsic<[], [llvm_i32_ty]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// Advanced SIMD (NEON) | |
let TargetPrefix = "aarch64" in { // All intrinsics start with "llvm.aarch64.". | |
class AdvSIMD_2Scalar_Float_Intrinsic | |
: Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_FPToIntRounding_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], [llvm_anyfloat_ty], [IntrNoMem]>; | |
class AdvSIMD_1IntArg_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>], [IntrNoMem]>; | |
class AdvSIMD_1FloatArg_Intrinsic | |
: Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem]>; | |
class AdvSIMD_1VectorArg_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [LLVMMatchType<0>], [IntrNoMem]>; | |
class AdvSIMD_1VectorArg_Expand_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [llvm_anyvector_ty], [IntrNoMem]>; | |
class AdvSIMD_1VectorArg_Long_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [LLVMTruncatedType<0>], [IntrNoMem]>; | |
class AdvSIMD_1IntArg_Narrow_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], [llvm_anyint_ty], [IntrNoMem]>; | |
class AdvSIMD_1VectorArg_Narrow_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], [LLVMExtendedType<0>], [IntrNoMem]>; | |
class AdvSIMD_1VectorArg_Int_Across_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], [llvm_anyvector_ty], [IntrNoMem]>; | |
class AdvSIMD_1VectorArg_Float_Across_Intrinsic | |
: Intrinsic<[llvm_anyfloat_ty], [llvm_anyvector_ty], [IntrNoMem]>; | |
class AdvSIMD_2IntArg_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_2FloatArg_Intrinsic | |
: Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_2VectorArg_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_2VectorArg_Compare_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [llvm_anyvector_ty, LLVMMatchType<1>], | |
[IntrNoMem]>; | |
class AdvSIMD_2Arg_FloatCompare_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], [llvm_anyfloat_ty, LLVMMatchType<1>], | |
[IntrNoMem]>; | |
class AdvSIMD_2VectorArg_Long_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMTruncatedType<0>, LLVMTruncatedType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_2VectorArg_Wide_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, LLVMTruncatedType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_2VectorArg_Narrow_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMExtendedType<0>, LLVMExtendedType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_2Arg_Scalar_Narrow_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], | |
[LLVMExtendedType<0>, llvm_i32_ty], | |
[IntrNoMem]>; | |
class AdvSIMD_2VectorArg_Scalar_Expand_BySize_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[llvm_anyvector_ty], | |
[IntrNoMem]>; | |
class AdvSIMD_2VectorArg_Scalar_Wide_BySize_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMTruncatedType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_2VectorArg_Scalar_Wide_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMTruncatedType<0>, llvm_i32_ty], | |
[IntrNoMem]>; | |
class AdvSIMD_2VectorArg_Tied_Narrow_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMHalfElementsVectorType<0>, llvm_anyvector_ty], | |
[IntrNoMem]>; | |
class AdvSIMD_3VectorArg_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_3VectorArg_Scalar_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>, llvm_i32_ty], | |
[IntrNoMem]>; | |
class AdvSIMD_3VectorArg_Tied_Narrow_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMHalfElementsVectorType<0>, llvm_anyvector_ty, | |
LLVMMatchType<1>], [IntrNoMem]>; | |
class AdvSIMD_3VectorArg_Scalar_Tied_Narrow_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMHalfElementsVectorType<0>, llvm_anyvector_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
class AdvSIMD_CvtFxToFP_Intrinsic | |
: Intrinsic<[llvm_anyfloat_ty], [llvm_anyint_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
class AdvSIMD_CvtFPToFx_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], [llvm_anyfloat_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
} | |
// Arithmetic ops | |
let TargetPrefix = "aarch64", IntrProperties = [IntrNoMem] in { | |
// Vector Add Across Lanes | |
def int_aarch64_neon_saddv : AdvSIMD_1VectorArg_Int_Across_Intrinsic; | |
def int_aarch64_neon_uaddv : AdvSIMD_1VectorArg_Int_Across_Intrinsic; | |
def int_aarch64_neon_faddv : AdvSIMD_1VectorArg_Float_Across_Intrinsic; | |
// Vector Long Add Across Lanes | |
def int_aarch64_neon_saddlv : AdvSIMD_1VectorArg_Int_Across_Intrinsic; | |
def int_aarch64_neon_uaddlv : AdvSIMD_1VectorArg_Int_Across_Intrinsic; | |
// Vector Halving Add | |
def int_aarch64_neon_shadd : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_uhadd : AdvSIMD_2VectorArg_Intrinsic; | |
// Vector Rounding Halving Add | |
def int_aarch64_neon_srhadd : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_urhadd : AdvSIMD_2VectorArg_Intrinsic; | |
// Vector Saturating Add | |
def int_aarch64_neon_sqadd : AdvSIMD_2IntArg_Intrinsic; | |
def int_aarch64_neon_suqadd : AdvSIMD_2IntArg_Intrinsic; | |
def int_aarch64_neon_usqadd : AdvSIMD_2IntArg_Intrinsic; | |
def int_aarch64_neon_uqadd : AdvSIMD_2IntArg_Intrinsic; | |
// Vector Add High-Half | |
// FIXME: this is a legacy intrinsic for aarch64_simd.h. Remove it when that | |
// header is no longer supported. | |
def int_aarch64_neon_addhn : AdvSIMD_2VectorArg_Narrow_Intrinsic; | |
// Vector Rounding Add High-Half | |
def int_aarch64_neon_raddhn : AdvSIMD_2VectorArg_Narrow_Intrinsic; | |
// Vector Saturating Doubling Multiply High | |
def int_aarch64_neon_sqdmulh : AdvSIMD_2IntArg_Intrinsic; | |
// Vector Saturating Rounding Doubling Multiply High | |
def int_aarch64_neon_sqrdmulh : AdvSIMD_2IntArg_Intrinsic; | |
// Vector Polynominal Multiply | |
def int_aarch64_neon_pmul : AdvSIMD_2VectorArg_Intrinsic; | |
// Vector Long Multiply | |
def int_aarch64_neon_smull : AdvSIMD_2VectorArg_Long_Intrinsic; | |
def int_aarch64_neon_umull : AdvSIMD_2VectorArg_Long_Intrinsic; | |
def int_aarch64_neon_pmull : AdvSIMD_2VectorArg_Long_Intrinsic; | |
// 64-bit polynomial multiply really returns an i128, which is not legal. Fake | |
// it with a v16i8. | |
def int_aarch64_neon_pmull64 : | |
Intrinsic<[llvm_v16i8_ty], [llvm_i64_ty, llvm_i64_ty], [IntrNoMem]>; | |
// Vector Extending Multiply | |
def int_aarch64_neon_fmulx : AdvSIMD_2FloatArg_Intrinsic { | |
let IntrProperties = [IntrNoMem, Commutative]; | |
} | |
// Vector Saturating Doubling Long Multiply | |
def int_aarch64_neon_sqdmull : AdvSIMD_2VectorArg_Long_Intrinsic; | |
def int_aarch64_neon_sqdmulls_scalar | |
: Intrinsic<[llvm_i64_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
// Vector Halving Subtract | |
def int_aarch64_neon_shsub : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_uhsub : AdvSIMD_2VectorArg_Intrinsic; | |
// Vector Saturating Subtract | |
def int_aarch64_neon_sqsub : AdvSIMD_2IntArg_Intrinsic; | |
def int_aarch64_neon_uqsub : AdvSIMD_2IntArg_Intrinsic; | |
// Vector Subtract High-Half | |
// FIXME: this is a legacy intrinsic for aarch64_simd.h. Remove it when that | |
// header is no longer supported. | |
def int_aarch64_neon_subhn : AdvSIMD_2VectorArg_Narrow_Intrinsic; | |
// Vector Rounding Subtract High-Half | |
def int_aarch64_neon_rsubhn : AdvSIMD_2VectorArg_Narrow_Intrinsic; | |
// Vector Compare Absolute Greater-than-or-equal | |
def int_aarch64_neon_facge : AdvSIMD_2Arg_FloatCompare_Intrinsic; | |
// Vector Compare Absolute Greater-than | |
def int_aarch64_neon_facgt : AdvSIMD_2Arg_FloatCompare_Intrinsic; | |
// Vector Absolute Difference | |
def int_aarch64_neon_sabd : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_uabd : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_fabd : AdvSIMD_2VectorArg_Intrinsic; | |
// Scalar Absolute Difference | |
def int_aarch64_sisd_fabd : AdvSIMD_2Scalar_Float_Intrinsic; | |
// Vector Max | |
def int_aarch64_neon_smax : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_umax : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_fmax : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_fmaxnmp : AdvSIMD_2VectorArg_Intrinsic; | |
// Vector Max Across Lanes | |
def int_aarch64_neon_smaxv : AdvSIMD_1VectorArg_Int_Across_Intrinsic; | |
def int_aarch64_neon_umaxv : AdvSIMD_1VectorArg_Int_Across_Intrinsic; | |
def int_aarch64_neon_fmaxv : AdvSIMD_1VectorArg_Float_Across_Intrinsic; | |
def int_aarch64_neon_fmaxnmv : AdvSIMD_1VectorArg_Float_Across_Intrinsic; | |
// Vector Min | |
def int_aarch64_neon_smin : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_umin : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_fmin : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_fminnmp : AdvSIMD_2VectorArg_Intrinsic; | |
// Vector Min/Max Number | |
def int_aarch64_neon_fminnm : AdvSIMD_2FloatArg_Intrinsic; | |
def int_aarch64_neon_fmaxnm : AdvSIMD_2FloatArg_Intrinsic; | |
// Vector Min Across Lanes | |
def int_aarch64_neon_sminv : AdvSIMD_1VectorArg_Int_Across_Intrinsic; | |
def int_aarch64_neon_uminv : AdvSIMD_1VectorArg_Int_Across_Intrinsic; | |
def int_aarch64_neon_fminv : AdvSIMD_1VectorArg_Float_Across_Intrinsic; | |
def int_aarch64_neon_fminnmv : AdvSIMD_1VectorArg_Float_Across_Intrinsic; | |
// Pairwise Add | |
def int_aarch64_neon_addp : AdvSIMD_2VectorArg_Intrinsic; | |
// Long Pairwise Add | |
// FIXME: In theory, we shouldn't need intrinsics for saddlp or | |
// uaddlp, but tblgen's type inference currently can't handle the | |
// pattern fragments this ends up generating. | |
def int_aarch64_neon_saddlp : AdvSIMD_1VectorArg_Expand_Intrinsic; | |
def int_aarch64_neon_uaddlp : AdvSIMD_1VectorArg_Expand_Intrinsic; | |
// Folding Maximum | |
def int_aarch64_neon_smaxp : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_umaxp : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_fmaxp : AdvSIMD_2VectorArg_Intrinsic; | |
// Folding Minimum | |
def int_aarch64_neon_sminp : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_uminp : AdvSIMD_2VectorArg_Intrinsic; | |
def int_aarch64_neon_fminp : AdvSIMD_2VectorArg_Intrinsic; | |
// Reciprocal Estimate/Step | |
def int_aarch64_neon_frecps : AdvSIMD_2FloatArg_Intrinsic; | |
def int_aarch64_neon_frsqrts : AdvSIMD_2FloatArg_Intrinsic; | |
// Reciprocal Exponent | |
def int_aarch64_neon_frecpx : AdvSIMD_1FloatArg_Intrinsic; | |
// Vector Saturating Shift Left | |
def int_aarch64_neon_sqshl : AdvSIMD_2IntArg_Intrinsic; | |
def int_aarch64_neon_uqshl : AdvSIMD_2IntArg_Intrinsic; | |
// Vector Rounding Shift Left | |
def int_aarch64_neon_srshl : AdvSIMD_2IntArg_Intrinsic; | |
def int_aarch64_neon_urshl : AdvSIMD_2IntArg_Intrinsic; | |
// Vector Saturating Rounding Shift Left | |
def int_aarch64_neon_sqrshl : AdvSIMD_2IntArg_Intrinsic; | |
def int_aarch64_neon_uqrshl : AdvSIMD_2IntArg_Intrinsic; | |
// Vector Signed->Unsigned Shift Left by Constant | |
def int_aarch64_neon_sqshlu : AdvSIMD_2IntArg_Intrinsic; | |
// Vector Signed->Unsigned Narrowing Saturating Shift Right by Constant | |
def int_aarch64_neon_sqshrun : AdvSIMD_2Arg_Scalar_Narrow_Intrinsic; | |
// Vector Signed->Unsigned Rounding Narrowing Saturating Shift Right by Const | |
def int_aarch64_neon_sqrshrun : AdvSIMD_2Arg_Scalar_Narrow_Intrinsic; | |
// Vector Narrowing Shift Right by Constant | |
def int_aarch64_neon_sqshrn : AdvSIMD_2Arg_Scalar_Narrow_Intrinsic; | |
def int_aarch64_neon_uqshrn : AdvSIMD_2Arg_Scalar_Narrow_Intrinsic; | |
// Vector Rounding Narrowing Shift Right by Constant | |
def int_aarch64_neon_rshrn : AdvSIMD_2Arg_Scalar_Narrow_Intrinsic; | |
// Vector Rounding Narrowing Saturating Shift Right by Constant | |
def int_aarch64_neon_sqrshrn : AdvSIMD_2Arg_Scalar_Narrow_Intrinsic; | |
def int_aarch64_neon_uqrshrn : AdvSIMD_2Arg_Scalar_Narrow_Intrinsic; | |
// Vector Shift Left | |
def int_aarch64_neon_sshl : AdvSIMD_2IntArg_Intrinsic; | |
def int_aarch64_neon_ushl : AdvSIMD_2IntArg_Intrinsic; | |
// Vector Widening Shift Left by Constant | |
def int_aarch64_neon_shll : AdvSIMD_2VectorArg_Scalar_Wide_BySize_Intrinsic; | |
def int_aarch64_neon_sshll : AdvSIMD_2VectorArg_Scalar_Wide_Intrinsic; | |
def int_aarch64_neon_ushll : AdvSIMD_2VectorArg_Scalar_Wide_Intrinsic; | |
// Vector Shift Right by Constant and Insert | |
def int_aarch64_neon_vsri : AdvSIMD_3VectorArg_Scalar_Intrinsic; | |
// Vector Shift Left by Constant and Insert | |
def int_aarch64_neon_vsli : AdvSIMD_3VectorArg_Scalar_Intrinsic; | |
// Vector Saturating Narrow | |
def int_aarch64_neon_scalar_sqxtn: AdvSIMD_1IntArg_Narrow_Intrinsic; | |
def int_aarch64_neon_scalar_uqxtn : AdvSIMD_1IntArg_Narrow_Intrinsic; | |
def int_aarch64_neon_sqxtn : AdvSIMD_1VectorArg_Narrow_Intrinsic; | |
def int_aarch64_neon_uqxtn : AdvSIMD_1VectorArg_Narrow_Intrinsic; | |
// Vector Saturating Extract and Unsigned Narrow | |
def int_aarch64_neon_scalar_sqxtun : AdvSIMD_1IntArg_Narrow_Intrinsic; | |
def int_aarch64_neon_sqxtun : AdvSIMD_1VectorArg_Narrow_Intrinsic; | |
// Vector Absolute Value | |
def int_aarch64_neon_abs : AdvSIMD_1IntArg_Intrinsic; | |
// Vector Saturating Absolute Value | |
def int_aarch64_neon_sqabs : AdvSIMD_1IntArg_Intrinsic; | |
// Vector Saturating Negation | |
def int_aarch64_neon_sqneg : AdvSIMD_1IntArg_Intrinsic; | |
// Vector Count Leading Sign Bits | |
def int_aarch64_neon_cls : AdvSIMD_1VectorArg_Intrinsic; | |
// Vector Reciprocal Estimate | |
def int_aarch64_neon_urecpe : AdvSIMD_1VectorArg_Intrinsic; | |
def int_aarch64_neon_frecpe : AdvSIMD_1FloatArg_Intrinsic; | |
// Vector Square Root Estimate | |
def int_aarch64_neon_ursqrte : AdvSIMD_1VectorArg_Intrinsic; | |
def int_aarch64_neon_frsqrte : AdvSIMD_1FloatArg_Intrinsic; | |
// Vector Bitwise Reverse | |
def int_aarch64_neon_rbit : AdvSIMD_1VectorArg_Intrinsic; | |
// Vector Conversions Between Half-Precision and Single-Precision. | |
def int_aarch64_neon_vcvtfp2hf | |
: Intrinsic<[llvm_v4i16_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_aarch64_neon_vcvthf2fp | |
: Intrinsic<[llvm_v4f32_ty], [llvm_v4i16_ty], [IntrNoMem]>; | |
// Vector Conversions Between Floating-point and Fixed-point. | |
def int_aarch64_neon_vcvtfp2fxs : AdvSIMD_CvtFPToFx_Intrinsic; | |
def int_aarch64_neon_vcvtfp2fxu : AdvSIMD_CvtFPToFx_Intrinsic; | |
def int_aarch64_neon_vcvtfxs2fp : AdvSIMD_CvtFxToFP_Intrinsic; | |
def int_aarch64_neon_vcvtfxu2fp : AdvSIMD_CvtFxToFP_Intrinsic; | |
// Vector FP->Int Conversions | |
def int_aarch64_neon_fcvtas : AdvSIMD_FPToIntRounding_Intrinsic; | |
def int_aarch64_neon_fcvtau : AdvSIMD_FPToIntRounding_Intrinsic; | |
def int_aarch64_neon_fcvtms : AdvSIMD_FPToIntRounding_Intrinsic; | |
def int_aarch64_neon_fcvtmu : AdvSIMD_FPToIntRounding_Intrinsic; | |
def int_aarch64_neon_fcvtns : AdvSIMD_FPToIntRounding_Intrinsic; | |
def int_aarch64_neon_fcvtnu : AdvSIMD_FPToIntRounding_Intrinsic; | |
def int_aarch64_neon_fcvtps : AdvSIMD_FPToIntRounding_Intrinsic; | |
def int_aarch64_neon_fcvtpu : AdvSIMD_FPToIntRounding_Intrinsic; | |
def int_aarch64_neon_fcvtzs : AdvSIMD_FPToIntRounding_Intrinsic; | |
def int_aarch64_neon_fcvtzu : AdvSIMD_FPToIntRounding_Intrinsic; | |
// Vector FP Rounding: only ties to even is unrepresented by a normal | |
// intrinsic. | |
def int_aarch64_neon_frintn : AdvSIMD_1FloatArg_Intrinsic; | |
// Scalar FP->Int conversions | |
// Vector FP Inexact Narrowing | |
def int_aarch64_neon_fcvtxn : AdvSIMD_1VectorArg_Expand_Intrinsic; | |
// Scalar FP Inexact Narrowing | |
def int_aarch64_sisd_fcvtxn : Intrinsic<[llvm_float_ty], [llvm_double_ty], | |
[IntrNoMem]>; | |
} | |
let TargetPrefix = "aarch64" in { // All intrinsics start with "llvm.aarch64.". | |
class AdvSIMD_2Vector2Index_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[llvm_anyvector_ty, llvm_i64_ty, LLVMMatchType<0>, llvm_i64_ty], | |
[IntrNoMem]>; | |
} | |
// Vector element to element moves | |
def int_aarch64_neon_vcopy_lane: AdvSIMD_2Vector2Index_Intrinsic; | |
let TargetPrefix = "aarch64" in { // All intrinsics start with "llvm.aarch64.". | |
class AdvSIMD_1Vec_Load_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [LLVMAnyPointerType<LLVMMatchType<0>>], | |
[IntrReadMem, IntrArgMemOnly]>; | |
class AdvSIMD_1Vec_Store_Lane_Intrinsic | |
: Intrinsic<[], [llvm_anyvector_ty, llvm_i64_ty, llvm_anyptr_ty], | |
[IntrArgMemOnly, NoCapture<2>]>; | |
class AdvSIMD_2Vec_Load_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>], | |
[LLVMAnyPointerType<LLVMMatchType<0>>], | |
[IntrReadMem, IntrArgMemOnly]>; | |
class AdvSIMD_2Vec_Load_Lane_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>], | |
[LLVMMatchType<0>, LLVMMatchType<0>, | |
llvm_i64_ty, llvm_anyptr_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
class AdvSIMD_2Vec_Store_Intrinsic | |
: Intrinsic<[], [llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMAnyPointerType<LLVMMatchType<0>>], | |
[IntrArgMemOnly, NoCapture<2>]>; | |
class AdvSIMD_2Vec_Store_Lane_Intrinsic | |
: Intrinsic<[], [llvm_anyvector_ty, LLVMMatchType<0>, | |
llvm_i64_ty, llvm_anyptr_ty], | |
[IntrArgMemOnly, NoCapture<3>]>; | |
class AdvSIMD_3Vec_Load_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, LLVMMatchType<0>], | |
[LLVMAnyPointerType<LLVMMatchType<0>>], | |
[IntrReadMem, IntrArgMemOnly]>; | |
class AdvSIMD_3Vec_Load_Lane_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, LLVMMatchType<0>], | |
[LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>, | |
llvm_i64_ty, llvm_anyptr_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
class AdvSIMD_3Vec_Store_Intrinsic | |
: Intrinsic<[], [llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMAnyPointerType<LLVMMatchType<0>>], | |
[IntrArgMemOnly, NoCapture<3>]>; | |
class AdvSIMD_3Vec_Store_Lane_Intrinsic | |
: Intrinsic<[], [llvm_anyvector_ty, | |
LLVMMatchType<0>, LLVMMatchType<0>, | |
llvm_i64_ty, llvm_anyptr_ty], | |
[IntrArgMemOnly, NoCapture<4>]>; | |
class AdvSIMD_4Vec_Load_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMMatchType<0>], | |
[LLVMAnyPointerType<LLVMMatchType<0>>], | |
[IntrReadMem, IntrArgMemOnly]>; | |
class AdvSIMD_4Vec_Load_Lane_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMMatchType<0>], | |
[LLVMMatchType<0>, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMMatchType<0>, | |
llvm_i64_ty, llvm_anyptr_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
class AdvSIMD_4Vec_Store_Intrinsic | |
: Intrinsic<[], [llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMMatchType<0>, | |
LLVMAnyPointerType<LLVMMatchType<0>>], | |
[IntrArgMemOnly, NoCapture<4>]>; | |
class AdvSIMD_4Vec_Store_Lane_Intrinsic | |
: Intrinsic<[], [llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMMatchType<0>, | |
llvm_i64_ty, llvm_anyptr_ty], | |
[IntrArgMemOnly, NoCapture<5>]>; | |
} | |
// Memory ops | |
def int_aarch64_neon_ld1x2 : AdvSIMD_2Vec_Load_Intrinsic; | |
def int_aarch64_neon_ld1x3 : AdvSIMD_3Vec_Load_Intrinsic; | |
def int_aarch64_neon_ld1x4 : AdvSIMD_4Vec_Load_Intrinsic; | |
def int_aarch64_neon_st1x2 : AdvSIMD_2Vec_Store_Intrinsic; | |
def int_aarch64_neon_st1x3 : AdvSIMD_3Vec_Store_Intrinsic; | |
def int_aarch64_neon_st1x4 : AdvSIMD_4Vec_Store_Intrinsic; | |
def int_aarch64_neon_ld2 : AdvSIMD_2Vec_Load_Intrinsic; | |
def int_aarch64_neon_ld3 : AdvSIMD_3Vec_Load_Intrinsic; | |
def int_aarch64_neon_ld4 : AdvSIMD_4Vec_Load_Intrinsic; | |
def int_aarch64_neon_ld2lane : AdvSIMD_2Vec_Load_Lane_Intrinsic; | |
def int_aarch64_neon_ld3lane : AdvSIMD_3Vec_Load_Lane_Intrinsic; | |
def int_aarch64_neon_ld4lane : AdvSIMD_4Vec_Load_Lane_Intrinsic; | |
def int_aarch64_neon_ld2r : AdvSIMD_2Vec_Load_Intrinsic; | |
def int_aarch64_neon_ld3r : AdvSIMD_3Vec_Load_Intrinsic; | |
def int_aarch64_neon_ld4r : AdvSIMD_4Vec_Load_Intrinsic; | |
def int_aarch64_neon_st2 : AdvSIMD_2Vec_Store_Intrinsic; | |
def int_aarch64_neon_st3 : AdvSIMD_3Vec_Store_Intrinsic; | |
def int_aarch64_neon_st4 : AdvSIMD_4Vec_Store_Intrinsic; | |
def int_aarch64_neon_st2lane : AdvSIMD_2Vec_Store_Lane_Intrinsic; | |
def int_aarch64_neon_st3lane : AdvSIMD_3Vec_Store_Lane_Intrinsic; | |
def int_aarch64_neon_st4lane : AdvSIMD_4Vec_Store_Lane_Intrinsic; | |
let TargetPrefix = "aarch64" in { // All intrinsics start with "llvm.aarch64.". | |
class AdvSIMD_Tbl1_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [llvm_v16i8_ty, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_Tbl2_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, LLVMMatchType<0>], [IntrNoMem]>; | |
class AdvSIMD_Tbl3_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty, | |
LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_Tbl4_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty, | |
LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_Tbx1_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, llvm_v16i8_ty, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_Tbx2_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, llvm_v16i8_ty, llvm_v16i8_ty, | |
LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_Tbx3_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, llvm_v16i8_ty, llvm_v16i8_ty, | |
llvm_v16i8_ty, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class AdvSIMD_Tbx4_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, llvm_v16i8_ty, llvm_v16i8_ty, | |
llvm_v16i8_ty, llvm_v16i8_ty, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
} | |
def int_aarch64_neon_tbl1 : AdvSIMD_Tbl1_Intrinsic; | |
def int_aarch64_neon_tbl2 : AdvSIMD_Tbl2_Intrinsic; | |
def int_aarch64_neon_tbl3 : AdvSIMD_Tbl3_Intrinsic; | |
def int_aarch64_neon_tbl4 : AdvSIMD_Tbl4_Intrinsic; | |
def int_aarch64_neon_tbx1 : AdvSIMD_Tbx1_Intrinsic; | |
def int_aarch64_neon_tbx2 : AdvSIMD_Tbx2_Intrinsic; | |
def int_aarch64_neon_tbx3 : AdvSIMD_Tbx3_Intrinsic; | |
def int_aarch64_neon_tbx4 : AdvSIMD_Tbx4_Intrinsic; | |
let TargetPrefix = "aarch64" in { | |
class Crypto_AES_DataKey_Intrinsic | |
: Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
class Crypto_AES_Data_Intrinsic | |
: Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
// SHA intrinsic taking 5 words of the hash (v4i32, i32) and 4 of the schedule | |
// (v4i32). | |
class Crypto_SHA_5Hash4Schedule_Intrinsic | |
: Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
// SHA intrinsic taking 5 words of the hash (v4i32, i32) and 4 of the schedule | |
// (v4i32). | |
class Crypto_SHA_1Hash_Intrinsic | |
: Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
// SHA intrinsic taking 8 words of the schedule | |
class Crypto_SHA_8Schedule_Intrinsic | |
: Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
// SHA intrinsic taking 12 words of the schedule | |
class Crypto_SHA_12Schedule_Intrinsic | |
: Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
// SHA intrinsic taking 8 words of the hash and 4 of the schedule. | |
class Crypto_SHA_8Hash4Schedule_Intrinsic | |
: Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
} | |
// AES | |
def int_aarch64_crypto_aese : Crypto_AES_DataKey_Intrinsic; | |
def int_aarch64_crypto_aesd : Crypto_AES_DataKey_Intrinsic; | |
def int_aarch64_crypto_aesmc : Crypto_AES_Data_Intrinsic; | |
def int_aarch64_crypto_aesimc : Crypto_AES_Data_Intrinsic; | |
// SHA1 | |
def int_aarch64_crypto_sha1c : Crypto_SHA_5Hash4Schedule_Intrinsic; | |
def int_aarch64_crypto_sha1p : Crypto_SHA_5Hash4Schedule_Intrinsic; | |
def int_aarch64_crypto_sha1m : Crypto_SHA_5Hash4Schedule_Intrinsic; | |
def int_aarch64_crypto_sha1h : Crypto_SHA_1Hash_Intrinsic; | |
def int_aarch64_crypto_sha1su0 : Crypto_SHA_12Schedule_Intrinsic; | |
def int_aarch64_crypto_sha1su1 : Crypto_SHA_8Schedule_Intrinsic; | |
// SHA256 | |
def int_aarch64_crypto_sha256h : Crypto_SHA_8Hash4Schedule_Intrinsic; | |
def int_aarch64_crypto_sha256h2 : Crypto_SHA_8Hash4Schedule_Intrinsic; | |
def int_aarch64_crypto_sha256su0 : Crypto_SHA_8Schedule_Intrinsic; | |
def int_aarch64_crypto_sha256su1 : Crypto_SHA_12Schedule_Intrinsic; | |
//===----------------------------------------------------------------------===// | |
// CRC32 | |
let TargetPrefix = "aarch64" in { | |
def int_aarch64_crc32b : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_aarch64_crc32cb : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_aarch64_crc32h : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_aarch64_crc32ch : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_aarch64_crc32w : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_aarch64_crc32cw : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_aarch64_crc32x : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
def int_aarch64_crc32cx : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
} | |
//===- IntrinsicsAMDGPU.td - Defines AMDGPU intrinsics -----*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the R600-specific intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
class AMDGPUReadPreloadRegisterIntrinsic | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>; | |
class AMDGPUReadPreloadRegisterIntrinsicNamed<string name> | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, GCCBuiltin<name>; | |
let TargetPrefix = "r600" in { | |
multiclass AMDGPUReadPreloadRegisterIntrinsic_xyz { | |
def _x : AMDGPUReadPreloadRegisterIntrinsic; | |
def _y : AMDGPUReadPreloadRegisterIntrinsic; | |
def _z : AMDGPUReadPreloadRegisterIntrinsic; | |
} | |
multiclass AMDGPUReadPreloadRegisterIntrinsic_xyz_named<string prefix> { | |
def _x : AMDGPUReadPreloadRegisterIntrinsicNamed<!strconcat(prefix, "_x")>; | |
def _y : AMDGPUReadPreloadRegisterIntrinsicNamed<!strconcat(prefix, "_y")>; | |
def _z : AMDGPUReadPreloadRegisterIntrinsicNamed<!strconcat(prefix, "_z")>; | |
} | |
defm int_r600_read_global_size : AMDGPUReadPreloadRegisterIntrinsic_xyz_named | |
<"__builtin_r600_read_global_size">; | |
defm int_r600_read_ngroups : AMDGPUReadPreloadRegisterIntrinsic_xyz_named | |
<"__builtin_r600_read_ngroups">; | |
defm int_r600_read_tgid : AMDGPUReadPreloadRegisterIntrinsic_xyz_named | |
<"__builtin_r600_read_tgid">; | |
defm int_r600_read_local_size : AMDGPUReadPreloadRegisterIntrinsic_xyz; | |
defm int_r600_read_tidig : AMDGPUReadPreloadRegisterIntrinsic_xyz; | |
def int_r600_group_barrier : GCCBuiltin<"__builtin_r600_group_barrier">, | |
Intrinsic<[], [], [IntrConvergent]>; | |
// AS 7 is PARAM_I_ADDRESS, used for kernel arguments | |
def int_r600_implicitarg_ptr : | |
GCCBuiltin<"__builtin_r600_implicitarg_ptr">, | |
Intrinsic<[LLVMQualPointerType<llvm_i8_ty, 7>], [], [IntrNoMem]>; | |
def int_r600_rat_store_typed : | |
// 1st parameter: Data | |
// 2nd parameter: Index | |
// 3rd parameter: Constant RAT ID | |
Intrinsic<[], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i32_ty], []>, | |
GCCBuiltin<"__builtin_r600_rat_store_typed">; | |
def int_r600_recipsqrt_ieee : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem] | |
>; | |
def int_r600_recipsqrt_clamped : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem] | |
>; | |
} // End TargetPrefix = "r600" | |
let TargetPrefix = "amdgcn" in { | |
//===----------------------------------------------------------------------===// | |
// ABI Special Intrinsics | |
//===----------------------------------------------------------------------===// | |
defm int_amdgcn_workitem_id : AMDGPUReadPreloadRegisterIntrinsic_xyz; | |
defm int_amdgcn_workgroup_id : AMDGPUReadPreloadRegisterIntrinsic_xyz_named | |
<"__builtin_amdgcn_workgroup_id">; | |
def int_amdgcn_dispatch_ptr : | |
GCCBuiltin<"__builtin_amdgcn_dispatch_ptr">, | |
Intrinsic<[LLVMQualPointerType<llvm_i8_ty, 2>], [], [IntrNoMem]>; | |
def int_amdgcn_queue_ptr : | |
GCCBuiltin<"__builtin_amdgcn_queue_ptr">, | |
Intrinsic<[LLVMQualPointerType<llvm_i8_ty, 2>], [], [IntrNoMem]>; | |
def int_amdgcn_kernarg_segment_ptr : | |
GCCBuiltin<"__builtin_amdgcn_kernarg_segment_ptr">, | |
Intrinsic<[LLVMQualPointerType<llvm_i8_ty, 2>], [], [IntrNoMem]>; | |
def int_amdgcn_implicitarg_ptr : | |
GCCBuiltin<"__builtin_amdgcn_implicitarg_ptr">, | |
Intrinsic<[LLVMQualPointerType<llvm_i8_ty, 2>], [], [IntrNoMem]>; | |
def int_amdgcn_groupstaticsize : | |
GCCBuiltin<"__builtin_amdgcn_groupstaticsize">, | |
Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>; | |
def int_amdgcn_dispatch_id : | |
GCCBuiltin<"__builtin_amdgcn_dispatch_id">, | |
Intrinsic<[llvm_i64_ty], [], [IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// Instruction Intrinsics | |
//===----------------------------------------------------------------------===// | |
def int_amdgcn_s_barrier : GCCBuiltin<"__builtin_amdgcn_s_barrier">, | |
Intrinsic<[], [], [IntrConvergent]>; | |
def int_amdgcn_wave_barrier : GCCBuiltin<"__builtin_amdgcn_wave_barrier">, | |
Intrinsic<[], [], [IntrConvergent]>; | |
def int_amdgcn_s_waitcnt : Intrinsic<[], [llvm_i32_ty], []>; | |
def int_amdgcn_div_scale : Intrinsic< | |
// 1st parameter: Numerator | |
// 2nd parameter: Denominator | |
// 3rd parameter: Constant to select select between first and | |
// second. (0 = first, 1 = second). | |
[llvm_anyfloat_ty, llvm_i1_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>, llvm_i1_ty], | |
[IntrNoMem] | |
>; | |
def int_amdgcn_div_fmas : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>, llvm_i1_ty], | |
[IntrNoMem] | |
>; | |
def int_amdgcn_div_fixup : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem] | |
>; | |
def int_amdgcn_trig_preop : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>, llvm_i32_ty], [IntrNoMem] | |
>; | |
def int_amdgcn_sin : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem] | |
>; | |
def int_amdgcn_cos : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem] | |
>; | |
def int_amdgcn_log_clamp : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem] | |
>; | |
def int_amdgcn_fmul_legacy : GCCBuiltin<"__builtin_amdgcn_fmul_legacy">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], [IntrNoMem] | |
>; | |
def int_amdgcn_rcp : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem] | |
>; | |
def int_amdgcn_rcp_legacy : GCCBuiltin<"__builtin_amdgcn_rcp_legacy">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem] | |
>; | |
def int_amdgcn_rsq : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem] | |
>; | |
def int_amdgcn_rsq_legacy : GCCBuiltin<"__builtin_amdgcn_rsq_legacy">, | |
Intrinsic< | |
[llvm_float_ty], [llvm_float_ty], [IntrNoMem] | |
>; | |
def int_amdgcn_rsq_clamp : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem]>; | |
def int_amdgcn_ldexp : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>, llvm_i32_ty], [IntrNoMem] | |
>; | |
def int_amdgcn_frexp_mant : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem] | |
>; | |
def int_amdgcn_frexp_exp : Intrinsic< | |
[llvm_anyint_ty], [llvm_anyfloat_ty], [IntrNoMem] | |
>; | |
// v_fract is buggy on SI/CI. It mishandles infinities, may return 1.0 | |
// and always uses rtz, so is not suitable for implementing the OpenCL | |
// fract function. It should be ok on VI. | |
def int_amdgcn_fract : Intrinsic< | |
[llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem] | |
>; | |
def int_amdgcn_class : Intrinsic< | |
[llvm_i1_ty], [llvm_anyfloat_ty, llvm_i32_ty], [IntrNoMem] | |
>; | |
def int_amdgcn_cubeid : GCCBuiltin<"__builtin_amdgcn_cubeid">, | |
Intrinsic<[llvm_float_ty], | |
[llvm_float_ty, llvm_float_ty, llvm_float_ty], [IntrNoMem] | |
>; | |
def int_amdgcn_cubema : GCCBuiltin<"__builtin_amdgcn_cubema">, | |
Intrinsic<[llvm_float_ty], | |
[llvm_float_ty, llvm_float_ty, llvm_float_ty], [IntrNoMem] | |
>; | |
def int_amdgcn_cubesc : GCCBuiltin<"__builtin_amdgcn_cubesc">, | |
Intrinsic<[llvm_float_ty], | |
[llvm_float_ty, llvm_float_ty, llvm_float_ty], [IntrNoMem] | |
>; | |
def int_amdgcn_cubetc : GCCBuiltin<"__builtin_amdgcn_cubetc">, | |
Intrinsic<[llvm_float_ty], | |
[llvm_float_ty, llvm_float_ty, llvm_float_ty], [IntrNoMem] | |
>; | |
// v_ffbh_i32, as opposed to v_ffbh_u32. For v_ffbh_u32, llvm.ctlz | |
// should be used. | |
def int_amdgcn_sffbh : | |
Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>], [IntrNoMem]>; | |
// TODO: Do we want an ordering for these? | |
def int_amdgcn_atomic_inc : Intrinsic<[llvm_anyint_ty], | |
[llvm_anyptr_ty, LLVMMatchType<0>], | |
[IntrArgMemOnly, NoCapture<0>] | |
>; | |
def int_amdgcn_atomic_dec : Intrinsic<[llvm_anyint_ty], | |
[llvm_anyptr_ty, LLVMMatchType<0>], | |
[IntrArgMemOnly, NoCapture<0>] | |
>; | |
class AMDGPUImageLoad : Intrinsic < | |
[llvm_anyfloat_ty], // vdata(VGPR) | |
[llvm_anyint_ty, // vaddr(VGPR) | |
llvm_anyint_ty, // rsrc(SGPR) | |
llvm_i32_ty, // dmask(imm) | |
llvm_i1_ty, // glc(imm) | |
llvm_i1_ty, // slc(imm) | |
llvm_i1_ty, // lwe(imm) | |
llvm_i1_ty], // da(imm) | |
[IntrReadMem]>; | |
def int_amdgcn_image_load : AMDGPUImageLoad; | |
def int_amdgcn_image_load_mip : AMDGPUImageLoad; | |
def int_amdgcn_image_getresinfo : AMDGPUImageLoad; | |
class AMDGPUImageStore : Intrinsic < | |
[], | |
[llvm_anyfloat_ty, // vdata(VGPR) | |
llvm_anyint_ty, // vaddr(VGPR) | |
llvm_anyint_ty, // rsrc(SGPR) | |
llvm_i32_ty, // dmask(imm) | |
llvm_i1_ty, // glc(imm) | |
llvm_i1_ty, // slc(imm) | |
llvm_i1_ty, // lwe(imm) | |
llvm_i1_ty], // da(imm) | |
[]>; | |
def int_amdgcn_image_store : AMDGPUImageStore; | |
def int_amdgcn_image_store_mip : AMDGPUImageStore; | |
class AMDGPUImageSample : Intrinsic < | |
[llvm_anyfloat_ty], // vdata(VGPR) | |
[llvm_anyfloat_ty, // vaddr(VGPR) | |
llvm_anyint_ty, // rsrc(SGPR) | |
llvm_v4i32_ty, // sampler(SGPR) | |
llvm_i32_ty, // dmask(imm) | |
llvm_i1_ty, // unorm(imm) | |
llvm_i1_ty, // glc(imm) | |
llvm_i1_ty, // slc(imm) | |
llvm_i1_ty, // lwe(imm) | |
llvm_i1_ty], // da(imm) | |
[IntrReadMem]>; | |
// Basic sample | |
def int_amdgcn_image_sample : AMDGPUImageSample; | |
def int_amdgcn_image_sample_cl : AMDGPUImageSample; | |
def int_amdgcn_image_sample_d : AMDGPUImageSample; | |
def int_amdgcn_image_sample_d_cl : AMDGPUImageSample; | |
def int_amdgcn_image_sample_l : AMDGPUImageSample; | |
def int_amdgcn_image_sample_b : AMDGPUImageSample; | |
def int_amdgcn_image_sample_b_cl : AMDGPUImageSample; | |
def int_amdgcn_image_sample_lz : AMDGPUImageSample; | |
def int_amdgcn_image_sample_cd : AMDGPUImageSample; | |
def int_amdgcn_image_sample_cd_cl : AMDGPUImageSample; | |
// Sample with comparison | |
def int_amdgcn_image_sample_c : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_cl : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_d : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_d_cl : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_l : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_b : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_b_cl : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_lz : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_cd : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_cd_cl : AMDGPUImageSample; | |
// Sample with offsets | |
def int_amdgcn_image_sample_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_d_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_d_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_l_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_b_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_b_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_lz_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_cd_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_cd_cl_o : AMDGPUImageSample; | |
// Sample with comparison and offsets | |
def int_amdgcn_image_sample_c_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_d_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_d_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_l_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_b_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_b_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_lz_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_cd_o : AMDGPUImageSample; | |
def int_amdgcn_image_sample_c_cd_cl_o : AMDGPUImageSample; | |
// Basic gather4 | |
def int_amdgcn_image_gather4 : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_cl : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_l : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_b : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_b_cl : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_lz : AMDGPUImageSample; | |
// Gather4 with comparison | |
def int_amdgcn_image_gather4_c : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_cl : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_l : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_b : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_b_cl : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_lz : AMDGPUImageSample; | |
// Gather4 with offsets | |
def int_amdgcn_image_gather4_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_l_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_b_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_b_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_lz_o : AMDGPUImageSample; | |
// Gather4 with comparison and offsets | |
def int_amdgcn_image_gather4_c_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_l_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_b_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_b_cl_o : AMDGPUImageSample; | |
def int_amdgcn_image_gather4_c_lz_o : AMDGPUImageSample; | |
def int_amdgcn_image_getlod : AMDGPUImageSample; | |
class AMDGPUImageAtomic : Intrinsic < | |
[llvm_i32_ty], | |
[llvm_i32_ty, // vdata(VGPR) | |
llvm_anyint_ty, // vaddr(VGPR) | |
llvm_v8i32_ty, // rsrc(SGPR) | |
llvm_i1_ty, // r128(imm) | |
llvm_i1_ty, // da(imm) | |
llvm_i1_ty], // slc(imm) | |
[]>; | |
def int_amdgcn_image_atomic_swap : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_add : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_sub : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_smin : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_umin : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_smax : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_umax : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_and : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_or : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_xor : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_inc : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_dec : AMDGPUImageAtomic; | |
def int_amdgcn_image_atomic_cmpswap : Intrinsic < | |
[llvm_i32_ty], | |
[llvm_i32_ty, // src(VGPR) | |
llvm_i32_ty, // cmp(VGPR) | |
llvm_anyint_ty, // vaddr(VGPR) | |
llvm_v8i32_ty, // rsrc(SGPR) | |
llvm_i1_ty, // r128(imm) | |
llvm_i1_ty, // da(imm) | |
llvm_i1_ty], // slc(imm) | |
[]>; | |
class AMDGPUBufferLoad : Intrinsic < | |
[llvm_anyfloat_ty], | |
[llvm_v4i32_ty, // rsrc(SGPR) | |
llvm_i32_ty, // vindex(VGPR) | |
llvm_i32_ty, // offset(SGPR/VGPR/imm) | |
llvm_i1_ty, // glc(imm) | |
llvm_i1_ty], // slc(imm) | |
[IntrReadMem]>; | |
def int_amdgcn_buffer_load_format : AMDGPUBufferLoad; | |
def int_amdgcn_buffer_load : AMDGPUBufferLoad; | |
class AMDGPUBufferStore : Intrinsic < | |
[], | |
[llvm_anyfloat_ty, // vdata(VGPR) -- can currently only select f32, v2f32, v4f32 | |
llvm_v4i32_ty, // rsrc(SGPR) | |
llvm_i32_ty, // vindex(VGPR) | |
llvm_i32_ty, // offset(SGPR/VGPR/imm) | |
llvm_i1_ty, // glc(imm) | |
llvm_i1_ty], // slc(imm) | |
[IntrWriteMem]>; | |
def int_amdgcn_buffer_store_format : AMDGPUBufferStore; | |
def int_amdgcn_buffer_store : AMDGPUBufferStore; | |
class AMDGPUBufferAtomic : Intrinsic < | |
[llvm_i32_ty], | |
[llvm_i32_ty, // vdata(VGPR) | |
llvm_v4i32_ty, // rsrc(SGPR) | |
llvm_i32_ty, // vindex(VGPR) | |
llvm_i32_ty, // offset(SGPR/VGPR/imm) | |
llvm_i1_ty], // slc(imm) | |
[]>; | |
def int_amdgcn_buffer_atomic_swap : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_add : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_sub : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_smin : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_umin : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_smax : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_umax : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_and : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_or : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_xor : AMDGPUBufferAtomic; | |
def int_amdgcn_buffer_atomic_cmpswap : Intrinsic< | |
[llvm_i32_ty], | |
[llvm_i32_ty, // src(VGPR) | |
llvm_i32_ty, // cmp(VGPR) | |
llvm_v4i32_ty, // rsrc(SGPR) | |
llvm_i32_ty, // vindex(VGPR) | |
llvm_i32_ty, // offset(SGPR/VGPR/imm) | |
llvm_i1_ty], // slc(imm) | |
[]>; | |
def int_amdgcn_buffer_wbinvl1_sc : | |
GCCBuiltin<"__builtin_amdgcn_buffer_wbinvl1_sc">, | |
Intrinsic<[], [], []>; | |
def int_amdgcn_buffer_wbinvl1 : | |
GCCBuiltin<"__builtin_amdgcn_buffer_wbinvl1">, | |
Intrinsic<[], [], []>; | |
def int_amdgcn_s_dcache_inv : | |
GCCBuiltin<"__builtin_amdgcn_s_dcache_inv">, | |
Intrinsic<[], [], []>; | |
def int_amdgcn_s_memtime : | |
GCCBuiltin<"__builtin_amdgcn_s_memtime">, | |
Intrinsic<[llvm_i64_ty], [], []>; | |
def int_amdgcn_s_sleep : | |
GCCBuiltin<"__builtin_amdgcn_s_sleep">, | |
Intrinsic<[], [llvm_i32_ty], []> { | |
} | |
def int_amdgcn_s_incperflevel : | |
GCCBuiltin<"__builtin_amdgcn_s_incperflevel">, | |
Intrinsic<[], [llvm_i32_ty], []> { | |
} | |
def int_amdgcn_s_decperflevel : | |
GCCBuiltin<"__builtin_amdgcn_s_decperflevel">, | |
Intrinsic<[], [llvm_i32_ty], []> { | |
} | |
def int_amdgcn_s_getreg : | |
GCCBuiltin<"__builtin_amdgcn_s_getreg">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrReadMem]>; | |
// __builtin_amdgcn_interp_p1 <i>, <attr_chan>, <attr>, <m0> | |
def int_amdgcn_interp_p1 : | |
GCCBuiltin<"__builtin_amdgcn_interp_p1">, | |
Intrinsic<[llvm_float_ty], | |
[llvm_float_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; // This intrinsic reads from lds, but the memory | |
// values are constant, so it behaves like IntrNoMem. | |
// __builtin_amdgcn_interp_p2 <p1>, <j>, <attr_chan>, <attr>, <m0> | |
def int_amdgcn_interp_p2 : | |
GCCBuiltin<"__builtin_amdgcn_interp_p2">, | |
Intrinsic<[llvm_float_ty], | |
[llvm_float_ty, llvm_float_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; // See int_amdgcn_v_interp_p1 for why this is | |
// IntrNoMem. | |
// Pixel shaders only: whether the current pixel is live (i.e. not a helper | |
// invocation for derivative computation). | |
def int_amdgcn_ps_live : Intrinsic < | |
[llvm_i1_ty], | |
[], | |
[IntrNoMem]>; | |
def int_amdgcn_mbcnt_lo : | |
GCCBuiltin<"__builtin_amdgcn_mbcnt_lo">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_amdgcn_mbcnt_hi : | |
GCCBuiltin<"__builtin_amdgcn_mbcnt_hi">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
// llvm.amdgcn.ds.swizzle src offset | |
def int_amdgcn_ds_swizzle : | |
GCCBuiltin<"__builtin_amdgcn_ds_swizzle">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem, IntrConvergent]>; | |
// llvm.amdgcn.lerp | |
def int_amdgcn_lerp : | |
GCCBuiltin<"__builtin_amdgcn_lerp">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_amdgcn_sad_u8 : | |
GCCBuiltin<"__builtin_amdgcn_sad_u8">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_amdgcn_msad_u8 : | |
GCCBuiltin<"__builtin_amdgcn_msad_u8">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_amdgcn_sad_hi_u8 : | |
GCCBuiltin<"__builtin_amdgcn_sad_hi_u8">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_amdgcn_sad_u16 : | |
GCCBuiltin<"__builtin_amdgcn_sad_u16">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_amdgcn_qsad_pk_u16_u8 : | |
GCCBuiltin<"__builtin_amdgcn_qsad_pk_u16_u8">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [IntrNoMem]>; | |
def int_amdgcn_mqsad_pk_u16_u8 : | |
GCCBuiltin<"__builtin_amdgcn_mqsad_pk_u16_u8">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [IntrNoMem]>; | |
def int_amdgcn_mqsad_u32_u8 : | |
GCCBuiltin<"__builtin_amdgcn_mqsad_u32_u8">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_i64_ty, llvm_i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_amdgcn_cvt_pk_u8_f32 : | |
GCCBuiltin<"__builtin_amdgcn_cvt_pk_u8_f32">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_amdgcn_icmp : | |
Intrinsic<[llvm_i64_ty], [llvm_anyint_ty, LLVMMatchType<0>, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent]>; | |
def int_amdgcn_fcmp : | |
Intrinsic<[llvm_i64_ty], [llvm_anyfloat_ty, LLVMMatchType<0>, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent]>; | |
def int_amdgcn_readfirstlane : | |
GCCBuiltin<"__builtin_amdgcn_readfirstlane">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem, IntrConvergent]>; | |
def int_amdgcn_readlane : | |
GCCBuiltin<"__builtin_amdgcn_readlane">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem, IntrConvergent]>; | |
//===----------------------------------------------------------------------===// | |
// CI+ Intrinsics | |
//===----------------------------------------------------------------------===// | |
def int_amdgcn_s_dcache_inv_vol : | |
GCCBuiltin<"__builtin_amdgcn_s_dcache_inv_vol">, | |
Intrinsic<[], [], []>; | |
def int_amdgcn_buffer_wbinvl1_vol : | |
GCCBuiltin<"__builtin_amdgcn_buffer_wbinvl1_vol">, | |
Intrinsic<[], [], []>; | |
//===----------------------------------------------------------------------===// | |
// VI Intrinsics | |
//===----------------------------------------------------------------------===// | |
// llvm.amdgcn.mov.dpp.i32 <src> <dpp_ctrl> <row_mask> <bank_mask> <bound_ctrl> | |
def int_amdgcn_mov_dpp : | |
Intrinsic<[llvm_anyint_ty], | |
[LLVMMatchType<0>, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i1_ty], [IntrNoMem, IntrConvergent]>; | |
def int_amdgcn_s_dcache_wb : | |
GCCBuiltin<"__builtin_amdgcn_s_dcache_wb">, | |
Intrinsic<[], [], []>; | |
def int_amdgcn_s_dcache_wb_vol : | |
GCCBuiltin<"__builtin_amdgcn_s_dcache_wb_vol">, | |
Intrinsic<[], [], []>; | |
def int_amdgcn_s_memrealtime : | |
GCCBuiltin<"__builtin_amdgcn_s_memrealtime">, | |
Intrinsic<[llvm_i64_ty], [], []>; | |
// llvm.amdgcn.ds.permute <index> <src> | |
def int_amdgcn_ds_permute : | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem, IntrConvergent]>; | |
// llvm.amdgcn.ds.bpermute <index> <src> | |
def int_amdgcn_ds_bpermute : | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem, IntrConvergent]>; | |
} | |
//===- IntrinsicsARM.td - Defines ARM intrinsics -----------*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the ARM-specific intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
//===----------------------------------------------------------------------===// | |
// TLS | |
let TargetPrefix = "arm" in { // All intrinsics start with "llvm.arm.". | |
// A space-consuming intrinsic primarily for testing ARMConstantIslands. The | |
// first argument is the number of bytes this "instruction" takes up, the second | |
// and return value are essentially chains, used to force ordering during ISel. | |
def int_arm_space : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], []>; | |
//===----------------------------------------------------------------------===// | |
// Saturating Arithmetic | |
def int_arm_qadd : GCCBuiltin<"__builtin_arm_qadd">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_arm_qsub : GCCBuiltin<"__builtin_arm_qsub">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_arm_ssat : GCCBuiltin<"__builtin_arm_ssat">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_arm_usat : GCCBuiltin<"__builtin_arm_usat">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// Load, Store and Clear exclusive | |
def int_arm_ldrex : Intrinsic<[llvm_i32_ty], [llvm_anyptr_ty]>; | |
def int_arm_strex : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_anyptr_ty]>; | |
def int_arm_ldaex : Intrinsic<[llvm_i32_ty], [llvm_anyptr_ty]>; | |
def int_arm_stlex : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_anyptr_ty]>; | |
def int_arm_clrex : Intrinsic<[]>; | |
def int_arm_strexd : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, | |
llvm_ptr_ty]>; | |
def int_arm_ldrexd : Intrinsic<[llvm_i32_ty, llvm_i32_ty], [llvm_ptr_ty]>; | |
def int_arm_stlexd : Intrinsic<[llvm_i32_ty], | |
[llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty]>; | |
def int_arm_ldaexd : Intrinsic<[llvm_i32_ty, llvm_i32_ty], [llvm_ptr_ty]>; | |
//===----------------------------------------------------------------------===// | |
// Data barrier instructions | |
def int_arm_dmb : GCCBuiltin<"__builtin_arm_dmb">, MSBuiltin<"__dmb">, | |
Intrinsic<[], [llvm_i32_ty]>; | |
def int_arm_dsb : GCCBuiltin<"__builtin_arm_dsb">, MSBuiltin<"__dsb">, | |
Intrinsic<[], [llvm_i32_ty]>; | |
def int_arm_isb : GCCBuiltin<"__builtin_arm_isb">, MSBuiltin<"__isb">, | |
Intrinsic<[], [llvm_i32_ty]>; | |
//===----------------------------------------------------------------------===// | |
// VFP | |
def int_arm_get_fpscr : GCCBuiltin<"__builtin_arm_get_fpscr">, | |
Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>; | |
def int_arm_set_fpscr : GCCBuiltin<"__builtin_arm_set_fpscr">, | |
Intrinsic<[], [llvm_i32_ty], []>; | |
def int_arm_vcvtr : Intrinsic<[llvm_float_ty], [llvm_anyfloat_ty], | |
[IntrNoMem]>; | |
def int_arm_vcvtru : Intrinsic<[llvm_float_ty], [llvm_anyfloat_ty], | |
[IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// Coprocessor | |
def int_arm_ldc : GCCBuiltin<"__builtin_arm_ldc">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>; | |
def int_arm_ldcl : GCCBuiltin<"__builtin_arm_ldcl">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>; | |
def int_arm_ldc2 : GCCBuiltin<"__builtin_arm_ldc2">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>; | |
def int_arm_ldc2l : GCCBuiltin<"__builtin_arm_ldc2l">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>; | |
def int_arm_stc : GCCBuiltin<"__builtin_arm_stc">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>; | |
def int_arm_stcl : GCCBuiltin<"__builtin_arm_stcl">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>; | |
def int_arm_stc2 : GCCBuiltin<"__builtin_arm_stc2">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>; | |
def int_arm_stc2l : GCCBuiltin<"__builtin_arm_stc2l">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_ptr_ty], []>; | |
// Move to coprocessor | |
def int_arm_mcr : GCCBuiltin<"__builtin_arm_mcr">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
def int_arm_mcr2 : GCCBuiltin<"__builtin_arm_mcr2">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
// Move from coprocessor | |
def int_arm_mrc : GCCBuiltin<"__builtin_arm_mrc">, | |
MSBuiltin<"_MoveFromCoprocessor">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], []>; | |
def int_arm_mrc2 : GCCBuiltin<"__builtin_arm_mrc2">, | |
MSBuiltin<"_MoveFromCoprocessor2">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], []>; | |
// Coprocessor data processing | |
def int_arm_cdp : GCCBuiltin<"__builtin_arm_cdp">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
def int_arm_cdp2 : GCCBuiltin<"__builtin_arm_cdp2">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
// Move from two registers to coprocessor | |
def int_arm_mcrr : Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], []>; | |
def int_arm_mcrr2 : Intrinsic<[], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], []>; | |
def int_arm_mrrc : Intrinsic<[llvm_i32_ty, llvm_i32_ty], [llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], []>; | |
def int_arm_mrrc2 : Intrinsic<[llvm_i32_ty, llvm_i32_ty], [llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], []>; | |
//===----------------------------------------------------------------------===// | |
// CRC32 | |
def int_arm_crc32b : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_arm_crc32cb : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_arm_crc32h : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_arm_crc32ch : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_arm_crc32w : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_arm_crc32cw : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// HINT | |
def int_arm_hint : Intrinsic<[], [llvm_i32_ty]>; | |
def int_arm_dbg : Intrinsic<[], [llvm_i32_ty]>; | |
//===----------------------------------------------------------------------===// | |
// RBIT | |
def int_arm_rbit : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// UND (reserved undefined sequence) | |
def int_arm_undefined : Intrinsic<[], [llvm_i32_ty]>; | |
//===----------------------------------------------------------------------===// | |
// Advanced SIMD (NEON) | |
// The following classes do not correspond directly to GCC builtins. | |
class Neon_1Arg_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [LLVMMatchType<0>], [IntrNoMem]>; | |
class Neon_1Arg_Narrow_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [LLVMExtendedType<0>], [IntrNoMem]>; | |
class Neon_2Arg_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class Neon_2Arg_Narrow_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [LLVMExtendedType<0>, LLVMExtendedType<0>], | |
[IntrNoMem]>; | |
class Neon_2Arg_Long_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [LLVMTruncatedType<0>, LLVMTruncatedType<0>], | |
[IntrNoMem]>; | |
class Neon_3Arg_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
class Neon_3Arg_Long_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, LLVMTruncatedType<0>, LLVMTruncatedType<0>], | |
[IntrNoMem]>; | |
class Neon_CvtFxToFP_Intrinsic | |
: Intrinsic<[llvm_anyfloat_ty], [llvm_anyint_ty, llvm_i32_ty], [IntrNoMem]>; | |
class Neon_CvtFPToFx_Intrinsic | |
: Intrinsic<[llvm_anyint_ty], [llvm_anyfloat_ty, llvm_i32_ty], [IntrNoMem]>; | |
class Neon_CvtFPtoInt_1Arg_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [llvm_anyvector_ty], [IntrNoMem]>; | |
class Neon_Compare_Intrinsic | |
: Intrinsic<[llvm_anyvector_ty], [llvm_anyvector_ty, LLVMMatchType<1>], | |
[IntrNoMem]>; | |
// The table operands for VTBL and VTBX consist of 1 to 4 v8i8 vectors. | |
// Besides the table, VTBL has one other v8i8 argument and VTBX has two. | |
// Overall, the classes range from 2 to 6 v8i8 arguments. | |
class Neon_Tbl2Arg_Intrinsic | |
: Intrinsic<[llvm_v8i8_ty], | |
[llvm_v8i8_ty, llvm_v8i8_ty], [IntrNoMem]>; | |
class Neon_Tbl3Arg_Intrinsic | |
: Intrinsic<[llvm_v8i8_ty], | |
[llvm_v8i8_ty, llvm_v8i8_ty, llvm_v8i8_ty], [IntrNoMem]>; | |
class Neon_Tbl4Arg_Intrinsic | |
: Intrinsic<[llvm_v8i8_ty], | |
[llvm_v8i8_ty, llvm_v8i8_ty, llvm_v8i8_ty, llvm_v8i8_ty], | |
[IntrNoMem]>; | |
class Neon_Tbl5Arg_Intrinsic | |
: Intrinsic<[llvm_v8i8_ty], | |
[llvm_v8i8_ty, llvm_v8i8_ty, llvm_v8i8_ty, llvm_v8i8_ty, | |
llvm_v8i8_ty], [IntrNoMem]>; | |
class Neon_Tbl6Arg_Intrinsic | |
: Intrinsic<[llvm_v8i8_ty], | |
[llvm_v8i8_ty, llvm_v8i8_ty, llvm_v8i8_ty, llvm_v8i8_ty, | |
llvm_v8i8_ty, llvm_v8i8_ty], [IntrNoMem]>; | |
// Arithmetic ops | |
let IntrProperties = [IntrNoMem, Commutative] in { | |
// Vector Add. | |
def int_arm_neon_vhadds : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vhaddu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vrhadds : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vrhaddu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqadds : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqaddu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vraddhn : Neon_2Arg_Narrow_Intrinsic; | |
// Vector Multiply. | |
def int_arm_neon_vmulp : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqdmulh : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqrdmulh : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vmulls : Neon_2Arg_Long_Intrinsic; | |
def int_arm_neon_vmullu : Neon_2Arg_Long_Intrinsic; | |
def int_arm_neon_vmullp : Neon_2Arg_Long_Intrinsic; | |
def int_arm_neon_vqdmull : Neon_2Arg_Long_Intrinsic; | |
// Vector Maximum. | |
def int_arm_neon_vmaxs : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vmaxu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vmaxnm : Neon_2Arg_Intrinsic; | |
// Vector Minimum. | |
def int_arm_neon_vmins : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vminu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vminnm : Neon_2Arg_Intrinsic; | |
// Vector Reciprocal Step. | |
def int_arm_neon_vrecps : Neon_2Arg_Intrinsic; | |
// Vector Reciprocal Square Root Step. | |
def int_arm_neon_vrsqrts : Neon_2Arg_Intrinsic; | |
} | |
// Vector Subtract. | |
def int_arm_neon_vhsubs : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vhsubu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqsubs : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqsubu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vrsubhn : Neon_2Arg_Narrow_Intrinsic; | |
// Vector Absolute Compare. | |
def int_arm_neon_vacge : Neon_Compare_Intrinsic; | |
def int_arm_neon_vacgt : Neon_Compare_Intrinsic; | |
// Vector Absolute Differences. | |
def int_arm_neon_vabds : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vabdu : Neon_2Arg_Intrinsic; | |
// Vector Pairwise Add. | |
def int_arm_neon_vpadd : Neon_2Arg_Intrinsic; | |
// Vector Pairwise Add Long. | |
// Note: This is different than the other "long" NEON intrinsics because | |
// the result vector has half as many elements as the source vector. | |
// The source and destination vector types must be specified separately. | |
def int_arm_neon_vpaddls : Intrinsic<[llvm_anyvector_ty], [llvm_anyvector_ty], | |
[IntrNoMem]>; | |
def int_arm_neon_vpaddlu : Intrinsic<[llvm_anyvector_ty], [llvm_anyvector_ty], | |
[IntrNoMem]>; | |
// Vector Pairwise Add and Accumulate Long. | |
// Note: This is similar to vpaddl but the destination vector also appears | |
// as the first argument. | |
def int_arm_neon_vpadals : Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, llvm_anyvector_ty], | |
[IntrNoMem]>; | |
def int_arm_neon_vpadalu : Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, llvm_anyvector_ty], | |
[IntrNoMem]>; | |
// Vector Pairwise Maximum and Minimum. | |
def int_arm_neon_vpmaxs : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vpmaxu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vpmins : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vpminu : Neon_2Arg_Intrinsic; | |
// Vector Shifts: | |
// | |
// The various saturating and rounding vector shift operations need to be | |
// represented by intrinsics in LLVM, and even the basic VSHL variable shift | |
// operation cannot be safely translated to LLVM's shift operators. VSHL can | |
// be used for both left and right shifts, or even combinations of the two, | |
// depending on the signs of the shift amounts. It also has well-defined | |
// behavior for shift amounts that LLVM leaves undefined. Only basic shifts | |
// by constants can be represented with LLVM's shift operators. | |
// | |
// The shift counts for these intrinsics are always vectors, even for constant | |
// shifts, where the constant is replicated. For consistency with VSHL (and | |
// other variable shift instructions), left shifts have positive shift counts | |
// and right shifts have negative shift counts. This convention is also used | |
// for constant right shift intrinsics, and to help preserve sanity, the | |
// intrinsic names use "shift" instead of either "shl" or "shr". Where | |
// applicable, signed and unsigned versions of the intrinsics are | |
// distinguished with "s" and "u" suffixes. A few NEON shift instructions, | |
// such as VQSHLU, take signed operands but produce unsigned results; these | |
// use a "su" suffix. | |
// Vector Shift. | |
def int_arm_neon_vshifts : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vshiftu : Neon_2Arg_Intrinsic; | |
// Vector Rounding Shift. | |
def int_arm_neon_vrshifts : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vrshiftu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vrshiftn : Neon_2Arg_Narrow_Intrinsic; | |
// Vector Saturating Shift. | |
def int_arm_neon_vqshifts : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqshiftu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqshiftsu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqshiftns : Neon_2Arg_Narrow_Intrinsic; | |
def int_arm_neon_vqshiftnu : Neon_2Arg_Narrow_Intrinsic; | |
def int_arm_neon_vqshiftnsu : Neon_2Arg_Narrow_Intrinsic; | |
// Vector Saturating Rounding Shift. | |
def int_arm_neon_vqrshifts : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqrshiftu : Neon_2Arg_Intrinsic; | |
def int_arm_neon_vqrshiftns : Neon_2Arg_Narrow_Intrinsic; | |
def int_arm_neon_vqrshiftnu : Neon_2Arg_Narrow_Intrinsic; | |
def int_arm_neon_vqrshiftnsu : Neon_2Arg_Narrow_Intrinsic; | |
// Vector Shift and Insert. | |
def int_arm_neon_vshiftins : Neon_3Arg_Intrinsic; | |
// Vector Absolute Value and Saturating Absolute Value. | |
def int_arm_neon_vabs : Neon_1Arg_Intrinsic; | |
def int_arm_neon_vqabs : Neon_1Arg_Intrinsic; | |
// Vector Saturating Negate. | |
def int_arm_neon_vqneg : Neon_1Arg_Intrinsic; | |
// Vector Count Leading Sign/Zero Bits. | |
def int_arm_neon_vcls : Neon_1Arg_Intrinsic; | |
// Vector Reciprocal Estimate. | |
def int_arm_neon_vrecpe : Neon_1Arg_Intrinsic; | |
// Vector Reciprocal Square Root Estimate. | |
def int_arm_neon_vrsqrte : Neon_1Arg_Intrinsic; | |
// Vector Conversions Between Floating-point and Integer | |
def int_arm_neon_vcvtau : Neon_CvtFPtoInt_1Arg_Intrinsic; | |
def int_arm_neon_vcvtas : Neon_CvtFPtoInt_1Arg_Intrinsic; | |
def int_arm_neon_vcvtnu : Neon_CvtFPtoInt_1Arg_Intrinsic; | |
def int_arm_neon_vcvtns : Neon_CvtFPtoInt_1Arg_Intrinsic; | |
def int_arm_neon_vcvtpu : Neon_CvtFPtoInt_1Arg_Intrinsic; | |
def int_arm_neon_vcvtps : Neon_CvtFPtoInt_1Arg_Intrinsic; | |
def int_arm_neon_vcvtmu : Neon_CvtFPtoInt_1Arg_Intrinsic; | |
def int_arm_neon_vcvtms : Neon_CvtFPtoInt_1Arg_Intrinsic; | |
// Vector Conversions Between Floating-point and Fixed-point. | |
def int_arm_neon_vcvtfp2fxs : Neon_CvtFPToFx_Intrinsic; | |
def int_arm_neon_vcvtfp2fxu : Neon_CvtFPToFx_Intrinsic; | |
def int_arm_neon_vcvtfxs2fp : Neon_CvtFxToFP_Intrinsic; | |
def int_arm_neon_vcvtfxu2fp : Neon_CvtFxToFP_Intrinsic; | |
// Vector Conversions Between Half-Precision and Single-Precision. | |
def int_arm_neon_vcvtfp2hf | |
: Intrinsic<[llvm_v4i16_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_arm_neon_vcvthf2fp | |
: Intrinsic<[llvm_v4f32_ty], [llvm_v4i16_ty], [IntrNoMem]>; | |
// Narrowing Saturating Vector Moves. | |
def int_arm_neon_vqmovns : Neon_1Arg_Narrow_Intrinsic; | |
def int_arm_neon_vqmovnu : Neon_1Arg_Narrow_Intrinsic; | |
def int_arm_neon_vqmovnsu : Neon_1Arg_Narrow_Intrinsic; | |
// Vector Table Lookup. | |
// The first 1-4 arguments are the table. | |
def int_arm_neon_vtbl1 : Neon_Tbl2Arg_Intrinsic; | |
def int_arm_neon_vtbl2 : Neon_Tbl3Arg_Intrinsic; | |
def int_arm_neon_vtbl3 : Neon_Tbl4Arg_Intrinsic; | |
def int_arm_neon_vtbl4 : Neon_Tbl5Arg_Intrinsic; | |
// Vector Table Extension. | |
// Some elements of the destination vector may not be updated, so the original | |
// value of that vector is passed as the first argument. The next 1-4 | |
// arguments after that are the table. | |
def int_arm_neon_vtbx1 : Neon_Tbl3Arg_Intrinsic; | |
def int_arm_neon_vtbx2 : Neon_Tbl4Arg_Intrinsic; | |
def int_arm_neon_vtbx3 : Neon_Tbl5Arg_Intrinsic; | |
def int_arm_neon_vtbx4 : Neon_Tbl6Arg_Intrinsic; | |
// Vector Rounding | |
def int_arm_neon_vrintn : Neon_1Arg_Intrinsic; | |
def int_arm_neon_vrintx : Neon_1Arg_Intrinsic; | |
def int_arm_neon_vrinta : Neon_1Arg_Intrinsic; | |
def int_arm_neon_vrintz : Neon_1Arg_Intrinsic; | |
def int_arm_neon_vrintm : Neon_1Arg_Intrinsic; | |
def int_arm_neon_vrintp : Neon_1Arg_Intrinsic; | |
// De-interleaving vector loads from N-element structures. | |
// Source operands are the address and alignment. | |
def int_arm_neon_vld1 : Intrinsic<[llvm_anyvector_ty], | |
[llvm_anyptr_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_arm_neon_vld2 : Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>], | |
[llvm_anyptr_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_arm_neon_vld3 : Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>], | |
[llvm_anyptr_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_arm_neon_vld4 : Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMMatchType<0>], | |
[llvm_anyptr_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
// Vector load N-element structure to one lane. | |
// Source operands are: the address, the N input vectors (since only one | |
// lane is assigned), the lane number, and the alignment. | |
def int_arm_neon_vld2lane : Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>], | |
[llvm_anyptr_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, llvm_i32_ty, | |
llvm_i32_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_arm_neon_vld3lane : Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>], | |
[llvm_anyptr_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMMatchType<0>, | |
llvm_i32_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_arm_neon_vld4lane : Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMMatchType<0>], | |
[llvm_anyptr_ty, LLVMMatchType<0>, | |
LLVMMatchType<0>, LLVMMatchType<0>, | |
LLVMMatchType<0>, llvm_i32_ty, | |
llvm_i32_ty], [IntrReadMem, IntrArgMemOnly]>; | |
// Interleaving vector stores from N-element structures. | |
// Source operands are: the address, the N vectors, and the alignment. | |
def int_arm_neon_vst1 : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_anyvector_ty, | |
llvm_i32_ty], [IntrArgMemOnly]>; | |
def int_arm_neon_vst2 : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_anyvector_ty, | |
LLVMMatchType<1>, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
def int_arm_neon_vst3 : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_anyvector_ty, | |
LLVMMatchType<1>, LLVMMatchType<1>, | |
llvm_i32_ty], [IntrArgMemOnly]>; | |
def int_arm_neon_vst4 : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_anyvector_ty, | |
LLVMMatchType<1>, LLVMMatchType<1>, | |
LLVMMatchType<1>, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
// Vector store N-element structure from one lane. | |
// Source operands are: the address, the N vectors, the lane number, and | |
// the alignment. | |
def int_arm_neon_vst2lane : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_anyvector_ty, | |
LLVMMatchType<1>, llvm_i32_ty, | |
llvm_i32_ty], [IntrArgMemOnly]>; | |
def int_arm_neon_vst3lane : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_anyvector_ty, | |
LLVMMatchType<1>, LLVMMatchType<1>, | |
llvm_i32_ty, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
def int_arm_neon_vst4lane : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_anyvector_ty, | |
LLVMMatchType<1>, LLVMMatchType<1>, | |
LLVMMatchType<1>, llvm_i32_ty, | |
llvm_i32_ty], [IntrArgMemOnly]>; | |
// Vector bitwise select. | |
def int_arm_neon_vbsl : Intrinsic<[llvm_anyvector_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
// Crypto instructions | |
class AES_1Arg_Intrinsic : Intrinsic<[llvm_v16i8_ty], | |
[llvm_v16i8_ty], [IntrNoMem]>; | |
class AES_2Arg_Intrinsic : Intrinsic<[llvm_v16i8_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
class SHA_1Arg_Intrinsic : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
class SHA_2Arg_Intrinsic : Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
class SHA_3Arg_i32_Intrinsic : Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
class SHA_3Arg_v4i32_Intrinsic : Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty,llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_arm_neon_aesd : AES_2Arg_Intrinsic; | |
def int_arm_neon_aese : AES_2Arg_Intrinsic; | |
def int_arm_neon_aesimc : AES_1Arg_Intrinsic; | |
def int_arm_neon_aesmc : AES_1Arg_Intrinsic; | |
def int_arm_neon_sha1h : SHA_1Arg_Intrinsic; | |
def int_arm_neon_sha1su1 : SHA_2Arg_Intrinsic; | |
def int_arm_neon_sha256su0 : SHA_2Arg_Intrinsic; | |
def int_arm_neon_sha1c : SHA_3Arg_i32_Intrinsic; | |
def int_arm_neon_sha1m : SHA_3Arg_i32_Intrinsic; | |
def int_arm_neon_sha1p : SHA_3Arg_i32_Intrinsic; | |
def int_arm_neon_sha1su0: SHA_3Arg_v4i32_Intrinsic; | |
def int_arm_neon_sha256h: SHA_3Arg_v4i32_Intrinsic; | |
def int_arm_neon_sha256h2: SHA_3Arg_v4i32_Intrinsic; | |
def int_arm_neon_sha256su1: SHA_3Arg_v4i32_Intrinsic; | |
} // end TargetPrefix | |
//===- IntrinsicsBPF.td - Defines BPF intrinsics -----------*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the BPF-specific intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
// Specialized loads from packet | |
let TargetPrefix = "bpf" in { // All intrinsics start with "llvm.bpf." | |
def int_bpf_load_byte : GCCBuiltin<"__builtin_bpf_load_byte">, | |
Intrinsic<[llvm_i64_ty], [llvm_ptr_ty, llvm_i64_ty], [IntrReadMem]>; | |
def int_bpf_load_half : GCCBuiltin<"__builtin_bpf_load_half">, | |
Intrinsic<[llvm_i64_ty], [llvm_ptr_ty, llvm_i64_ty], [IntrReadMem]>; | |
def int_bpf_load_word : GCCBuiltin<"__builtin_bpf_load_word">, | |
Intrinsic<[llvm_i64_ty], [llvm_ptr_ty, llvm_i64_ty], [IntrReadMem]>; | |
def int_bpf_pseudo : GCCBuiltin<"__builtin_bpf_pseudo">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty]>; | |
} | |
//===- IntrinsicsHexagon.td - Defines Hexagon intrinsics ---*- tablegen -*-===// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the Hexagon-specific intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
//===----------------------------------------------------------------------===// | |
// Definitions for all Hexagon intrinsics. | |
// | |
// All Hexagon intrinsics start with "llvm.hexagon.". | |
let TargetPrefix = "hexagon" in { | |
/// Hexagon_Intrinsic - Base class for all Hexagon intrinsics. | |
class Hexagon_Intrinsic<string GCCIntSuffix, list<LLVMType> ret_types, | |
list<LLVMType> param_types, | |
list<IntrinsicProperty> properties> | |
: GCCBuiltin<!strconcat("__builtin_", GCCIntSuffix)>, | |
Intrinsic<ret_types, param_types, properties>; | |
} | |
//===----------------------------------------------------------------------===// | |
// | |
// DEF_FUNCTION_TYPE_1(QI_ftype_MEM,BT_BOOL,BT_PTR) -> | |
// Hexagon_qi_mem_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_mem_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_ptr_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_1(void_ftype_SI,BT_VOID,BT_INT) -> | |
// Hexagon_void_si_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_void_si_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[], [llvm_ptr_ty], | |
[]>; | |
// | |
// DEF_FUNCTION_TYPE_1(HI_ftype_SI,BT_I16,BT_INT) -> | |
// Hexagon_hi_si_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_hi_si_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i16_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_1(SI_ftype_SI,BT_INT,BT_INT) -> | |
// Hexagon_si_si_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_si_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_1(DI_ftype_SI,BT_LONGLONG,BT_INT) -> | |
// Hexagon_di_si_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_si_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_1(SI_ftype_DI,BT_INT,BT_LONGLONG) -> | |
// Hexagon_si_di_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_di_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_1(DI_ftype_DI,BT_LONGLONG,BT_LONGLONG) -> | |
// Hexagon_di_di_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_di_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_1(QI_ftype_QI,BT_BOOL,BT_BOOL) -> | |
// Hexagon_qi_qi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_qi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_1(QI_ftype_SI,BT_BOOL,BT_INT) -> | |
// Hexagon_qi_si_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_si_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_1(DI_ftype_QI,BT_LONGLONG,BT_BOOL) -> | |
// Hexagon_di_qi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_qi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_1(SI_ftype_QI,BT_INT,BT_BOOL) -> | |
// Hexagon_si_qi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_qi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(QI_ftype_SISI,BT_BOOL,BT_INT,BT_INT) -> | |
// Hexagon_qi_sisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_sisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(void_ftype_SISI,BT_VOID,BT_INT,BT_INT) -> | |
// Hexagon_void_sisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_void_sisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_void_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(SI_ftype_SISI,BT_INT,BT_INT,BT_INT) -> | |
// Hexagon_si_sisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(USI_ftype_SISI,BT_UINT,BT_INT,BT_INT) -> | |
// Hexagon_usi_sisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_usi_sisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(DI_ftype_SISI,BT_LONGLONG,BT_INT,BT_INT) -> | |
// Hexagon_di_sisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_sisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(UDI_ftype_SISI,BT_ULONGLONG,BT_INT,BT_INT) -> | |
// Hexagon_udi_sisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_udi_sisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(DI_ftype_SIDI,BT_LONGLONG,BT_INT,BT_LONGLONG) -> | |
// Hexagon_di_sidi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_sidi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i32_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(DI_ftype_DISI,BT_LONGLONG,BT_LONGLONG,BT_INT) -> | |
// Hexagon_di_disi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_disi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(SI_ftype_SIDI,BT_INT,BT_INT,BT_LONGLONG) -> | |
// Hexagon_si_sidi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sidi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(SI_ftype_DIDI,BT_INT,BT_LONGLONG,BT_LONGLONG) -> | |
// Hexagon_si_didi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_didi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(DI_ftype_DIDI,BT_LONGLONG,BT_LONGLONG,BT_LONGLONG) -> | |
// Hexagon_di_didi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_didi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(UDI_ftype_DIDI,BT_ULONGLONG,BT_LONGLONG,BT_LONGLONG) -> | |
// Hexagon_udi_didi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_udi_didi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(SI_ftype_DISI,BT_INT,BT_LONGLONG,BT_INT) -> | |
// Hexagon_si_disi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_disi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(QI_ftype_DIDI,BT_BOOL,BT_LONGLONG,BT_LONGLONG) -> | |
// Hexagon_qi_didi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_didi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(QI_ftype_SIDI,BT_BOOL,BT_INT,BT_LONGLONG) -> | |
// Hexagon_qi_didi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_sidi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_i32_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(QI_ftype_DISI,BT_BOOL,BT_LONGLONG,BT_INT) -> | |
// Hexagon_qi_disi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_disi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_i64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(QI_ftype_QIQI,BT_BOOL,BT_BOOL,BT_BOOL) -> | |
// Hexagon_qi_qiqi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_qiqi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(QI_ftype_QIQIQI,BT_BOOL,BT_BOOL,BT_BOOL) -> | |
// Hexagon_qi_qiqiqi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_qiqiqi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_i1_ty, llvm_i1_ty, llvm_i1_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(SI_ftype_QIQI,BT_INT,BT_BOOL,BT_BOOL) -> | |
// Hexagon_si_qiqi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_qiqi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_2(SI_ftype_QISI,BT_INT,BT_BOOL,BT_INT) -> | |
// Hexagon_si_qisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_qisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i1_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(void_ftype_SISISI,BT_VOID,BT_INT,BT_INT,BT_INT) -> | |
// Hexagon_void_sisisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_void_sisisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_void_ty], [llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(SI_ftype_SISISI,BT_INT,BT_INT,BT_INT,BT_INT) -> | |
// Hexagon_si_sisisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sisisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(DI_ftype_SISISI,BT_LONGLONG,BT_INT,BT_INT,BT_INT) -> | |
// Hexagon_di_sisisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_sisisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(SI_ftype_DISISI,BT_INT,BT_LONGLONG,BT_INT,BT_INT) -> | |
// Hexagon_si_disisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_disisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(DI_ftype_DISISI,BT_LONGLONG,BT_LONGLONG,BT_INT,BT_INT) -> | |
// Hexagon_di_disisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_disisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(SI_ftype_SIDISI,BT_INT,BT_INT,BT_LONGLONG,BT_INT) -> | |
// Hexagon_si_sidisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sidisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i64_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(DI_ftype_DIDISI,BT_LONGLONG,BT_LONGLONG, | |
// BT_LONGLONG,BT_INT) -> | |
// Hexagon_di_didisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_didisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(SI_ftype_SIDIDI,BT_INT,BT_INT,BT_LONGLONG,BT_LONGLONG) -> | |
// Hexagon_si_sididi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sididi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i64_ty, | |
llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(DI_ftype_DIDIDI,BT_LONGLONG,BT_LONGLONG,BT_LONGLONG, | |
// BT_LONGLONG) -> | |
// Hexagon_di_dididi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_dididi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, | |
llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(SI_ftype_SISIDI,BT_INT,BT_INT,BT_INT,BT_LONGLONG) -> | |
// Hexagon_si_sisidi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sisidi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(SI_ftype_QISISI,BT_INT,BT_BOOL,BT_INT,BT_INT) -> | |
// Hexagon_si_qisisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_qisisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(DI_ftype_QISISI,BT_LONGLONG,BT_BOOL,BT_INT,BT_INT) -> | |
// Hexagon_di_qisisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_qisisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i1_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(DI_ftype_QIDIDI,BT_LONGLONG,BT_BOOL,BT_LONGLONG, | |
// BT_LONGLONG) -> | |
// Hexagon_di_qididi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_qididi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i32_ty, llvm_i64_ty, | |
llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_3(DI_ftype_DIDIQI,BT_LONGLONG,BT_LONGLONG,BT_LONGLONG, | |
// BT_BOOL) -> | |
// Hexagon_di_didiqi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_didiqi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, | |
llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_4(SI_ftype_SISISISI,BT_INT,BT_INT,BT_INT,BT_INT,BT_INT) -> | |
// Hexagon_si_sisisisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sisisisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// DEF_FUNCTION_TYPE_4(DI_ftype_DIDISISI,BT_LONGLONG,BT_LONGLONG, | |
// BT_LONGLONG,BT_INT,BT_INT) -> | |
// Hexagon_di_didisisi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_didisisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, | |
llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
class Hexagon_mem_memmemsi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_ptr_ty], [llvm_ptr_ty, llvm_ptr_ty, | |
llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
class Hexagon_mem_memsisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_ptr_ty], [llvm_ptr_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
class Hexagon_mem_memdisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_ptr_ty], [llvm_ptr_ty, llvm_i64_ty, | |
llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
class Hexagon_mem_memmemsisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_ptr_ty], [llvm_ptr_ty, llvm_ptr_ty, | |
llvm_i32_ty, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
class Hexagon_mem_memsisisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_ptr_ty], [llvm_ptr_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
class Hexagon_mem_memdisisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_ptr_ty], [llvm_ptr_ty, llvm_i64_ty, | |
llvm_i32_ty, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
class Hexagon_v256_v256v256_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v8i32_ty], [llvm_v8i32_ty, llvm_v8i32_ty], | |
[IntrArgMemOnly]>; | |
// | |
// Hexagon_sf_df_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_sf_si_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_float_ty], [llvm_i32_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_sf_df_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_sf_df_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_float_ty], [llvm_double_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_sf_di_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_sf_di_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_float_ty], [llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_df_sf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_df_sf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_double_ty], [llvm_float_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_di_sf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_sf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_float_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_sf_sf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_sf_sf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_float_ty], [llvm_float_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_si_sf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_float_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_si_df_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_df_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_double_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_sf_sfsf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_sf_sfsf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_si_sfsf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sfsf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_si_sfsi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_sfsi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_float_ty, llvm_i32_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_qi_sfqi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_qi_sfqi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i1_ty], [llvm_float_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_sf_sfsfsf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_sf_sfsfsf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_float_ty], [llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_sf_sfsfsfqi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_sf_sfsfsfqi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_float_ty], [llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, | |
llvm_i32_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_di_dididi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_dididisi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, | |
llvm_i64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_df_si_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_df_si_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_double_ty], [llvm_i32_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_df_di_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_df_di_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_double_ty], [llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_di_df_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_di_df_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_double_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_df_df_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_df_df_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_double_ty], [llvm_double_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_df_dfdf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_df_dfdf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_si_dfdf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_dfdf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_si_dfsi_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_si_dfsi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_double_ty, llvm_i32_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// | |
// Hexagon_df_dfdfdf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_df_dfdfdf_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_double_ty], [llvm_double_ty, llvm_double_ty, | |
llvm_double_ty], | |
[IntrNoMem, Throws]>; | |
// | |
// Hexagon_df_dfdfdf_Intrinsic<string GCCIntSuffix> | |
// | |
class Hexagon_df_dfdfdfqi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_double_ty], [llvm_double_ty, llvm_double_ty, | |
llvm_double_ty, | |
llvm_i32_ty], | |
[IntrNoMem, Throws]>; | |
// This one below will not be auto-generated, | |
// so make sure, you don't overwrite this one. | |
// | |
// BUILTIN_INFO(SI_to_SXTHI_asrh,SI_ftype_SI,1) | |
// | |
def int_hexagon_SI_to_SXTHI_asrh : | |
Hexagon_si_si_Intrinsic<"SI_to_SXTHI_asrh">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_ldd,PTR_ftype_PTRPTRSI,3) | |
// | |
def int_hexagon_brev_ldd : | |
Hexagon_mem_memmemsi_Intrinsic<"brev_ldd">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_ldw,PTR_ftype_PTRPTRSI,3) | |
// | |
def int_hexagon_brev_ldw : | |
Hexagon_mem_memmemsi_Intrinsic<"brev_ldw">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_ldh,PTR_ftype_PTRPTRSI,3) | |
// | |
def int_hexagon_brev_ldh : | |
Hexagon_mem_memmemsi_Intrinsic<"brev_ldh">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_lduh,PTR_ftype_PTRPTRSI,3) | |
// | |
def int_hexagon_brev_lduh : | |
Hexagon_mem_memmemsi_Intrinsic<"brev_lduh">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_ldb,PTR_ftype_PTRPTRSI,3) | |
// | |
def int_hexagon_brev_ldb : | |
Hexagon_mem_memmemsi_Intrinsic<"brev_ldb">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_ldub,PTR_ftype_PTRPTRSI,3) | |
// | |
def int_hexagon_brev_ldub : | |
Hexagon_mem_memmemsi_Intrinsic<"brev_ldub">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_ldd,PTR_ftype_PTRPTRSISI,4) | |
// | |
def int_hexagon_circ_ldd : | |
Hexagon_mem_memmemsisi_Intrinsic<"circ_ldd">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_ldw,PTR_ftype_PTRPTRSISI,4) | |
// | |
def int_hexagon_circ_ldw : | |
Hexagon_mem_memmemsisi_Intrinsic<"circ_ldw">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_ldh,PTR_ftype_PTRPTRSISI,4) | |
// | |
def int_hexagon_circ_ldh : | |
Hexagon_mem_memmemsisi_Intrinsic<"circ_ldh">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_lduh,PTR_ftype_PTRPTRSISI,4) | |
// | |
def int_hexagon_circ_lduh : | |
Hexagon_mem_memmemsisi_Intrinsic<"circ_lduh">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_ldb,PTR_ftype_PTRPTRSISI,4) | |
// | |
def int_hexagon_circ_ldb : | |
Hexagon_mem_memmemsisi_Intrinsic<"circ_ldb">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_ldub,PTR_ftype_PTRPTRSISI,4) | |
// | |
def int_hexagon_circ_ldub : | |
Hexagon_mem_memmemsisi_Intrinsic<"circ_ldub">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_stb,PTR_ftype_PTRSISI,3) | |
// | |
def int_hexagon_brev_stb : | |
Hexagon_mem_memsisi_Intrinsic<"brev_stb">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_sthhi,PTR_ftype_PTRSISI,3) | |
// | |
def int_hexagon_brev_sthhi : | |
Hexagon_mem_memsisi_Intrinsic<"brev_sthhi">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_sth,PTR_ftype_PTRSISI,3) | |
// | |
def int_hexagon_brev_sth : | |
Hexagon_mem_memsisi_Intrinsic<"brev_sth">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_stw,PTR_ftype_PTRSISI,3) | |
// | |
def int_hexagon_brev_stw : | |
Hexagon_mem_memsisi_Intrinsic<"brev_stw">; | |
// | |
// BUILTIN_INFO_NONCONST(brev_std,PTR_ftype_PTRSISI,3) | |
// | |
def int_hexagon_brev_std : | |
Hexagon_mem_memdisi_Intrinsic<"brev_std">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_std,PTR_ftype_PTRDISISI,4) | |
// | |
def int_hexagon_circ_std : | |
Hexagon_mem_memdisisi_Intrinsic<"circ_std">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_stw,PTR_ftype_PTRSISISI,4) | |
// | |
def int_hexagon_circ_stw : | |
Hexagon_mem_memsisisi_Intrinsic<"circ_stw">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_sth,PTR_ftype_PTRSISISI,4) | |
// | |
def int_hexagon_circ_sth : | |
Hexagon_mem_memsisisi_Intrinsic<"circ_sth">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_sthhi,PTR_ftype_PTRSISISI,4) | |
// | |
def int_hexagon_circ_sthhi : | |
Hexagon_mem_memsisisi_Intrinsic<"circ_sthhi">; | |
// | |
// BUILTIN_INFO_NONCONST(circ_stb,PTR_ftype_PTRSISISI,4) | |
// | |
def int_hexagon_circ_stb : | |
Hexagon_mem_memsisisi_Intrinsic<"circ_stb">; | |
def int_hexagon_mm256i_vaddw : | |
Hexagon_v256_v256v256_Intrinsic<"_mm256i_vaddw">; | |
// This one above will not be auto-generated, | |
// so make sure, you don't overwrite this one. | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpeq,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmpeq : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmpeq">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpgt,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmpgt : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmpgt">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpgtu,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmpgtu : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmpgtu">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpeqp,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_C2_cmpeqp : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_C2_cmpeqp">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpgtp,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_C2_cmpgtp : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_C2_cmpgtp">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpgtup,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_C2_cmpgtup : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_C2_cmpgtup">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_rcmpeqi,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_rcmpeqi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_rcmpeqi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_rcmpneqi,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_rcmpneqi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_rcmpneqi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_rcmpeq,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_rcmpeq : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_rcmpeq">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_rcmpneq,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_rcmpneq : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_rcmpneq">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_bitsset,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_bitsset : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_bitsset">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_bitsclr,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_bitsclr : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_bitsclr">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_nbitsset,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C4_nbitsset : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C4_nbitsset">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_nbitsclr,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C4_nbitsclr : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C4_nbitsclr">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpeqi,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmpeqi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmpeqi">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpgti,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmpgti : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmpgti">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpgtui,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmpgtui : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmpgtui">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpgei,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmpgei : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmpgei">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpgeui,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmpgeui : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmpgeui">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmplt,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmplt : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmplt">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_cmpltu,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_cmpltu : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_cmpltu">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_bitsclri,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C2_bitsclri : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_bitsclri">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_nbitsclri,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C4_nbitsclri : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C4_nbitsclri">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_cmpneqi,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C4_cmpneqi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C4_cmpneqi">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_cmpltei,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C4_cmpltei : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C4_cmpltei">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_cmplteui,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C4_cmplteui : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C4_cmplteui">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_cmpneq,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C4_cmpneq : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C4_cmpneq">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_cmplte,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C4_cmplte : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C4_cmplte">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_cmplteu,QI_ftype_SISI,2) | |
// | |
def int_hexagon_C4_cmplteu : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C4_cmplteu">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_and,QI_ftype_QIQI,2) | |
// | |
def int_hexagon_C2_and : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_or,QI_ftype_QIQI,2) | |
// | |
def int_hexagon_C2_or : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_xor,QI_ftype_QIQI,2) | |
// | |
def int_hexagon_C2_xor : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_andn,QI_ftype_QIQI,2) | |
// | |
def int_hexagon_C2_andn : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_andn">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_not,QI_ftype_QI,1) | |
// | |
def int_hexagon_C2_not : | |
Hexagon_si_si_Intrinsic<"HEXAGON_C2_not">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_orn,QI_ftype_QIQI,2) | |
// | |
def int_hexagon_C2_orn : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_C2_orn">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_and_and,QI_ftype_QIQIQI,3) | |
// | |
def int_hexagon_C4_and_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_C4_and_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_and_or,QI_ftype_QIQIQI,3) | |
// | |
def int_hexagon_C4_and_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_C4_and_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_or_and,QI_ftype_QIQIQI,3) | |
// | |
def int_hexagon_C4_or_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_C4_or_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_or_or,QI_ftype_QIQIQI,3) | |
// | |
def int_hexagon_C4_or_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_C4_or_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_and_andn,QI_ftype_QIQIQI,3) | |
// | |
def int_hexagon_C4_and_andn : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_C4_and_andn">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_and_orn,QI_ftype_QIQIQI,3) | |
// | |
def int_hexagon_C4_and_orn : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_C4_and_orn">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_or_andn,QI_ftype_QIQIQI,3) | |
// | |
def int_hexagon_C4_or_andn : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_C4_or_andn">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_or_orn,QI_ftype_QIQIQI,3) | |
// | |
def int_hexagon_C4_or_orn : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_C4_or_orn">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_pxfer_map,QI_ftype_QI,1) | |
// | |
def int_hexagon_C2_pxfer_map : | |
Hexagon_si_qi_Intrinsic<"HEXAGON_C2_pxfer_map">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_any8,QI_ftype_QI,1) | |
// | |
def int_hexagon_C2_any8 : | |
Hexagon_si_qi_Intrinsic<"HEXAGON_C2_any8">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_all8,QI_ftype_QI,1) | |
// | |
def int_hexagon_C2_all8 : | |
Hexagon_si_qi_Intrinsic<"HEXAGON_C2_all8">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_vitpack,SI_ftype_QIQI,2) | |
// | |
def int_hexagon_C2_vitpack : | |
Hexagon_si_qiqi_Intrinsic<"HEXAGON_C2_vitpack">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_mux,SI_ftype_QISISI,3) | |
// | |
def int_hexagon_C2_mux : | |
Hexagon_si_qisisi_Intrinsic<"HEXAGON_C2_mux">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_muxii,SI_ftype_QISISI,3) | |
// | |
def int_hexagon_C2_muxii : | |
Hexagon_si_qisisi_Intrinsic<"HEXAGON_C2_muxii">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_muxir,SI_ftype_QISISI,3) | |
// | |
def int_hexagon_C2_muxir : | |
Hexagon_si_qisisi_Intrinsic<"HEXAGON_C2_muxir">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_muxri,SI_ftype_QISISI,3) | |
// | |
def int_hexagon_C2_muxri : | |
Hexagon_si_qisisi_Intrinsic<"HEXAGON_C2_muxri">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_vmux,DI_ftype_QIDIDI,3) | |
// | |
def int_hexagon_C2_vmux : | |
Hexagon_di_qididi_Intrinsic<"HEXAGON_C2_vmux">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_mask,DI_ftype_QI,1) | |
// | |
def int_hexagon_C2_mask : | |
Hexagon_di_qi_Intrinsic<"HEXAGON_C2_mask">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vcmpbeq,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vcmpbeq : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A2_vcmpbeq">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmpbeqi,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_vcmpbeqi : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_vcmpbeqi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmpbeq_any,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A4_vcmpbeq_any : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A4_vcmpbeq_any">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vcmpbgtu,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vcmpbgtu : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A2_vcmpbgtu">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmpbgtui,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_vcmpbgtui : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_vcmpbgtui">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmpbgt,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A4_vcmpbgt : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A4_vcmpbgt">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmpbgti,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_vcmpbgti : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_vcmpbgti">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmpbeq,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmpbeq : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmpbeq">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmpbeqi,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmpbeqi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmpbeqi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmpbgtu,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmpbgtu : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmpbgtu">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmpbgtui,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmpbgtui : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmpbgtui">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmpbgt,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmpbgt : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmpbgt">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmpbgti,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmpbgti : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmpbgti">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vcmpheq,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vcmpheq : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A2_vcmpheq">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vcmphgt,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vcmphgt : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A2_vcmphgt">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vcmphgtu,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vcmphgtu : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A2_vcmphgtu">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmpheqi,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_vcmpheqi : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_vcmpheqi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmphgti,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_vcmphgti : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_vcmphgti">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmphgtui,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_vcmphgtui : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_vcmphgtui">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmpheq,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmpheq : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmpheq">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmphgt,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmphgt : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmphgt">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmphgtu,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmphgtu : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmphgtu">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmpheqi,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmpheqi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmpheqi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmphgti,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmphgti : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmphgti">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cmphgtui,QI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cmphgtui : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cmphgtui">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vcmpweq,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vcmpweq : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A2_vcmpweq">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vcmpwgt,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vcmpwgt : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A2_vcmpwgt">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vcmpwgtu,QI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vcmpwgtu : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A2_vcmpwgtu">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmpweqi,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_vcmpweqi : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_vcmpweqi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmpwgti,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_vcmpwgti : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_vcmpwgti">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vcmpwgtui,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_vcmpwgtui : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_vcmpwgtui">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_boundscheck,QI_ftype_SIDI,2) | |
// | |
def int_hexagon_A4_boundscheck : | |
Hexagon_si_sidi_Intrinsic<"HEXAGON_A4_boundscheck">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_tlbmatch,QI_ftype_DISI,2) | |
// | |
def int_hexagon_A4_tlbmatch : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_A4_tlbmatch">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_tfrpr,SI_ftype_QI,1) | |
// | |
def int_hexagon_C2_tfrpr : | |
Hexagon_si_qi_Intrinsic<"HEXAGON_C2_tfrpr">; | |
// | |
// BUILTIN_INFO(HEXAGON.C2_tfrrp,QI_ftype_SI,1) | |
// | |
def int_hexagon_C2_tfrrp : | |
Hexagon_si_si_Intrinsic<"HEXAGON_C2_tfrrp">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_fastcorner9,QI_ftype_QIQI,2) | |
// | |
def int_hexagon_C4_fastcorner9 : | |
Hexagon_si_qiqi_Intrinsic<"HEXAGON_C4_fastcorner9">; | |
// | |
// BUILTIN_INFO(HEXAGON.C4_fastcorner9_not,QI_ftype_QIQI,2) | |
// | |
def int_hexagon_C4_fastcorner9_not : | |
Hexagon_si_qiqi_Intrinsic<"HEXAGON_C4_fastcorner9_not">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_hh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_hh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_hh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_hh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_hl_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_hl_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_hl_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_hl_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_lh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_lh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_lh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_lh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_ll_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_ll_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_ll_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_ll_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_hh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_hh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_hh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_hh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_hl_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_hl_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_hl_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_hl_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_lh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_lh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_lh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_lh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_ll_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_ll_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_ll_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_ll_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_sat_hh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_sat_hh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_sat_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_sat_hh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_sat_hh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_sat_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_sat_hl_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_sat_hl_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_sat_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_sat_hl_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_sat_hl_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_sat_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_sat_lh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_sat_lh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_sat_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_sat_lh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_sat_lh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_sat_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_sat_ll_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_sat_ll_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_sat_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_acc_sat_ll_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_acc_sat_ll_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_acc_sat_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_sat_hh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_sat_hh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_sat_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_sat_hh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_sat_hh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_sat_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_sat_hl_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_sat_hl_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_sat_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_sat_hl_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_sat_hl_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_sat_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_sat_lh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_sat_lh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_sat_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_sat_lh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_sat_lh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_sat_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_sat_ll_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_sat_ll_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_sat_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_nac_sat_ll_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpy_nac_sat_ll_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpy_nac_sat_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_hh_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_hh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_hh_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_hh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_hl_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_hl_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_hl_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_hl_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_lh_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_lh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_lh_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_lh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_ll_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_ll_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_ll_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_ll_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_hh_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_hh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_hh_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_hh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_hl_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_hl_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_hl_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_hl_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_lh_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_lh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_lh_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_lh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_ll_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_ll_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_ll_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_ll_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_rnd_hh_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_rnd_hh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_rnd_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_rnd_hh_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_rnd_hh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_rnd_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_rnd_hl_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_rnd_hl_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_rnd_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_rnd_hl_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_rnd_hl_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_rnd_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_rnd_lh_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_rnd_lh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_rnd_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_rnd_lh_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_rnd_lh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_rnd_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_rnd_ll_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_rnd_ll_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_rnd_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_rnd_ll_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_rnd_ll_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_rnd_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_rnd_hh_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_rnd_hh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_rnd_hh_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_rnd_hh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_rnd_hl_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_rnd_hl_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_rnd_hl_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_rnd_hl_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_rnd_lh_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_rnd_lh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_rnd_lh_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_rnd_lh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_rnd_ll_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_rnd_ll_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_sat_rnd_ll_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_sat_rnd_ll_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_sat_rnd_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_acc_hh_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_acc_hh_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_acc_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_acc_hh_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_acc_hh_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_acc_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_acc_hl_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_acc_hl_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_acc_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_acc_hl_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_acc_hl_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_acc_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_acc_lh_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_acc_lh_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_acc_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_acc_lh_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_acc_lh_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_acc_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_acc_ll_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_acc_ll_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_acc_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_acc_ll_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_acc_ll_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_acc_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_nac_hh_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_nac_hh_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_nac_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_nac_hh_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_nac_hh_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_nac_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_nac_hl_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_nac_hl_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_nac_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_nac_hl_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_nac_hl_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_nac_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_nac_lh_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_nac_lh_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_nac_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_nac_lh_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_nac_lh_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_nac_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_nac_ll_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_nac_ll_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_nac_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_nac_ll_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyd_nac_ll_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyd_nac_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_hh_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_hh_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_hh_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_hh_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_hl_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_hl_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_hl_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_hl_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_lh_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_lh_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_lh_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_lh_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_ll_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_ll_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_ll_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_ll_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_rnd_hh_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_rnd_hh_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_rnd_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_rnd_hh_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_rnd_hh_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_rnd_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_rnd_hl_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_rnd_hl_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_rnd_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_rnd_hl_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_rnd_hl_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_rnd_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_rnd_lh_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_rnd_lh_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_rnd_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_rnd_lh_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_rnd_lh_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_rnd_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_rnd_ll_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_rnd_ll_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_rnd_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyd_rnd_ll_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyd_rnd_ll_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyd_rnd_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_acc_hh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_acc_hh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_acc_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_acc_hh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_acc_hh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_acc_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_acc_hl_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_acc_hl_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_acc_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_acc_hl_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_acc_hl_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_acc_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_acc_lh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_acc_lh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_acc_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_acc_lh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_acc_lh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_acc_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_acc_ll_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_acc_ll_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_acc_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_acc_ll_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_acc_ll_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_acc_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_nac_hh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_nac_hh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_nac_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_nac_hh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_nac_hh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_nac_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_nac_hl_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_nac_hl_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_nac_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_nac_hl_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_nac_hl_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_nac_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_nac_lh_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_nac_lh_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_nac_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_nac_lh_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_nac_lh_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_nac_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_nac_ll_s0,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_nac_ll_s0 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_nac_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_nac_ll_s1,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_mpyu_nac_ll_s1 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_mpyu_nac_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_hh_s0,USI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyu_hh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyu_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_hh_s1,USI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyu_hh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyu_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_hl_s0,USI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyu_hl_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyu_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_hl_s1,USI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyu_hl_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyu_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_lh_s0,USI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyu_lh_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyu_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_lh_s1,USI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyu_lh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyu_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_ll_s0,USI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyu_ll_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyu_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_ll_s1,USI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyu_ll_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyu_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_acc_hh_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_acc_hh_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_acc_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_acc_hh_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_acc_hh_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_acc_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_acc_hl_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_acc_hl_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_acc_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_acc_hl_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_acc_hl_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_acc_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_acc_lh_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_acc_lh_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_acc_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_acc_lh_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_acc_lh_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_acc_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_acc_ll_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_acc_ll_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_acc_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_acc_ll_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_acc_ll_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_acc_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_nac_hh_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_nac_hh_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_nac_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_nac_hh_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_nac_hh_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_nac_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_nac_hl_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_nac_hl_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_nac_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_nac_hl_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_nac_hl_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_nac_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_nac_lh_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_nac_lh_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_nac_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_nac_lh_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_nac_lh_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_nac_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_nac_ll_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_nac_ll_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_nac_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_nac_ll_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_mpyud_nac_ll_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_mpyud_nac_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_hh_s0,UDI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyud_hh_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyud_hh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_hh_s1,UDI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyud_hh_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyud_hh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_hl_s0,UDI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyud_hl_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyud_hl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_hl_s1,UDI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyud_hl_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyud_hl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_lh_s0,UDI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyud_lh_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyud_lh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_lh_s1,UDI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyud_lh_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyud_lh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_ll_s0,UDI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyud_ll_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyud_ll_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyud_ll_s1,UDI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyud_ll_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_mpyud_ll_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpysmi,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpysmi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpysmi">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_macsip,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_macsip : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_macsip">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_macsin,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_macsin : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_macsin">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_dpmpyss_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_dpmpyss_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_dpmpyss_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_dpmpyss_acc_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_dpmpyss_acc_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_dpmpyss_acc_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_dpmpyss_nac_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_dpmpyss_nac_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_dpmpyss_nac_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_dpmpyuu_s0,UDI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_dpmpyuu_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_dpmpyuu_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_dpmpyuu_acc_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_dpmpyuu_acc_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_dpmpyuu_acc_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_dpmpyuu_nac_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_dpmpyuu_nac_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_dpmpyuu_nac_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_up,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_up : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_up">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_up_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_up_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_up_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpy_up_s1_sat,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpy_up_s1_sat : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpy_up_s1_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyu_up,USI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyu_up : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyu_up">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpysu_up,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpysu_up : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpysu_up">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_dpmpyss_rnd_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_dpmpyss_rnd_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_dpmpyss_rnd_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_mac_up_s1_sat,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_mac_up_s1_sat : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_mac_up_s1_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_nac_up_s1_sat,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_nac_up_s1_sat : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_nac_up_s1_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyi,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyi">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mpyui,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_mpyui : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_mpyui">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_maci,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_maci : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_maci">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_acci,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_acci : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_acci">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_accii,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_accii : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_accii">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_nacci,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_nacci : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_nacci">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_naccii,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_naccii : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_naccii">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_subacc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_subacc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_subacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_mpyrr_addr,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_mpyrr_addr : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_mpyrr_addr">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_mpyri_addr_u2,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_mpyri_addr_u2 : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_mpyri_addr_u2">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_mpyri_addr,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_mpyri_addr : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_mpyri_addr">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_mpyri_addi,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_mpyri_addi : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_mpyri_addi">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_mpyrr_addi,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_mpyrr_addi : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_mpyrr_addi">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmpy2s_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_vmpy2s_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_vmpy2s_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmpy2s_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_vmpy2s_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_vmpy2s_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmac2s_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_vmac2s_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_vmac2s_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmac2s_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_vmac2s_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_vmac2s_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmpy2su_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_vmpy2su_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_vmpy2su_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmpy2su_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_vmpy2su_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_vmpy2su_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmac2su_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_vmac2su_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_vmac2su_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmac2su_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_vmac2su_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_vmac2su_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmpy2s_s0pack,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_vmpy2s_s0pack : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_vmpy2s_s0pack">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmpy2s_s1pack,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_vmpy2s_s1pack : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_vmpy2s_s1pack">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmac2,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_vmac2 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_vmac2">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmpy2es_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vmpy2es_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vmpy2es_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmpy2es_s1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vmpy2es_s1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vmpy2es_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmac2es_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vmac2es_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vmac2es_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmac2es_s1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vmac2es_s1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vmac2es_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vmac2es,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vmac2es : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vmac2es">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrmac_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vrmac_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vrmac_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrmpy_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vrmpy_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vrmpy_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vdmpyrs_s0,SI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vdmpyrs_s0 : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_M2_vdmpyrs_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vdmpyrs_s1,SI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vdmpyrs_s1 : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_M2_vdmpyrs_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vrmpybuu,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M5_vrmpybuu : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M5_vrmpybuu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vrmacbuu,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M5_vrmacbuu : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M5_vrmacbuu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vrmpybsu,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M5_vrmpybsu : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M5_vrmpybsu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vrmacbsu,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M5_vrmacbsu : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M5_vrmacbsu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vmpybuu,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M5_vmpybuu : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M5_vmpybuu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vmpybsu,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M5_vmpybsu : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M5_vmpybsu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vmacbuu,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M5_vmacbuu : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M5_vmacbuu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vmacbsu,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M5_vmacbsu : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M5_vmacbsu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vdmpybsu,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M5_vdmpybsu : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M5_vdmpybsu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M5_vdmacbsu,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M5_vdmacbsu : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M5_vdmacbsu">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vdmacs_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vdmacs_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vdmacs_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vdmacs_s1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vdmacs_s1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vdmacs_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vdmpys_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vdmpys_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vdmpys_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vdmpys_s1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vdmpys_s1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vdmpys_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpyrs_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpyrs_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_cmpyrs_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpyrs_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpyrs_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_cmpyrs_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpyrsc_s0,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpyrsc_s0 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_cmpyrsc_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpyrsc_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpyrsc_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_cmpyrsc_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmacs_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cmacs_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cmacs_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmacs_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cmacs_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cmacs_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmacsc_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cmacsc_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cmacsc_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmacsc_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cmacsc_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cmacsc_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpys_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpys_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_cmpys_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpys_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpys_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_cmpys_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpysc_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpysc_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_cmpysc_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpysc_s1,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpysc_s1 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_cmpysc_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cnacs_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cnacs_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cnacs_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cnacs_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cnacs_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cnacs_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cnacsc_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cnacsc_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cnacsc_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cnacsc_s1,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cnacsc_s1 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cnacsc_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmpys_s1,DI_ftype_DISI,2) | |
// | |
def int_hexagon_M2_vrcmpys_s1 : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_M2_vrcmpys_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmpys_acc_s1,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_M2_vrcmpys_acc_s1 : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_M2_vrcmpys_acc_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmpys_s1rp,SI_ftype_DISI,2) | |
// | |
def int_hexagon_M2_vrcmpys_s1rp : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_M2_vrcmpys_s1rp">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmacls_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmacls_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmacls_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmacls_s1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmacls_s1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmacls_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmachs_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmachs_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmachs_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmachs_s1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmachs_s1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmachs_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyl_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyl_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyl_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyl_s1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyl_s1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyh_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyh_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyh_s1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyh_s1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmacls_rs0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmacls_rs0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmacls_rs0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmacls_rs1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmacls_rs1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmacls_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmachs_rs0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmachs_rs0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmachs_rs0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmachs_rs1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmachs_rs1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmachs_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyl_rs0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyl_rs0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyl_rs0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyl_rs1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyl_rs1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyl_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyh_rs0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyh_rs0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyh_rs0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyh_rs1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyh_rs1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyh_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vrmpyeh_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M4_vrmpyeh_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M4_vrmpyeh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vrmpyeh_s1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M4_vrmpyeh_s1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M4_vrmpyeh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vrmpyeh_acc_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M4_vrmpyeh_acc_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M4_vrmpyeh_acc_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vrmpyeh_acc_s1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M4_vrmpyeh_acc_s1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M4_vrmpyeh_acc_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vrmpyoh_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M4_vrmpyoh_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M4_vrmpyoh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vrmpyoh_s1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M4_vrmpyoh_s1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M4_vrmpyoh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vrmpyoh_acc_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M4_vrmpyoh_acc_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M4_vrmpyoh_acc_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vrmpyoh_acc_s1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M4_vrmpyoh_acc_s1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M4_vrmpyoh_acc_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_hmmpyl_rs1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_hmmpyl_rs1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_hmmpyl_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_hmmpyh_rs1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_hmmpyh_rs1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_hmmpyh_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_hmmpyl_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_hmmpyl_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_hmmpyl_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_hmmpyh_s1,SI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_hmmpyh_s1 : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_M2_hmmpyh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmaculs_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmaculs_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmaculs_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmaculs_s1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmaculs_s1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmaculs_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmacuhs_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmacuhs_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmacuhs_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmacuhs_s1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmacuhs_s1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmacuhs_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyul_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyul_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyul_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyul_s1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyul_s1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyul_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyuh_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyuh_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyuh_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyuh_s1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyuh_s1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyuh_s1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmaculs_rs0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmaculs_rs0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmaculs_rs0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmaculs_rs1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmaculs_rs1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmaculs_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmacuhs_rs0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmacuhs_rs0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmacuhs_rs0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmacuhs_rs1,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_mmacuhs_rs1 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_mmacuhs_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyul_rs0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyul_rs0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyul_rs0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyul_rs1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyul_rs1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyul_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyuh_rs0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyuh_rs0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyuh_rs0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_mmpyuh_rs1,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_mmpyuh_rs1 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_mmpyuh_rs1">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmaci_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vrcmaci_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vrcmaci_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmacr_s0,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vrcmacr_s0 : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vrcmacr_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmaci_s0c,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vrcmaci_s0c : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vrcmaci_s0c">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmacr_s0c,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vrcmacr_s0c : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vrcmacr_s0c">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmaci_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cmaci_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cmaci_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmacr_s0,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M2_cmacr_s0 : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M2_cmacr_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmpyi_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vrcmpyi_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vrcmpyi_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmpyr_s0,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vrcmpyr_s0 : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vrcmpyr_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmpyi_s0c,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vrcmpyi_s0c : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vrcmpyi_s0c">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vrcmpyr_s0c,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vrcmpyr_s0c : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vrcmpyr_s0c">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpyi_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpyi_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_cmpyi_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_cmpyr_s0,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M2_cmpyr_s0 : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M2_cmpyr_s0">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_cmpyi_wh,SI_ftype_DISI,2) | |
// | |
def int_hexagon_M4_cmpyi_wh : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_M4_cmpyi_wh">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_cmpyr_wh,SI_ftype_DISI,2) | |
// | |
def int_hexagon_M4_cmpyr_wh : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_M4_cmpyr_wh">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_cmpyi_whc,SI_ftype_DISI,2) | |
// | |
def int_hexagon_M4_cmpyi_whc : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_M4_cmpyi_whc">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_cmpyr_whc,SI_ftype_DISI,2) | |
// | |
def int_hexagon_M4_cmpyr_whc : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_M4_cmpyr_whc">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vcmpy_s0_sat_i,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vcmpy_s0_sat_i : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vcmpy_s0_sat_i">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vcmpy_s0_sat_r,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vcmpy_s0_sat_r : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vcmpy_s0_sat_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vcmpy_s1_sat_i,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vcmpy_s1_sat_i : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vcmpy_s1_sat_i">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vcmpy_s1_sat_r,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vcmpy_s1_sat_r : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vcmpy_s1_sat_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vcmac_s0_sat_i,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vcmac_s0_sat_i : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vcmac_s0_sat_i">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vcmac_s0_sat_r,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M2_vcmac_s0_sat_r : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M2_vcmac_s0_sat_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vcrotate,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_vcrotate : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_vcrotate">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_vrcrotate_acc,DI_ftype_DIDISISI,4) | |
// | |
def int_hexagon_S4_vrcrotate_acc : | |
Hexagon_di_didisisi_Intrinsic<"HEXAGON_S4_vrcrotate_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_vrcrotate,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_S4_vrcrotate : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_S4_vrcrotate">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vcnegh,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_vcnegh : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_vcnegh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vrcnegh,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_vrcnegh : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_vrcnegh">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_pmpyw,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M4_pmpyw : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M4_pmpyw">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vpmpyh,DI_ftype_SISI,2) | |
// | |
def int_hexagon_M4_vpmpyh : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_M4_vpmpyh">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_pmpyw_acc,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M4_pmpyw_acc : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M4_pmpyw_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_vpmpyh_acc,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_M4_vpmpyh_acc : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_M4_vpmpyh_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_add,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_add : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_add">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_sub,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_sub : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_sub">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addsat,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addsat : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subsat,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subsat : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addi,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_l16_ll,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_l16_ll : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_l16_ll">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_l16_hl,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_l16_hl : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_l16_hl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_l16_sat_ll,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_l16_sat_ll : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_l16_sat_ll">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_l16_sat_hl,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_l16_sat_hl : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_l16_sat_hl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_l16_ll,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_l16_ll : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_l16_ll">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_l16_hl,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_l16_hl : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_l16_hl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_l16_sat_ll,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_l16_sat_ll : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_l16_sat_ll">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_l16_sat_hl,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_l16_sat_hl : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_l16_sat_hl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_h16_ll,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_h16_ll : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_h16_ll">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_h16_lh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_h16_lh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_h16_lh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_h16_hl,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_h16_hl : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_h16_hl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_h16_hh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_h16_hh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_h16_hh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_h16_sat_ll,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_h16_sat_ll : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_h16_sat_ll">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_h16_sat_lh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_h16_sat_lh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_h16_sat_lh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_h16_sat_hl,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_h16_sat_hl : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_h16_sat_hl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addh_h16_sat_hh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_addh_h16_sat_hh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_addh_h16_sat_hh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_h16_ll,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_h16_ll : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_h16_ll">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_h16_lh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_h16_lh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_h16_lh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_h16_hl,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_h16_hl : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_h16_hl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_h16_hh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_h16_hh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_h16_hh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_h16_sat_ll,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_h16_sat_ll : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_h16_sat_ll">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_h16_sat_lh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_h16_sat_lh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_h16_sat_lh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_h16_sat_hl,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_h16_sat_hl : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_h16_sat_hl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subh_h16_sat_hh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subh_h16_sat_hh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subh_h16_sat_hh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_aslh,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_aslh : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_aslh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_asrh,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_asrh : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_asrh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_addp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_addp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addpsat,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_addpsat : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_addpsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_addsp,DI_ftype_SIDI,2) | |
// | |
def int_hexagon_A2_addsp : | |
Hexagon_di_sidi_Intrinsic<"HEXAGON_A2_addsp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_subp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_subp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_neg,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_neg : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_neg">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_negsat,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_negsat : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_negsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_abs,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_abs : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_abs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_abssat,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_abssat : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_abssat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vconj,DI_ftype_DI,1) | |
// | |
def int_hexagon_A2_vconj : | |
Hexagon_di_di_Intrinsic<"HEXAGON_A2_vconj">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_negp,DI_ftype_DI,1) | |
// | |
def int_hexagon_A2_negp : | |
Hexagon_di_di_Intrinsic<"HEXAGON_A2_negp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_absp,DI_ftype_DI,1) | |
// | |
def int_hexagon_A2_absp : | |
Hexagon_di_di_Intrinsic<"HEXAGON_A2_absp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_max,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_max : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_max">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_maxu,USI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_maxu : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_maxu">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_min,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_min : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_min">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_minu,USI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_minu : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_minu">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_maxp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_maxp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_maxp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_maxup,UDI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_maxup : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_maxup">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_minp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_minp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_minp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_minup,UDI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_minup : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_minup">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_tfr,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_tfr : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_tfr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_tfrsi,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_tfrsi : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_tfrsi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_tfrp,DI_ftype_DI,1) | |
// | |
def int_hexagon_A2_tfrp : | |
Hexagon_di_di_Intrinsic<"HEXAGON_A2_tfrp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_tfrpi,DI_ftype_SI,1) | |
// | |
def int_hexagon_A2_tfrpi : | |
Hexagon_di_si_Intrinsic<"HEXAGON_A2_tfrpi">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_zxtb,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_zxtb : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_zxtb">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_sxtb,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_sxtb : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_sxtb">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_zxth,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_zxth : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_zxth">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_sxth,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_sxth : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_sxth">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_combinew,DI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_combinew : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_A2_combinew">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_combineri,DI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_combineri : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_A4_combineri">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_combineir,DI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_combineir : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_A4_combineir">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_combineii,DI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_combineii : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_A2_combineii">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_combine_hh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_combine_hh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_combine_hh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_combine_hl,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_combine_hl : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_combine_hl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_combine_lh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_combine_lh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_combine_lh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_combine_ll,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_combine_ll : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_combine_ll">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_tfril,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_tfril : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_tfril">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_tfrih,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_tfrih : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_tfrih">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_and,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_and : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_or,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_or : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_xor,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_xor : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_not,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_not : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_not">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_xor_xacc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M2_xor_xacc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M2_xor_xacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_xor_xacc,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_M4_xor_xacc : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_M4_xor_xacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_andn,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_andn : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_andn">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_orn,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_orn : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_orn">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_andnp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A4_andnp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A4_andnp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_ornp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A4_ornp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A4_ornp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_addaddi,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_addaddi : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_addaddi">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_subaddi,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_subaddi : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_subaddi">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_and_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_and_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_and_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_and_andn,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_and_andn : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_and_andn">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_and_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_and_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_and_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_and_xor,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_and_xor : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_and_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_or_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_or_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_or_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_or_andn,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_or_andn : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_or_andn">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_or_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_or_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_or_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_or_xor,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_or_xor : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_or_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_or_andix,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_or_andix : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_or_andix">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_or_andi,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_or_andi : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_or_andi">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_or_ori,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_or_ori : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_or_ori">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_xor_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_xor_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_xor_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_xor_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_xor_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_xor_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.M4_xor_andn,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_M4_xor_andn : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_M4_xor_andn">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_subri,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_subri : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_subri">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_andir,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_andir : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_andir">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_orir,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_orir : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_orir">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_andp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_andp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_andp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_orp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_orp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_orp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_xorp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_xorp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_xorp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_notp,DI_ftype_DI,1) | |
// | |
def int_hexagon_A2_notp : | |
Hexagon_di_di_Intrinsic<"HEXAGON_A2_notp">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_sxtw,DI_ftype_SI,1) | |
// | |
def int_hexagon_A2_sxtw : | |
Hexagon_di_si_Intrinsic<"HEXAGON_A2_sxtw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_sat,SI_ftype_DI,1) | |
// | |
def int_hexagon_A2_sat : | |
Hexagon_si_di_Intrinsic<"HEXAGON_A2_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_roundsat,SI_ftype_DI,1) | |
// | |
def int_hexagon_A2_roundsat : | |
Hexagon_si_di_Intrinsic<"HEXAGON_A2_roundsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_sath,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_sath : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_sath">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_satuh,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_satuh : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_satuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_satub,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_satub : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_satub">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_satb,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_satb : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_satb">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vaddub,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vaddub : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vaddub">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vaddb_map,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vaddb_map : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vaddb_map">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vaddubs,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vaddubs : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vaddubs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vaddh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vaddh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vaddh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vaddhs,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vaddhs : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vaddhs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vadduhs,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vadduhs : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vadduhs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A5_vaddhubs,SI_ftype_DIDI,2) | |
// | |
def int_hexagon_A5_vaddhubs : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_A5_vaddhubs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vaddw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vaddw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vaddw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vaddws,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vaddws : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vaddws">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_vxaddsubw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S4_vxaddsubw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S4_vxaddsubw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_vxsubaddw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S4_vxsubaddw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S4_vxsubaddw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_vxaddsubh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S4_vxaddsubh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S4_vxaddsubh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_vxsubaddh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S4_vxsubaddh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S4_vxsubaddh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_vxaddsubhr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S4_vxaddsubhr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S4_vxaddsubhr">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_vxsubaddhr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S4_vxsubaddhr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S4_vxsubaddhr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_svavgh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_svavgh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_svavgh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_svavghs,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_svavghs : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_svavghs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_svnavgh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_svnavgh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_svnavgh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_svaddh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_svaddh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_svaddh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_svaddhs,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_svaddhs : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_svaddhs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_svadduhs,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_svadduhs : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_svadduhs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_svsubh,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_svsubh : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_svsubh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_svsubhs,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_svsubhs : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_svsubhs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_svsubuhs,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A2_svsubuhs : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A2_svsubuhs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vraddub,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vraddub : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vraddub">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vraddub_acc,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_A2_vraddub_acc : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_A2_vraddub_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vraddh,SI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vraddh : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_M2_vraddh">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vradduh,SI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vradduh : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_M2_vradduh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vsubub,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vsubub : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vsubub">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vsubb_map,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vsubb_map : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vsubb_map">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vsububs,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vsububs : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vsububs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vsubh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vsubh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vsubh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vsubhs,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vsubhs : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vsubhs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vsubuhs,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vsubuhs : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vsubuhs">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vsubw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vsubw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vsubw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vsubws,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vsubws : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vsubws">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vabsh,DI_ftype_DI,1) | |
// | |
def int_hexagon_A2_vabsh : | |
Hexagon_di_di_Intrinsic<"HEXAGON_A2_vabsh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vabshsat,DI_ftype_DI,1) | |
// | |
def int_hexagon_A2_vabshsat : | |
Hexagon_di_di_Intrinsic<"HEXAGON_A2_vabshsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vabsw,DI_ftype_DI,1) | |
// | |
def int_hexagon_A2_vabsw : | |
Hexagon_di_di_Intrinsic<"HEXAGON_A2_vabsw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vabswsat,DI_ftype_DI,1) | |
// | |
def int_hexagon_A2_vabswsat : | |
Hexagon_di_di_Intrinsic<"HEXAGON_A2_vabswsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vabsdiffw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vabsdiffw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vabsdiffw">; | |
// | |
// BUILTIN_INFO(HEXAGON.M2_vabsdiffh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_M2_vabsdiffh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_M2_vabsdiffh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vrsadub,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vrsadub : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vrsadub">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vrsadub_acc,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_A2_vrsadub_acc : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_A2_vrsadub_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavgub,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavgub : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavgub">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavguh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavguh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavguh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavgh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavgh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavgh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vnavgh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vnavgh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vnavgh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavgw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavgw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavgw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vnavgw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vnavgw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vnavgw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavgwr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavgwr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavgwr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vnavgwr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vnavgwr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vnavgwr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavgwcr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavgwcr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavgwcr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vnavgwcr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vnavgwcr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vnavgwcr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavghcr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavghcr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavghcr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vnavghcr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vnavghcr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vnavghcr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavguw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavguw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavguw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavguwr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavguwr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavguwr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavgubr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavgubr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavgubr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavguhr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavguhr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavguhr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vavghr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vavghr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vavghr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vnavghr,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vnavghr : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vnavghr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_round_ri,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_round_ri : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_round_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_round_rr,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_round_rr : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_round_rr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_round_ri_sat,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_round_ri_sat : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_round_ri_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_round_rr_sat,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_round_rr_sat : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_round_rr_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cround_ri,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cround_ri : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cround_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_cround_rr,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_cround_rr : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_cround_rr">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vrminh,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_A4_vrminh : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_A4_vrminh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vrmaxh,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_A4_vrmaxh : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_A4_vrmaxh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vrminuh,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_A4_vrminuh : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_A4_vrminuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vrmaxuh,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_A4_vrmaxuh : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_A4_vrmaxuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vrminw,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_A4_vrminw : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_A4_vrminw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vrmaxw,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_A4_vrmaxw : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_A4_vrmaxw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vrminuw,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_A4_vrminuw : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_A4_vrminuw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_vrmaxuw,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_A4_vrmaxuw : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_A4_vrmaxuw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vminb,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vminb : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vminb">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vmaxb,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vmaxb : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vmaxb">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vminub,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vminub : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vminub">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vmaxub,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vmaxub : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vmaxub">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vminh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vminh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vminh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vmaxh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vmaxh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vmaxh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vminuh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vminuh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vminuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vmaxuh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vmaxuh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vmaxuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vminw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vminw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vminw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vmaxw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vmaxw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vmaxw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vminuw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vminuw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vminuw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_vmaxuw,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_A2_vmaxuw : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_A2_vmaxuw">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_modwrapu,SI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_modwrapu : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_A4_modwrapu">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfadd,SF_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sfadd : | |
Hexagon_sf_sfsf_Intrinsic<"HEXAGON_F2_sfadd">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfsub,SF_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sfsub : | |
Hexagon_sf_sfsf_Intrinsic<"HEXAGON_F2_sfsub">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfmpy,SF_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sfmpy : | |
Hexagon_sf_sfsf_Intrinsic<"HEXAGON_F2_sfmpy">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sffma,SF_ftype_SFSFSF,3) | |
// | |
def int_hexagon_F2_sffma : | |
Hexagon_sf_sfsfsf_Intrinsic<"HEXAGON_F2_sffma">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sffma_sc,SF_ftype_SFSFSFQI,4) | |
// | |
def int_hexagon_F2_sffma_sc : | |
Hexagon_sf_sfsfsfqi_Intrinsic<"HEXAGON_F2_sffma_sc">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sffms,SF_ftype_SFSFSF,3) | |
// | |
def int_hexagon_F2_sffms : | |
Hexagon_sf_sfsfsf_Intrinsic<"HEXAGON_F2_sffms">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sffma_lib,SF_ftype_SFSFSF,3) | |
// | |
def int_hexagon_F2_sffma_lib : | |
Hexagon_sf_sfsfsf_Intrinsic<"HEXAGON_F2_sffma_lib">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sffms_lib,SF_ftype_SFSFSF,3) | |
// | |
def int_hexagon_F2_sffms_lib : | |
Hexagon_sf_sfsfsf_Intrinsic<"HEXAGON_F2_sffms_lib">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfcmpeq,QI_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sfcmpeq : | |
Hexagon_si_sfsf_Intrinsic<"HEXAGON_F2_sfcmpeq">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfcmpgt,QI_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sfcmpgt : | |
Hexagon_si_sfsf_Intrinsic<"HEXAGON_F2_sfcmpgt">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfcmpge,QI_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sfcmpge : | |
Hexagon_si_sfsf_Intrinsic<"HEXAGON_F2_sfcmpge">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfcmpuo,QI_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sfcmpuo : | |
Hexagon_si_sfsf_Intrinsic<"HEXAGON_F2_sfcmpuo">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfmax,SF_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sfmax : | |
Hexagon_sf_sfsf_Intrinsic<"HEXAGON_F2_sfmax">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfmin,SF_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sfmin : | |
Hexagon_sf_sfsf_Intrinsic<"HEXAGON_F2_sfmin">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfclass,QI_ftype_SFSI,2) | |
// | |
def int_hexagon_F2_sfclass : | |
Hexagon_si_sfsi_Intrinsic<"HEXAGON_F2_sfclass">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfimm_p,SF_ftype_SI,1) | |
// | |
def int_hexagon_F2_sfimm_p : | |
Hexagon_sf_si_Intrinsic<"HEXAGON_F2_sfimm_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sfimm_n,SF_ftype_SI,1) | |
// | |
def int_hexagon_F2_sfimm_n : | |
Hexagon_sf_si_Intrinsic<"HEXAGON_F2_sfimm_n">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sffixupn,SF_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sffixupn : | |
Hexagon_sf_sfsf_Intrinsic<"HEXAGON_F2_sffixupn">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sffixupd,SF_ftype_SFSF,2) | |
// | |
def int_hexagon_F2_sffixupd : | |
Hexagon_sf_sfsf_Intrinsic<"HEXAGON_F2_sffixupd">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_sffixupr,SF_ftype_SF,1) | |
// | |
def int_hexagon_F2_sffixupr : | |
Hexagon_sf_sf_Intrinsic<"HEXAGON_F2_sffixupr">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_dfcmpeq,QI_ftype_DFDF,2) | |
// | |
def int_hexagon_F2_dfcmpeq : | |
Hexagon_si_dfdf_Intrinsic<"HEXAGON_F2_dfcmpeq">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_dfcmpgt,QI_ftype_DFDF,2) | |
// | |
def int_hexagon_F2_dfcmpgt : | |
Hexagon_si_dfdf_Intrinsic<"HEXAGON_F2_dfcmpgt">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_dfcmpge,QI_ftype_DFDF,2) | |
// | |
def int_hexagon_F2_dfcmpge : | |
Hexagon_si_dfdf_Intrinsic<"HEXAGON_F2_dfcmpge">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_dfcmpuo,QI_ftype_DFDF,2) | |
// | |
def int_hexagon_F2_dfcmpuo : | |
Hexagon_si_dfdf_Intrinsic<"HEXAGON_F2_dfcmpuo">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_dfclass,QI_ftype_DFSI,2) | |
// | |
def int_hexagon_F2_dfclass : | |
Hexagon_si_dfsi_Intrinsic<"HEXAGON_F2_dfclass">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_dfimm_p,DF_ftype_SI,1) | |
// | |
def int_hexagon_F2_dfimm_p : | |
Hexagon_df_si_Intrinsic<"HEXAGON_F2_dfimm_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_dfimm_n,DF_ftype_SI,1) | |
// | |
def int_hexagon_F2_dfimm_n : | |
Hexagon_df_si_Intrinsic<"HEXAGON_F2_dfimm_n">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_sf2df,DF_ftype_SF,1) | |
// | |
def int_hexagon_F2_conv_sf2df : | |
Hexagon_df_sf_Intrinsic<"HEXAGON_F2_conv_sf2df">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_df2sf,SF_ftype_DF,1) | |
// | |
def int_hexagon_F2_conv_df2sf : | |
Hexagon_sf_df_Intrinsic<"HEXAGON_F2_conv_df2sf">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_uw2sf,SF_ftype_SI,1) | |
// | |
def int_hexagon_F2_conv_uw2sf : | |
Hexagon_sf_si_Intrinsic<"HEXAGON_F2_conv_uw2sf">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_uw2df,DF_ftype_SI,1) | |
// | |
def int_hexagon_F2_conv_uw2df : | |
Hexagon_df_si_Intrinsic<"HEXAGON_F2_conv_uw2df">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_w2sf,SF_ftype_SI,1) | |
// | |
def int_hexagon_F2_conv_w2sf : | |
Hexagon_sf_si_Intrinsic<"HEXAGON_F2_conv_w2sf">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_w2df,DF_ftype_SI,1) | |
// | |
def int_hexagon_F2_conv_w2df : | |
Hexagon_df_si_Intrinsic<"HEXAGON_F2_conv_w2df">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_ud2sf,SF_ftype_DI,1) | |
// | |
def int_hexagon_F2_conv_ud2sf : | |
Hexagon_sf_di_Intrinsic<"HEXAGON_F2_conv_ud2sf">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_ud2df,DF_ftype_DI,1) | |
// | |
def int_hexagon_F2_conv_ud2df : | |
Hexagon_df_di_Intrinsic<"HEXAGON_F2_conv_ud2df">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_d2sf,SF_ftype_DI,1) | |
// | |
def int_hexagon_F2_conv_d2sf : | |
Hexagon_sf_di_Intrinsic<"HEXAGON_F2_conv_d2sf">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_d2df,DF_ftype_DI,1) | |
// | |
def int_hexagon_F2_conv_d2df : | |
Hexagon_df_di_Intrinsic<"HEXAGON_F2_conv_d2df">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_sf2uw,SI_ftype_SF,1) | |
// | |
def int_hexagon_F2_conv_sf2uw : | |
Hexagon_si_sf_Intrinsic<"HEXAGON_F2_conv_sf2uw">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_sf2w,SI_ftype_SF,1) | |
// | |
def int_hexagon_F2_conv_sf2w : | |
Hexagon_si_sf_Intrinsic<"HEXAGON_F2_conv_sf2w">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_sf2ud,DI_ftype_SF,1) | |
// | |
def int_hexagon_F2_conv_sf2ud : | |
Hexagon_di_sf_Intrinsic<"HEXAGON_F2_conv_sf2ud">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_sf2d,DI_ftype_SF,1) | |
// | |
def int_hexagon_F2_conv_sf2d : | |
Hexagon_di_sf_Intrinsic<"HEXAGON_F2_conv_sf2d">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_df2uw,SI_ftype_DF,1) | |
// | |
def int_hexagon_F2_conv_df2uw : | |
Hexagon_si_df_Intrinsic<"HEXAGON_F2_conv_df2uw">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_df2w,SI_ftype_DF,1) | |
// | |
def int_hexagon_F2_conv_df2w : | |
Hexagon_si_df_Intrinsic<"HEXAGON_F2_conv_df2w">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_df2ud,DI_ftype_DF,1) | |
// | |
def int_hexagon_F2_conv_df2ud : | |
Hexagon_di_df_Intrinsic<"HEXAGON_F2_conv_df2ud">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_df2d,DI_ftype_DF,1) | |
// | |
def int_hexagon_F2_conv_df2d : | |
Hexagon_di_df_Intrinsic<"HEXAGON_F2_conv_df2d">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_sf2uw_chop,SI_ftype_SF,1) | |
// | |
def int_hexagon_F2_conv_sf2uw_chop : | |
Hexagon_si_sf_Intrinsic<"HEXAGON_F2_conv_sf2uw_chop">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_sf2w_chop,SI_ftype_SF,1) | |
// | |
def int_hexagon_F2_conv_sf2w_chop : | |
Hexagon_si_sf_Intrinsic<"HEXAGON_F2_conv_sf2w_chop">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_sf2ud_chop,DI_ftype_SF,1) | |
// | |
def int_hexagon_F2_conv_sf2ud_chop : | |
Hexagon_di_sf_Intrinsic<"HEXAGON_F2_conv_sf2ud_chop">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_sf2d_chop,DI_ftype_SF,1) | |
// | |
def int_hexagon_F2_conv_sf2d_chop : | |
Hexagon_di_sf_Intrinsic<"HEXAGON_F2_conv_sf2d_chop">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_df2uw_chop,SI_ftype_DF,1) | |
// | |
def int_hexagon_F2_conv_df2uw_chop : | |
Hexagon_si_df_Intrinsic<"HEXAGON_F2_conv_df2uw_chop">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_df2w_chop,SI_ftype_DF,1) | |
// | |
def int_hexagon_F2_conv_df2w_chop : | |
Hexagon_si_df_Intrinsic<"HEXAGON_F2_conv_df2w_chop">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_df2ud_chop,DI_ftype_DF,1) | |
// | |
def int_hexagon_F2_conv_df2ud_chop : | |
Hexagon_di_df_Intrinsic<"HEXAGON_F2_conv_df2ud_chop">; | |
// | |
// BUILTIN_INFO(HEXAGON.F2_conv_df2d_chop,DI_ftype_DF,1) | |
// | |
def int_hexagon_F2_conv_df2d_chop : | |
Hexagon_di_df_Intrinsic<"HEXAGON_F2_conv_df2d_chop">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_asr_r_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_asr_r_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_asl_r_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_asl_r_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_lsr_r_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_lsr_r_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_lsl_r_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_lsl_r_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_p,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_r_p : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asr_r_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_p,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asl_r_p : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asl_r_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_p,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_lsr_r_p : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_lsr_r_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_p,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_lsl_r_p : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_lsl_r_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_r_acc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asr_r_r_acc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asr_r_r_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_r_acc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asl_r_r_acc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asl_r_r_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_r_acc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsr_r_r_acc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsr_r_r_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_r_acc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsl_r_r_acc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsl_r_r_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_p_acc,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asr_r_p_acc : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asr_r_p_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_p_acc,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_r_p_acc : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_r_p_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_p_acc,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_r_p_acc : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_r_p_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_p_acc,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsl_r_p_acc : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsl_r_p_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_r_nac,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asr_r_r_nac : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asr_r_r_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_r_nac,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asl_r_r_nac : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asl_r_r_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_r_nac,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsr_r_r_nac : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsr_r_r_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_r_nac,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsl_r_r_nac : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsl_r_r_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_p_nac,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asr_r_p_nac : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asr_r_p_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_p_nac,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_r_p_nac : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_r_p_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_p_nac,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_r_p_nac : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_r_p_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_p_nac,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsl_r_p_nac : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsl_r_p_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_r_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asr_r_r_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asr_r_r_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_r_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asl_r_r_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asl_r_r_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_r_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsr_r_r_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsr_r_r_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_r_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsl_r_r_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsl_r_r_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_r_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asr_r_r_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asr_r_r_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_r_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asl_r_r_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asl_r_r_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_r_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsr_r_r_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsr_r_r_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_r_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsl_r_r_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsl_r_r_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_p_and,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asr_r_p_and : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asr_r_p_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_p_and,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_r_p_and : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_r_p_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_p_and,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_r_p_and : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_r_p_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_p_and,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsl_r_p_and : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsl_r_p_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_p_or,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asr_r_p_or : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asr_r_p_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_p_or,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_r_p_or : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_r_p_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_p_or,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_r_p_or : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_r_p_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_p_or,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsl_r_p_or : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsl_r_p_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_p_xor,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asr_r_p_xor : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asr_r_p_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_p_xor,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_r_p_xor : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_r_p_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_p_xor,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_r_p_xor : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_r_p_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_p_xor,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsl_r_p_xor : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsl_r_p_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_r_sat,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_asr_r_r_sat : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_asr_r_r_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_r_sat,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_asl_r_r_sat : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_asl_r_r_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_asr_i_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_asr_i_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_lsr_i_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_lsr_i_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_asl_i_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_asl_i_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_p,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_i_p : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asr_i_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_p,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_lsr_i_p : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_lsr_i_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_p,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asl_i_p : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asl_i_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_r_acc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asr_i_r_acc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asr_i_r_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_r_acc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsr_i_r_acc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsr_i_r_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_r_acc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asl_i_r_acc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asl_i_r_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_p_acc,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asr_i_p_acc : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asr_i_p_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_p_acc,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_i_p_acc : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_i_p_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_p_acc,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_i_p_acc : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_i_p_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_r_nac,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asr_i_r_nac : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asr_i_r_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_r_nac,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsr_i_r_nac : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsr_i_r_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_r_nac,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asl_i_r_nac : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asl_i_r_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_p_nac,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asr_i_p_nac : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asr_i_p_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_p_nac,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_i_p_nac : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_i_p_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_p_nac,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_i_p_nac : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_i_p_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_r_xacc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsr_i_r_xacc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsr_i_r_xacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_r_xacc,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asl_i_r_xacc : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asl_i_r_xacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_p_xacc,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_i_p_xacc : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_i_p_xacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_p_xacc,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_i_p_xacc : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_i_p_xacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_r_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asr_i_r_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asr_i_r_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_r_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsr_i_r_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsr_i_r_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_r_and,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asl_i_r_and : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asl_i_r_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_r_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asr_i_r_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asr_i_r_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_r_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_lsr_i_r_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_lsr_i_r_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_r_or,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_asl_i_r_or : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_asl_i_r_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_p_and,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asr_i_p_and : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asr_i_p_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_p_and,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_i_p_and : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_i_p_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_p_and,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_i_p_and : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_i_p_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_p_or,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asr_i_p_or : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asr_i_p_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_p_or,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_lsr_i_p_or : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_lsr_i_p_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_p_or,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_asl_i_p_or : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_asl_i_p_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_r_sat,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_asl_i_r_sat : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_asl_i_r_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_r_rnd,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_asr_i_r_rnd : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_asr_i_r_rnd">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_r_rnd_goodsyntax,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_asr_i_r_rnd_goodsyntax : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_asr_i_r_rnd_goodsyntax">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_p_rnd,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_i_p_rnd : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asr_i_p_rnd">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_p_rnd_goodsyntax,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_i_p_rnd_goodsyntax : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asr_i_p_rnd_goodsyntax">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_lsli,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S4_lsli : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S4_lsli">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_addasl_rrri,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_addasl_rrri : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_addasl_rrri">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_andi_asl_ri,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_andi_asl_ri : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_andi_asl_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_ori_asl_ri,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_ori_asl_ri : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_ori_asl_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_addi_asl_ri,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_addi_asl_ri : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_addi_asl_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_subi_asl_ri,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_subi_asl_ri : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_subi_asl_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_andi_lsr_ri,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_andi_lsr_ri : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_andi_lsr_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_ori_lsr_ri,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_ori_lsr_ri : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_ori_lsr_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_addi_lsr_ri,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_addi_lsr_ri : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_addi_lsr_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_subi_lsr_ri,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_subi_lsr_ri : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_subi_lsr_ri">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_valignib,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_valignib : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_valignib">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_valignrb,DI_ftype_DIDIQI,3) | |
// | |
def int_hexagon_S2_valignrb : | |
Hexagon_di_didiqi_Intrinsic<"HEXAGON_S2_valignrb">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vspliceib,DI_ftype_DIDISI,3) | |
// | |
def int_hexagon_S2_vspliceib : | |
Hexagon_di_didisi_Intrinsic<"HEXAGON_S2_vspliceib">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsplicerb,DI_ftype_DIDIQI,3) | |
// | |
def int_hexagon_S2_vsplicerb : | |
Hexagon_di_didiqi_Intrinsic<"HEXAGON_S2_vsplicerb">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsplatrh,DI_ftype_SI,1) | |
// | |
def int_hexagon_S2_vsplatrh : | |
Hexagon_di_si_Intrinsic<"HEXAGON_S2_vsplatrh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsplatrb,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_vsplatrb : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_vsplatrb">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_insert,SI_ftype_SISISISI,4) | |
// | |
def int_hexagon_S2_insert : | |
Hexagon_si_sisisisi_Intrinsic<"HEXAGON_S2_insert">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_tableidxb_goodsyntax,SI_ftype_SISISISI,4) | |
// | |
def int_hexagon_S2_tableidxb_goodsyntax : | |
Hexagon_si_sisisisi_Intrinsic<"HEXAGON_S2_tableidxb_goodsyntax">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_tableidxh_goodsyntax,SI_ftype_SISISISI,4) | |
// | |
def int_hexagon_S2_tableidxh_goodsyntax : | |
Hexagon_si_sisisisi_Intrinsic<"HEXAGON_S2_tableidxh_goodsyntax">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_tableidxw_goodsyntax,SI_ftype_SISISISI,4) | |
// | |
def int_hexagon_S2_tableidxw_goodsyntax : | |
Hexagon_si_sisisisi_Intrinsic<"HEXAGON_S2_tableidxw_goodsyntax">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_tableidxd_goodsyntax,SI_ftype_SISISISI,4) | |
// | |
def int_hexagon_S2_tableidxd_goodsyntax : | |
Hexagon_si_sisisisi_Intrinsic<"HEXAGON_S2_tableidxd_goodsyntax">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_bitspliti,DI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_bitspliti : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_A4_bitspliti">; | |
// | |
// BUILTIN_INFO(HEXAGON.A4_bitsplit,DI_ftype_SISI,2) | |
// | |
def int_hexagon_A4_bitsplit : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_A4_bitsplit">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_extract,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S4_extract : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S4_extract">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_extractu,SI_ftype_SISISI,3) | |
// | |
def int_hexagon_S2_extractu : | |
Hexagon_si_sisisi_Intrinsic<"HEXAGON_S2_extractu">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_insertp,DI_ftype_DIDISISI,4) | |
// | |
def int_hexagon_S2_insertp : | |
Hexagon_di_didisisi_Intrinsic<"HEXAGON_S2_insertp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_extractp,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_S4_extractp : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_S4_extractp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_extractup,DI_ftype_DISISI,3) | |
// | |
def int_hexagon_S2_extractup : | |
Hexagon_di_disisi_Intrinsic<"HEXAGON_S2_extractup">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_insert_rp,SI_ftype_SISIDI,3) | |
// | |
def int_hexagon_S2_insert_rp : | |
Hexagon_si_sisidi_Intrinsic<"HEXAGON_S2_insert_rp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_extract_rp,SI_ftype_SIDI,2) | |
// | |
def int_hexagon_S4_extract_rp : | |
Hexagon_si_sidi_Intrinsic<"HEXAGON_S4_extract_rp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_extractu_rp,SI_ftype_SIDI,2) | |
// | |
def int_hexagon_S2_extractu_rp : | |
Hexagon_si_sidi_Intrinsic<"HEXAGON_S2_extractu_rp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_insertp_rp,DI_ftype_DIDIDI,3) | |
// | |
def int_hexagon_S2_insertp_rp : | |
Hexagon_di_dididi_Intrinsic<"HEXAGON_S2_insertp_rp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_extractp_rp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S4_extractp_rp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S4_extractp_rp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_extractup_rp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S2_extractup_rp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S2_extractup_rp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_tstbit_i,QI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_tstbit_i : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_tstbit_i">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_ntstbit_i,QI_ftype_SISI,2) | |
// | |
def int_hexagon_S4_ntstbit_i : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S4_ntstbit_i">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_setbit_i,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_setbit_i : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_setbit_i">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_togglebit_i,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_togglebit_i : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_togglebit_i">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_clrbit_i,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_clrbit_i : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_clrbit_i">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_tstbit_r,QI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_tstbit_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_tstbit_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_ntstbit_r,QI_ftype_SISI,2) | |
// | |
def int_hexagon_S4_ntstbit_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S4_ntstbit_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_setbit_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_setbit_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_setbit_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_togglebit_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_togglebit_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_togglebit_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_clrbit_r,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_clrbit_r : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S2_clrbit_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_vh,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_i_vh : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asr_i_vh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_vh,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_lsr_i_vh : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_lsr_i_vh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_vh,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asl_i_vh : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asl_i_vh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_vh,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_r_vh : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asr_r_vh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S5_asrhub_rnd_sat_goodsyntax,SI_ftype_DISI,2) | |
// | |
def int_hexagon_S5_asrhub_rnd_sat_goodsyntax : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_S5_asrhub_rnd_sat_goodsyntax">; | |
// | |
// BUILTIN_INFO(HEXAGON.S5_asrhub_sat,SI_ftype_DISI,2) | |
// | |
def int_hexagon_S5_asrhub_sat : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_S5_asrhub_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.S5_vasrhrnd_goodsyntax,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S5_vasrhrnd_goodsyntax : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S5_vasrhrnd_goodsyntax">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_vh,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asl_r_vh : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asl_r_vh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_vh,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_lsr_r_vh : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_lsr_r_vh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_vh,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_lsl_r_vh : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_lsl_r_vh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_vw,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_i_vw : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asr_i_vw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_i_svw_trun,SI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_i_svw_trun : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_S2_asr_i_svw_trun">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_svw_trun,SI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_r_svw_trun : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_S2_asr_r_svw_trun">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_i_vw,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_lsr_i_vw : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_lsr_i_vw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_i_vw,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asl_i_vw : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asl_i_vw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asr_r_vw,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asr_r_vw : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asr_r_vw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_asl_r_vw,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_asl_r_vw : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_asl_r_vw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsr_r_vw,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_lsr_r_vw : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_lsr_r_vw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lsl_r_vw,DI_ftype_DISI,2) | |
// | |
def int_hexagon_S2_lsl_r_vw : | |
Hexagon_di_disi_Intrinsic<"HEXAGON_S2_lsl_r_vw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vrndpackwh,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vrndpackwh : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_vrndpackwh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vrndpackwhs,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vrndpackwhs : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_vrndpackwhs">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsxtbh,DI_ftype_SI,1) | |
// | |
def int_hexagon_S2_vsxtbh : | |
Hexagon_di_si_Intrinsic<"HEXAGON_S2_vsxtbh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vzxtbh,DI_ftype_SI,1) | |
// | |
def int_hexagon_S2_vzxtbh : | |
Hexagon_di_si_Intrinsic<"HEXAGON_S2_vzxtbh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsathub,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vsathub : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_vsathub">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_svsathub,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_svsathub : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_svsathub">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_svsathb,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_svsathb : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_svsathb">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsathb,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vsathb : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_vsathb">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vtrunohb,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vtrunohb : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_vtrunohb">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vtrunewh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S2_vtrunewh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S2_vtrunewh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vtrunowh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S2_vtrunowh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S2_vtrunowh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vtrunehb,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vtrunehb : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_vtrunehb">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsxthw,DI_ftype_SI,1) | |
// | |
def int_hexagon_S2_vsxthw : | |
Hexagon_di_si_Intrinsic<"HEXAGON_S2_vsxthw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vzxthw,DI_ftype_SI,1) | |
// | |
def int_hexagon_S2_vzxthw : | |
Hexagon_di_si_Intrinsic<"HEXAGON_S2_vzxthw">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsatwh,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vsatwh : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_vsatwh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsatwuh,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vsatwuh : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_vsatwuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_packhl,DI_ftype_SISI,2) | |
// | |
def int_hexagon_S2_packhl : | |
Hexagon_di_sisi_Intrinsic<"HEXAGON_S2_packhl">; | |
// | |
// BUILTIN_INFO(HEXAGON.A2_swiz,SI_ftype_SI,1) | |
// | |
def int_hexagon_A2_swiz : | |
Hexagon_si_si_Intrinsic<"HEXAGON_A2_swiz">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsathub_nopack,DI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vsathub_nopack : | |
Hexagon_di_di_Intrinsic<"HEXAGON_S2_vsathub_nopack">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsathb_nopack,DI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vsathb_nopack : | |
Hexagon_di_di_Intrinsic<"HEXAGON_S2_vsathb_nopack">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsatwh_nopack,DI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vsatwh_nopack : | |
Hexagon_di_di_Intrinsic<"HEXAGON_S2_vsatwh_nopack">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_vsatwuh_nopack,DI_ftype_DI,1) | |
// | |
def int_hexagon_S2_vsatwuh_nopack : | |
Hexagon_di_di_Intrinsic<"HEXAGON_S2_vsatwuh_nopack">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_shuffob,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S2_shuffob : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S2_shuffob">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_shuffeb,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S2_shuffeb : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S2_shuffeb">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_shuffoh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S2_shuffoh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S2_shuffoh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_shuffeh,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S2_shuffeh : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S2_shuffeh">; | |
// | |
// BUILTIN_INFO(HEXAGON.S5_popcountp,SI_ftype_DI,1) | |
// | |
def int_hexagon_S5_popcountp : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S5_popcountp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_parity,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S4_parity : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S4_parity">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_parityp,SI_ftype_DIDI,2) | |
// | |
def int_hexagon_S2_parityp : | |
Hexagon_si_didi_Intrinsic<"HEXAGON_S2_parityp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_lfsp,DI_ftype_DIDI,2) | |
// | |
def int_hexagon_S2_lfsp : | |
Hexagon_di_didi_Intrinsic<"HEXAGON_S2_lfsp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_clbnorm,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_clbnorm : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_clbnorm">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_clbaddi,SI_ftype_SISI,2) | |
// | |
def int_hexagon_S4_clbaddi : | |
Hexagon_si_sisi_Intrinsic<"HEXAGON_S4_clbaddi">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_clbpnorm,SI_ftype_DI,1) | |
// | |
def int_hexagon_S4_clbpnorm : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S4_clbpnorm">; | |
// | |
// BUILTIN_INFO(HEXAGON.S4_clbpaddi,SI_ftype_DISI,2) | |
// | |
def int_hexagon_S4_clbpaddi : | |
Hexagon_si_disi_Intrinsic<"HEXAGON_S4_clbpaddi">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_clb,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_clb : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_clb">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_cl0,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_cl0 : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_cl0">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_cl1,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_cl1 : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_cl1">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_clbp,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_clbp : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_clbp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_cl0p,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_cl0p : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_cl0p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_cl1p,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_cl1p : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_cl1p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_brev,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_brev : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_brev">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_brevp,DI_ftype_DI,1) | |
// | |
def int_hexagon_S2_brevp : | |
Hexagon_di_di_Intrinsic<"HEXAGON_S2_brevp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_ct0,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_ct0 : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_ct0">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_ct1,SI_ftype_SI,1) | |
// | |
def int_hexagon_S2_ct1 : | |
Hexagon_si_si_Intrinsic<"HEXAGON_S2_ct1">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_ct0p,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_ct0p : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_ct0p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_ct1p,SI_ftype_DI,1) | |
// | |
def int_hexagon_S2_ct1p : | |
Hexagon_si_di_Intrinsic<"HEXAGON_S2_ct1p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_interleave,DI_ftype_DI,1) | |
// | |
def int_hexagon_S2_interleave : | |
Hexagon_di_di_Intrinsic<"HEXAGON_S2_interleave">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_deinterleave,DI_ftype_DI,1) | |
// | |
def int_hexagon_S2_deinterleave : | |
Hexagon_di_di_Intrinsic<"HEXAGON_S2_deinterleave">; | |
// | |
// BUILTIN_INFO(HEXAGON.dcfetch_A,v_ftype_DI*,1) | |
// | |
def int_hexagon_prefetch : | |
Hexagon_void_si_Intrinsic<"HEXAGON_prefetch">; | |
def llvm_ptr32_ty : LLVMPointerType<llvm_i32_ty>; | |
def llvm_ptr64_ty : LLVMPointerType<llvm_i64_ty>; | |
// Mark locked loads as read/write to prevent any accidental reordering. | |
def int_hexagon_L2_loadw_locked : | |
Hexagon_Intrinsic<"HEXAGON_L2_loadw_locked", [llvm_i32_ty], [llvm_ptr32_ty], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
def int_hexagon_L4_loadd_locked : | |
Hexagon_Intrinsic<"HEXAGON_L4_loadd_locked", [llvm_i64_ty], [llvm_ptr64_ty], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
def int_hexagon_S2_storew_locked : | |
Hexagon_Intrinsic<"HEXAGON_S2_storew_locked", [llvm_i32_ty], | |
[llvm_ptr32_ty, llvm_i32_ty], [IntrArgMemOnly, NoCapture<0>]>; | |
def int_hexagon_S4_stored_locked : | |
Hexagon_Intrinsic<"HEXAGON_S4_stored_locked", [llvm_i32_ty], | |
[llvm_ptr64_ty, llvm_i64_ty], [IntrArgMemOnly, NoCapture<0>]>; | |
// V60 | |
class Hexagon_v2048v2048_Intrinsic_T<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty], | |
[IntrNoMem]>; | |
// tag : V6_hi_W | |
// tag : V6_lo_W | |
class Hexagon_v512v1024_Intrinsic_T<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// tag : V6_hi_W_128B | |
// tag : V6_lo_W_128B | |
class Hexagon_v1024v2048_Intrinsic_T<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v64i32_ty], | |
[IntrNoMem]>; | |
class Hexagon_v1024v1024_Intrinsic_T<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// BUILTIN_INFO(HEXAGON.V6_hi_W,VI_ftype_VI,1) | |
// tag : V6_hi | |
def int_hexagon_V6_hi : | |
Hexagon_v512v1024_Intrinsic_T<"HEXAGON_V6_hi">; | |
// BUILTIN_INFO(HEXAGON.V6_lo_W,VI_ftype_VI,1) | |
// tag : V6_lo | |
def int_hexagon_V6_lo : | |
Hexagon_v512v1024_Intrinsic_T<"HEXAGON_V6_lo">; | |
// BUILTIN_INFO(HEXAGON.V6_hi_W,VI_ftype_VI,1) | |
// tag : V6_hi_128B | |
def int_hexagon_V6_hi_128B : | |
Hexagon_v1024v2048_Intrinsic_T<"HEXAGON_V6_hi_128B">; | |
// BUILTIN_INFO(HEXAGON.V6_lo_W,VI_ftype_VI,1) | |
// tag : V6_lo_128B | |
def int_hexagon_V6_lo_128B : | |
Hexagon_v1024v2048_Intrinsic_T<"HEXAGON_V6_lo_128B">; | |
// BUILTIN_INFO(HEXAGON.V6_vassignp,VI_ftype_VI,1) | |
// tag : V6_vassignp | |
def int_hexagon_V6_vassignp : | |
Hexagon_v1024v1024_Intrinsic_T<"HEXAGON_V6_vassignp">; | |
// BUILTIN_INFO(HEXAGON.V6_vassignp,VI_ftype_VI,1) | |
// tag : V6_vassignp_128B | |
def int_hexagon_V6_vassignp_128B : | |
Hexagon_v2048v2048_Intrinsic_T<"HEXAGON_V6_vassignp_128B">; | |
// | |
// Hexagon_iii_Intrinsic<string GCCIntSuffix> | |
// tag : S6_rol_i_r | |
class Hexagon_iii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_LLiLLii_Intrinsic<string GCCIntSuffix> | |
// tag : S6_rol_i_p | |
class Hexagon_LLiLLii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_iiii_Intrinsic<string GCCIntSuffix> | |
// tag : S6_rol_i_r_acc | |
class Hexagon_iiii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_i32_ty,llvm_i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_LLiLLiLLii_Intrinsic<string GCCIntSuffix> | |
// tag : S6_rol_i_p_acc | |
class Hexagon_LLiLLiLLii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty,llvm_i64_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512v512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_valignb | |
class Hexagon_v512v512v512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_valignb_128B | |
class Hexagon_v1024v1024v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vror | |
class Hexagon_v512v512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vror_128B | |
class Hexagon_v1024v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vunpackub | |
class Hexagon_v1024v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vunpackub_128B | |
class Hexagon_v2048v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vunpackob | |
class Hexagon_v1024v1024v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vunpackob_128B | |
class Hexagon_v2048v2048v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vpackeb | |
class Hexagon_v512v512v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vpackeb_128B | |
class Hexagon_v1024v1024v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vdmpybus_dv_128B | |
class Hexagon_v2048v2048i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048v2048i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vdmpybus_dv_acc_128B | |
class Hexagon_v2048v2048v2048i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v64i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512v512v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vdmpyhvsat_acc | |
class Hexagon_v512v512v512v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v1024v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vdmpyhvsat_acc_128B | |
class Hexagon_v1024v1024v1024v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vdmpyhisat | |
class Hexagon_v512v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v2048i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vdmpyhisat_128B | |
class Hexagon_v1024v2048i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v64i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vdmpyhisat_acc | |
class Hexagon_v512v512v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v2048i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vdmpyhisat_acc_128B | |
class Hexagon_v1024v1024v2048i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v64i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vrmpyubi | |
class Hexagon_v1024v1024ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vrmpyubi_128B | |
class Hexagon_v2048v2048ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v1024ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vrmpyubi_acc | |
class Hexagon_v1024v1024v1024ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048v2048ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vrmpyubi_acc_128B | |
class Hexagon_v2048v2048v2048ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v64i32_ty,llvm_i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048v2048_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vaddb_dv_128B | |
class Hexagon_v2048v2048v2048_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v64i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v512v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vaddubh | |
class Hexagon_v1024v512v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v1024v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vaddubh_128B | |
class Hexagon_v2048v1024v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vd0 | |
class Hexagon_v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vd0_128B | |
class Hexagon_v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v64iv512v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vaddbq | |
class Hexagon_v512v64iv512v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v512i1_ty,llvm_v16i32_ty,llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v128iv1024v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vaddbq_128B | |
class Hexagon_v1024v128iv1024v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v1024i1_ty,llvm_v32i32_ty,llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vabsh | |
class Hexagon_v512v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vabsh_128B | |
class Hexagon_v1024v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v512v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vmpybv_acc | |
class Hexagon_v1024v1024v512v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v16i32_ty,llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048v1024v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vmpybv_acc_128B | |
class Hexagon_v2048v2048v1024v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v32i32_ty,llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vmpyub | |
class Hexagon_v1024v512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vmpyub_128B | |
class Hexagon_v2048v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vmpyub_acc | |
class Hexagon_v1024v1024v512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vmpyub_acc_128B | |
class Hexagon_v2048v2048v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v64ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vandqrt | |
class Hexagon_v512v64ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v512i1_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v128ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vandqrt_128B | |
class Hexagon_v1024v128ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v1024i1_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512v64ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vandqrt_acc | |
class Hexagon_v512v512v64ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v512i1_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v128ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vandqrt_acc_128B | |
class Hexagon_v1024v1024v128ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v1024i1_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v64iv512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vandvrt | |
class Hexagon_v64iv512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v512i1_ty], [llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v128iv1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vandvrt_128B | |
class Hexagon_v128iv1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v1024i1_ty], [llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v64iv64iv512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vandvrt_acc | |
class Hexagon_v64iv64iv512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v512i1_ty], [llvm_v512i1_ty,llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v128iv128iv1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vandvrt_acc_128B | |
class Hexagon_v128iv128iv1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v1024i1_ty], [llvm_v1024i1_ty,llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v64iv512v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vgtw | |
class Hexagon_v64iv512v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v512i1_ty], [llvm_v16i32_ty,llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v128iv1024v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vgtw_128B | |
class Hexagon_v128iv1024v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v1024i1_ty], [llvm_v32i32_ty,llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v64iv64iv512v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vgtw_and | |
class Hexagon_v64iv64iv512v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v512i1_ty], [llvm_v512i1_ty,llvm_v16i32_ty,llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v128iv128iv1024v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vgtw_and_128B | |
class Hexagon_v128iv128iv1024v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v1024i1_ty], [llvm_v1024i1_ty,llvm_v32i32_ty,llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v64iv64iv64i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_pred_or | |
class Hexagon_v64iv64iv64i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v512i1_ty], [llvm_v512i1_ty,llvm_v512i1_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v128iv128iv128i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_pred_or_128B | |
class Hexagon_v128iv128iv128i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v1024i1_ty], [llvm_v1024i1_ty,llvm_v1024i1_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v64iv64i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_pred_not | |
class Hexagon_v64iv64i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v512i1_ty], [llvm_v512i1_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v128iv128i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_pred_not_128B | |
class Hexagon_v128iv128i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v1024i1_ty], [llvm_v1024i1_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v64ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_pred_scalar2 | |
class Hexagon_v64ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v512i1_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v128ii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_pred_scalar2_128B | |
class Hexagon_v128ii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v1024i1_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v64iv512v512_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vswap | |
class Hexagon_v1024v64iv512v512_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v512i1_ty,llvm_v16i32_ty,llvm_v16i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v128iv1024v1024_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vswap_128B | |
class Hexagon_v2048v128iv1024v1024_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v1024i1_ty,llvm_v32i32_ty,llvm_v32i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v512v512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vshuffvdd | |
class Hexagon_v1024v512v512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v1024v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vshuffvdd_128B | |
class Hexagon_v2048v1024v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_iv512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_extractw | |
class Hexagon_iv512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_iv1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_extractw_128B | |
class Hexagon_iv1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i32_ty], [llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_lvsplatw | |
class Hexagon_v512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_lvsplatw_128B | |
class Hexagon_v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512LLii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutb | |
class Hexagon_v512v512LLii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty,llvm_i64_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024LLii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutb_128B | |
class Hexagon_v1024v1024LLii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_i64_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512v512LLii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutb_acc | |
class Hexagon_v512v512v512LLii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_i64_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v1024LLii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutb_acc_128B | |
class Hexagon_v1024v1024v1024LLii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_i64_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048LLii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutb_dv_128B | |
class Hexagon_v2048v2048LLii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_i64_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048v2048LLii_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutb_dv_acc_128B | |
class Hexagon_v2048v2048v2048LLii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v64i32_ty,llvm_i64_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v512v512v512v512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutvvb_oracc | |
class Hexagon_v512v512v512v512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v16i32_ty], [llvm_v16i32_ty,llvm_v16i32_ty,llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v1024v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutvvb_oracc_128B | |
class Hexagon_v1024v1024v1024v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v1024v1024v512v512i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutvwh_oracc | |
class Hexagon_v1024v1024v512v512i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v32i32_ty], [llvm_v32i32_ty,llvm_v16i32_ty,llvm_v16i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_v2048v2048v1024v1024i_Intrinsic<string GCCIntSuffix> | |
// tag : V6_vlutvwh_oracc_128B | |
class Hexagon_v2048v2048v1024v1024i_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_v64i32_ty], [llvm_v64i32_ty,llvm_v32i32_ty,llvm_v32i32_ty,llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_LLiLLiLLi_Intrinsic<string GCCIntSuffix> | |
// tag : M6_vabsdiffb | |
class Hexagon_LLiLLiLLi_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i64_ty,llvm_i64_ty], | |
[IntrNoMem]>; | |
// | |
// Hexagon_LLii_Intrinsic<string GCCIntSuffix> | |
// tag : S6_vsplatrbp | |
class Hexagon_LLii_Intrinsic<string GCCIntSuffix> | |
: Hexagon_Intrinsic<GCCIntSuffix, | |
[llvm_i64_ty], [llvm_i32_ty], | |
[IntrNoMem]>; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_r,SI_ftype_SISI,2) | |
// tag : S6_rol_i_r | |
def int_hexagon_S6_rol_i_r : | |
Hexagon_iii_Intrinsic<"HEXAGON_S6_rol_i_r">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_p,DI_ftype_DISI,2) | |
// tag : S6_rol_i_p | |
def int_hexagon_S6_rol_i_p : | |
Hexagon_LLiLLii_Intrinsic<"HEXAGON_S6_rol_i_p">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_r_acc,SI_ftype_SISISI,3) | |
// tag : S6_rol_i_r_acc | |
def int_hexagon_S6_rol_i_r_acc : | |
Hexagon_iiii_Intrinsic<"HEXAGON_S6_rol_i_r_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_p_acc,DI_ftype_DIDISI,3) | |
// tag : S6_rol_i_p_acc | |
def int_hexagon_S6_rol_i_p_acc : | |
Hexagon_LLiLLiLLii_Intrinsic<"HEXAGON_S6_rol_i_p_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_r_nac,SI_ftype_SISISI,3) | |
// tag : S6_rol_i_r_nac | |
def int_hexagon_S6_rol_i_r_nac : | |
Hexagon_iiii_Intrinsic<"HEXAGON_S6_rol_i_r_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_p_nac,DI_ftype_DIDISI,3) | |
// tag : S6_rol_i_p_nac | |
def int_hexagon_S6_rol_i_p_nac : | |
Hexagon_LLiLLiLLii_Intrinsic<"HEXAGON_S6_rol_i_p_nac">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_r_xacc,SI_ftype_SISISI,3) | |
// tag : S6_rol_i_r_xacc | |
def int_hexagon_S6_rol_i_r_xacc : | |
Hexagon_iiii_Intrinsic<"HEXAGON_S6_rol_i_r_xacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_p_xacc,DI_ftype_DIDISI,3) | |
// tag : S6_rol_i_p_xacc | |
def int_hexagon_S6_rol_i_p_xacc : | |
Hexagon_LLiLLiLLii_Intrinsic<"HEXAGON_S6_rol_i_p_xacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_r_and,SI_ftype_SISISI,3) | |
// tag : S6_rol_i_r_and | |
def int_hexagon_S6_rol_i_r_and : | |
Hexagon_iiii_Intrinsic<"HEXAGON_S6_rol_i_r_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_r_or,SI_ftype_SISISI,3) | |
// tag : S6_rol_i_r_or | |
def int_hexagon_S6_rol_i_r_or : | |
Hexagon_iiii_Intrinsic<"HEXAGON_S6_rol_i_r_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_p_and,DI_ftype_DIDISI,3) | |
// tag : S6_rol_i_p_and | |
def int_hexagon_S6_rol_i_p_and : | |
Hexagon_LLiLLiLLii_Intrinsic<"HEXAGON_S6_rol_i_p_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_rol_i_p_or,DI_ftype_DIDISI,3) | |
// tag : S6_rol_i_p_or | |
def int_hexagon_S6_rol_i_p_or : | |
Hexagon_LLiLLiLLii_Intrinsic<"HEXAGON_S6_rol_i_p_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.S2_cabacencbin,DI_ftype_DIDIQI,3) | |
// tag : S2_cabacencbin | |
def int_hexagon_S2_cabacencbin : | |
Hexagon_LLiLLiLLii_Intrinsic<"HEXAGON_S2_cabacencbin">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_valignb,VI_ftype_VIVISI,3) | |
// tag : V6_valignb | |
def int_hexagon_V6_valignb : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_valignb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_valignb_128B,VI_ftype_VIVISI,3) | |
// tag : V6_valignb_128B | |
def int_hexagon_V6_valignb_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_valignb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlalignb,VI_ftype_VIVISI,3) | |
// tag : V6_vlalignb | |
def int_hexagon_V6_vlalignb : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vlalignb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlalignb_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vlalignb_128B | |
def int_hexagon_V6_vlalignb_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vlalignb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_valignbi,VI_ftype_VIVISI,3) | |
// tag : V6_valignbi | |
def int_hexagon_V6_valignbi : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_valignbi">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_valignbi_128B,VI_ftype_VIVISI,3) | |
// tag : V6_valignbi_128B | |
def int_hexagon_V6_valignbi_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_valignbi_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlalignbi,VI_ftype_VIVISI,3) | |
// tag : V6_vlalignbi | |
def int_hexagon_V6_vlalignbi : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vlalignbi">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlalignbi_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vlalignbi_128B | |
def int_hexagon_V6_vlalignbi_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vlalignbi_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vror,VI_ftype_VISI,2) | |
// tag : V6_vror | |
def int_hexagon_V6_vror : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vror">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vror_128B,VI_ftype_VISI,2) | |
// tag : V6_vror_128B | |
def int_hexagon_V6_vror_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vror_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackub,VD_ftype_VI,1) | |
// tag : V6_vunpackub | |
def int_hexagon_V6_vunpackub : | |
Hexagon_v1024v512_Intrinsic<"HEXAGON_V6_vunpackub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackub_128B,VD_ftype_VI,1) | |
// tag : V6_vunpackub_128B | |
def int_hexagon_V6_vunpackub_128B : | |
Hexagon_v2048v1024_Intrinsic<"HEXAGON_V6_vunpackub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackb,VD_ftype_VI,1) | |
// tag : V6_vunpackb | |
def int_hexagon_V6_vunpackb : | |
Hexagon_v1024v512_Intrinsic<"HEXAGON_V6_vunpackb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackb_128B,VD_ftype_VI,1) | |
// tag : V6_vunpackb_128B | |
def int_hexagon_V6_vunpackb_128B : | |
Hexagon_v2048v1024_Intrinsic<"HEXAGON_V6_vunpackb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackuh,VD_ftype_VI,1) | |
// tag : V6_vunpackuh | |
def int_hexagon_V6_vunpackuh : | |
Hexagon_v1024v512_Intrinsic<"HEXAGON_V6_vunpackuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackuh_128B,VD_ftype_VI,1) | |
// tag : V6_vunpackuh_128B | |
def int_hexagon_V6_vunpackuh_128B : | |
Hexagon_v2048v1024_Intrinsic<"HEXAGON_V6_vunpackuh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackh,VD_ftype_VI,1) | |
// tag : V6_vunpackh | |
def int_hexagon_V6_vunpackh : | |
Hexagon_v1024v512_Intrinsic<"HEXAGON_V6_vunpackh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackh_128B,VD_ftype_VI,1) | |
// tag : V6_vunpackh_128B | |
def int_hexagon_V6_vunpackh_128B : | |
Hexagon_v2048v1024_Intrinsic<"HEXAGON_V6_vunpackh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackob,VD_ftype_VDVI,2) | |
// tag : V6_vunpackob | |
def int_hexagon_V6_vunpackob : | |
Hexagon_v1024v1024v512_Intrinsic<"HEXAGON_V6_vunpackob">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackob_128B,VD_ftype_VDVI,2) | |
// tag : V6_vunpackob_128B | |
def int_hexagon_V6_vunpackob_128B : | |
Hexagon_v2048v2048v1024_Intrinsic<"HEXAGON_V6_vunpackob_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackoh,VD_ftype_VDVI,2) | |
// tag : V6_vunpackoh | |
def int_hexagon_V6_vunpackoh : | |
Hexagon_v1024v1024v512_Intrinsic<"HEXAGON_V6_vunpackoh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vunpackoh_128B,VD_ftype_VDVI,2) | |
// tag : V6_vunpackoh_128B | |
def int_hexagon_V6_vunpackoh_128B : | |
Hexagon_v2048v2048v1024_Intrinsic<"HEXAGON_V6_vunpackoh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackeb,VI_ftype_VIVI,2) | |
// tag : V6_vpackeb | |
def int_hexagon_V6_vpackeb : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vpackeb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackeb_128B,VI_ftype_VIVI,2) | |
// tag : V6_vpackeb_128B | |
def int_hexagon_V6_vpackeb_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vpackeb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackeh,VI_ftype_VIVI,2) | |
// tag : V6_vpackeh | |
def int_hexagon_V6_vpackeh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vpackeh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackeh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vpackeh_128B | |
def int_hexagon_V6_vpackeh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vpackeh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackob,VI_ftype_VIVI,2) | |
// tag : V6_vpackob | |
def int_hexagon_V6_vpackob : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vpackob">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackob_128B,VI_ftype_VIVI,2) | |
// tag : V6_vpackob_128B | |
def int_hexagon_V6_vpackob_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vpackob_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackoh,VI_ftype_VIVI,2) | |
// tag : V6_vpackoh | |
def int_hexagon_V6_vpackoh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vpackoh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackoh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vpackoh_128B | |
def int_hexagon_V6_vpackoh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vpackoh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackhub_sat,VI_ftype_VIVI,2) | |
// tag : V6_vpackhub_sat | |
def int_hexagon_V6_vpackhub_sat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vpackhub_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackhub_sat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vpackhub_sat_128B | |
def int_hexagon_V6_vpackhub_sat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vpackhub_sat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackhb_sat,VI_ftype_VIVI,2) | |
// tag : V6_vpackhb_sat | |
def int_hexagon_V6_vpackhb_sat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vpackhb_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackhb_sat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vpackhb_sat_128B | |
def int_hexagon_V6_vpackhb_sat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vpackhb_sat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackwuh_sat,VI_ftype_VIVI,2) | |
// tag : V6_vpackwuh_sat | |
def int_hexagon_V6_vpackwuh_sat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vpackwuh_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackwuh_sat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vpackwuh_sat_128B | |
def int_hexagon_V6_vpackwuh_sat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vpackwuh_sat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackwh_sat,VI_ftype_VIVI,2) | |
// tag : V6_vpackwh_sat | |
def int_hexagon_V6_vpackwh_sat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vpackwh_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpackwh_sat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vpackwh_sat_128B | |
def int_hexagon_V6_vpackwh_sat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vpackwh_sat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vzb,VD_ftype_VI,1) | |
// tag : V6_vzb | |
def int_hexagon_V6_vzb : | |
Hexagon_v1024v512_Intrinsic<"HEXAGON_V6_vzb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vzb_128B,VD_ftype_VI,1) | |
// tag : V6_vzb_128B | |
def int_hexagon_V6_vzb_128B : | |
Hexagon_v2048v1024_Intrinsic<"HEXAGON_V6_vzb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsb,VD_ftype_VI,1) | |
// tag : V6_vsb | |
def int_hexagon_V6_vsb : | |
Hexagon_v1024v512_Intrinsic<"HEXAGON_V6_vsb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsb_128B,VD_ftype_VI,1) | |
// tag : V6_vsb_128B | |
def int_hexagon_V6_vsb_128B : | |
Hexagon_v2048v1024_Intrinsic<"HEXAGON_V6_vsb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vzh,VD_ftype_VI,1) | |
// tag : V6_vzh | |
def int_hexagon_V6_vzh : | |
Hexagon_v1024v512_Intrinsic<"HEXAGON_V6_vzh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vzh_128B,VD_ftype_VI,1) | |
// tag : V6_vzh_128B | |
def int_hexagon_V6_vzh_128B : | |
Hexagon_v2048v1024_Intrinsic<"HEXAGON_V6_vzh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsh,VD_ftype_VI,1) | |
// tag : V6_vsh | |
def int_hexagon_V6_vsh : | |
Hexagon_v1024v512_Intrinsic<"HEXAGON_V6_vsh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsh_128B,VD_ftype_VI,1) | |
// tag : V6_vsh_128B | |
def int_hexagon_V6_vsh_128B : | |
Hexagon_v2048v1024_Intrinsic<"HEXAGON_V6_vsh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpybus,VI_ftype_VISI,2) | |
// tag : V6_vdmpybus | |
def int_hexagon_V6_vdmpybus : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vdmpybus">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpybus_128B,VI_ftype_VISI,2) | |
// tag : V6_vdmpybus_128B | |
def int_hexagon_V6_vdmpybus_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpybus_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpybus_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vdmpybus_acc | |
def int_hexagon_V6_vdmpybus_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vdmpybus_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpybus_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vdmpybus_acc_128B | |
def int_hexagon_V6_vdmpybus_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpybus_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpybus_dv,VD_ftype_VDSI,2) | |
// tag : V6_vdmpybus_dv | |
def int_hexagon_V6_vdmpybus_dv : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpybus_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpybus_dv_128B,VD_ftype_VDSI,2) | |
// tag : V6_vdmpybus_dv_128B | |
def int_hexagon_V6_vdmpybus_dv_128B : | |
Hexagon_v2048v2048i_Intrinsic<"HEXAGON_V6_vdmpybus_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpybus_dv_acc,VD_ftype_VDVDSI,3) | |
// tag : V6_vdmpybus_dv_acc | |
def int_hexagon_V6_vdmpybus_dv_acc : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpybus_dv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpybus_dv_acc_128B,VD_ftype_VDVDSI,3) | |
// tag : V6_vdmpybus_dv_acc_128B | |
def int_hexagon_V6_vdmpybus_dv_acc_128B : | |
Hexagon_v2048v2048v2048i_Intrinsic<"HEXAGON_V6_vdmpybus_dv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhb,VI_ftype_VISI,2) | |
// tag : V6_vdmpyhb | |
def int_hexagon_V6_vdmpyhb : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vdmpyhb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhb_128B,VI_ftype_VISI,2) | |
// tag : V6_vdmpyhb_128B | |
def int_hexagon_V6_vdmpyhb_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpyhb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhb_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vdmpyhb_acc | |
def int_hexagon_V6_vdmpyhb_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vdmpyhb_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhb_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vdmpyhb_acc_128B | |
def int_hexagon_V6_vdmpyhb_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpyhb_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhb_dv,VD_ftype_VDSI,2) | |
// tag : V6_vdmpyhb_dv | |
def int_hexagon_V6_vdmpyhb_dv : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpyhb_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhb_dv_128B,VD_ftype_VDSI,2) | |
// tag : V6_vdmpyhb_dv_128B | |
def int_hexagon_V6_vdmpyhb_dv_128B : | |
Hexagon_v2048v2048i_Intrinsic<"HEXAGON_V6_vdmpyhb_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhb_dv_acc,VD_ftype_VDVDSI,3) | |
// tag : V6_vdmpyhb_dv_acc | |
def int_hexagon_V6_vdmpyhb_dv_acc : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpyhb_dv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhb_dv_acc_128B,VD_ftype_VDVDSI,3) | |
// tag : V6_vdmpyhb_dv_acc_128B | |
def int_hexagon_V6_vdmpyhb_dv_acc_128B : | |
Hexagon_v2048v2048v2048i_Intrinsic<"HEXAGON_V6_vdmpyhb_dv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhvsat,VI_ftype_VIVI,2) | |
// tag : V6_vdmpyhvsat | |
def int_hexagon_V6_vdmpyhvsat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vdmpyhvsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhvsat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vdmpyhvsat_128B | |
def int_hexagon_V6_vdmpyhvsat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vdmpyhvsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhvsat_acc,VI_ftype_VIVIVI,3) | |
// tag : V6_vdmpyhvsat_acc | |
def int_hexagon_V6_vdmpyhvsat_acc : | |
Hexagon_v512v512v512v512_Intrinsic<"HEXAGON_V6_vdmpyhvsat_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhvsat_acc_128B,VI_ftype_VIVIVI,3) | |
// tag : V6_vdmpyhvsat_acc_128B | |
def int_hexagon_V6_vdmpyhvsat_acc_128B : | |
Hexagon_v1024v1024v1024v1024_Intrinsic<"HEXAGON_V6_vdmpyhvsat_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsat,VI_ftype_VISI,2) | |
// tag : V6_vdmpyhsat | |
def int_hexagon_V6_vdmpyhsat : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vdmpyhsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsat_128B,VI_ftype_VISI,2) | |
// tag : V6_vdmpyhsat_128B | |
def int_hexagon_V6_vdmpyhsat_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpyhsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsat_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vdmpyhsat_acc | |
def int_hexagon_V6_vdmpyhsat_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vdmpyhsat_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsat_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vdmpyhsat_acc_128B | |
def int_hexagon_V6_vdmpyhsat_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpyhsat_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhisat,VI_ftype_VDSI,2) | |
// tag : V6_vdmpyhisat | |
def int_hexagon_V6_vdmpyhisat : | |
Hexagon_v512v1024i_Intrinsic<"HEXAGON_V6_vdmpyhisat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhisat_128B,VI_ftype_VDSI,2) | |
// tag : V6_vdmpyhisat_128B | |
def int_hexagon_V6_vdmpyhisat_128B : | |
Hexagon_v1024v2048i_Intrinsic<"HEXAGON_V6_vdmpyhisat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhisat_acc,VI_ftype_VIVDSI,3) | |
// tag : V6_vdmpyhisat_acc | |
def int_hexagon_V6_vdmpyhisat_acc : | |
Hexagon_v512v512v1024i_Intrinsic<"HEXAGON_V6_vdmpyhisat_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhisat_acc_128B,VI_ftype_VIVDSI,3) | |
// tag : V6_vdmpyhisat_acc_128B | |
def int_hexagon_V6_vdmpyhisat_acc_128B : | |
Hexagon_v1024v1024v2048i_Intrinsic<"HEXAGON_V6_vdmpyhisat_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsusat,VI_ftype_VISI,2) | |
// tag : V6_vdmpyhsusat | |
def int_hexagon_V6_vdmpyhsusat : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vdmpyhsusat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsusat_128B,VI_ftype_VISI,2) | |
// tag : V6_vdmpyhsusat_128B | |
def int_hexagon_V6_vdmpyhsusat_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpyhsusat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsusat_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vdmpyhsusat_acc | |
def int_hexagon_V6_vdmpyhsusat_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vdmpyhsusat_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsusat_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vdmpyhsusat_acc_128B | |
def int_hexagon_V6_vdmpyhsusat_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vdmpyhsusat_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsuisat,VI_ftype_VDSI,2) | |
// tag : V6_vdmpyhsuisat | |
def int_hexagon_V6_vdmpyhsuisat : | |
Hexagon_v512v1024i_Intrinsic<"HEXAGON_V6_vdmpyhsuisat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsuisat_128B,VI_ftype_VDSI,2) | |
// tag : V6_vdmpyhsuisat_128B | |
def int_hexagon_V6_vdmpyhsuisat_128B : | |
Hexagon_v1024v2048i_Intrinsic<"HEXAGON_V6_vdmpyhsuisat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsuisat_acc,VI_ftype_VIVDSI,3) | |
// tag : V6_vdmpyhsuisat_acc | |
def int_hexagon_V6_vdmpyhsuisat_acc : | |
Hexagon_v512v512v1024i_Intrinsic<"HEXAGON_V6_vdmpyhsuisat_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdmpyhsuisat_acc_128B,VI_ftype_VIVDSI,3) | |
// tag : V6_vdmpyhsuisat_acc_128B | |
def int_hexagon_V6_vdmpyhsuisat_acc_128B : | |
Hexagon_v1024v1024v2048i_Intrinsic<"HEXAGON_V6_vdmpyhsuisat_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpyb,VD_ftype_VDSI,2) | |
// tag : V6_vtmpyb | |
def int_hexagon_V6_vtmpyb : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vtmpyb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpyb_128B,VD_ftype_VDSI,2) | |
// tag : V6_vtmpyb_128B | |
def int_hexagon_V6_vtmpyb_128B : | |
Hexagon_v2048v2048i_Intrinsic<"HEXAGON_V6_vtmpyb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpyb_acc,VD_ftype_VDVDSI,3) | |
// tag : V6_vtmpyb_acc | |
def int_hexagon_V6_vtmpyb_acc : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vtmpyb_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpyb_acc_128B,VD_ftype_VDVDSI,3) | |
// tag : V6_vtmpyb_acc_128B | |
def int_hexagon_V6_vtmpyb_acc_128B : | |
Hexagon_v2048v2048v2048i_Intrinsic<"HEXAGON_V6_vtmpyb_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpybus,VD_ftype_VDSI,2) | |
// tag : V6_vtmpybus | |
def int_hexagon_V6_vtmpybus : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vtmpybus">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpybus_128B,VD_ftype_VDSI,2) | |
// tag : V6_vtmpybus_128B | |
def int_hexagon_V6_vtmpybus_128B : | |
Hexagon_v2048v2048i_Intrinsic<"HEXAGON_V6_vtmpybus_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpybus_acc,VD_ftype_VDVDSI,3) | |
// tag : V6_vtmpybus_acc | |
def int_hexagon_V6_vtmpybus_acc : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vtmpybus_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpybus_acc_128B,VD_ftype_VDVDSI,3) | |
// tag : V6_vtmpybus_acc_128B | |
def int_hexagon_V6_vtmpybus_acc_128B : | |
Hexagon_v2048v2048v2048i_Intrinsic<"HEXAGON_V6_vtmpybus_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpyhb,VD_ftype_VDSI,2) | |
// tag : V6_vtmpyhb | |
def int_hexagon_V6_vtmpyhb : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vtmpyhb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpyhb_128B,VD_ftype_VDSI,2) | |
// tag : V6_vtmpyhb_128B | |
def int_hexagon_V6_vtmpyhb_128B : | |
Hexagon_v2048v2048i_Intrinsic<"HEXAGON_V6_vtmpyhb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpyhb_acc,VD_ftype_VDVDSI,3) | |
// tag : V6_vtmpyhb_acc | |
def int_hexagon_V6_vtmpyhb_acc : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vtmpyhb_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vtmpyhb_acc_128B,VD_ftype_VDVDSI,3) | |
// tag : V6_vtmpyhb_acc_128B | |
def int_hexagon_V6_vtmpyhb_acc_128B : | |
Hexagon_v2048v2048v2048i_Intrinsic<"HEXAGON_V6_vtmpyhb_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyub,VI_ftype_VISI,2) | |
// tag : V6_vrmpyub | |
def int_hexagon_V6_vrmpyub : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vrmpyub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyub_128B,VI_ftype_VISI,2) | |
// tag : V6_vrmpyub_128B | |
def int_hexagon_V6_vrmpyub_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vrmpyub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyub_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vrmpyub_acc | |
def int_hexagon_V6_vrmpyub_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vrmpyub_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyub_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vrmpyub_acc_128B | |
def int_hexagon_V6_vrmpyub_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vrmpyub_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyubv,VI_ftype_VIVI,2) | |
// tag : V6_vrmpyubv | |
def int_hexagon_V6_vrmpyubv : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vrmpyubv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyubv_128B,VI_ftype_VIVI,2) | |
// tag : V6_vrmpyubv_128B | |
def int_hexagon_V6_vrmpyubv_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vrmpyubv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyubv_acc,VI_ftype_VIVIVI,3) | |
// tag : V6_vrmpyubv_acc | |
def int_hexagon_V6_vrmpyubv_acc : | |
Hexagon_v512v512v512v512_Intrinsic<"HEXAGON_V6_vrmpyubv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyubv_acc_128B,VI_ftype_VIVIVI,3) | |
// tag : V6_vrmpyubv_acc_128B | |
def int_hexagon_V6_vrmpyubv_acc_128B : | |
Hexagon_v1024v1024v1024v1024_Intrinsic<"HEXAGON_V6_vrmpyubv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybv,VI_ftype_VIVI,2) | |
// tag : V6_vrmpybv | |
def int_hexagon_V6_vrmpybv : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vrmpybv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybv_128B,VI_ftype_VIVI,2) | |
// tag : V6_vrmpybv_128B | |
def int_hexagon_V6_vrmpybv_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vrmpybv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybv_acc,VI_ftype_VIVIVI,3) | |
// tag : V6_vrmpybv_acc | |
def int_hexagon_V6_vrmpybv_acc : | |
Hexagon_v512v512v512v512_Intrinsic<"HEXAGON_V6_vrmpybv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybv_acc_128B,VI_ftype_VIVIVI,3) | |
// tag : V6_vrmpybv_acc_128B | |
def int_hexagon_V6_vrmpybv_acc_128B : | |
Hexagon_v1024v1024v1024v1024_Intrinsic<"HEXAGON_V6_vrmpybv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyubi,VD_ftype_VDSISI,3) | |
// tag : V6_vrmpyubi | |
def int_hexagon_V6_vrmpyubi : | |
Hexagon_v1024v1024ii_Intrinsic<"HEXAGON_V6_vrmpyubi">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyubi_128B,VD_ftype_VDSISI,3) | |
// tag : V6_vrmpyubi_128B | |
def int_hexagon_V6_vrmpyubi_128B : | |
Hexagon_v2048v2048ii_Intrinsic<"HEXAGON_V6_vrmpyubi_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyubi_acc,VD_ftype_VDVDSISI,4) | |
// tag : V6_vrmpyubi_acc | |
def int_hexagon_V6_vrmpyubi_acc : | |
Hexagon_v1024v1024v1024ii_Intrinsic<"HEXAGON_V6_vrmpyubi_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpyubi_acc_128B,VD_ftype_VDVDSISI,4) | |
// tag : V6_vrmpyubi_acc_128B | |
def int_hexagon_V6_vrmpyubi_acc_128B : | |
Hexagon_v2048v2048v2048ii_Intrinsic<"HEXAGON_V6_vrmpyubi_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybus,VI_ftype_VISI,2) | |
// tag : V6_vrmpybus | |
def int_hexagon_V6_vrmpybus : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vrmpybus">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybus_128B,VI_ftype_VISI,2) | |
// tag : V6_vrmpybus_128B | |
def int_hexagon_V6_vrmpybus_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vrmpybus_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybus_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vrmpybus_acc | |
def int_hexagon_V6_vrmpybus_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vrmpybus_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybus_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vrmpybus_acc_128B | |
def int_hexagon_V6_vrmpybus_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vrmpybus_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybusi,VD_ftype_VDSISI,3) | |
// tag : V6_vrmpybusi | |
def int_hexagon_V6_vrmpybusi : | |
Hexagon_v1024v1024ii_Intrinsic<"HEXAGON_V6_vrmpybusi">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybusi_128B,VD_ftype_VDSISI,3) | |
// tag : V6_vrmpybusi_128B | |
def int_hexagon_V6_vrmpybusi_128B : | |
Hexagon_v2048v2048ii_Intrinsic<"HEXAGON_V6_vrmpybusi_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybusi_acc,VD_ftype_VDVDSISI,4) | |
// tag : V6_vrmpybusi_acc | |
def int_hexagon_V6_vrmpybusi_acc : | |
Hexagon_v1024v1024v1024ii_Intrinsic<"HEXAGON_V6_vrmpybusi_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybusi_acc_128B,VD_ftype_VDVDSISI,4) | |
// tag : V6_vrmpybusi_acc_128B | |
def int_hexagon_V6_vrmpybusi_acc_128B : | |
Hexagon_v2048v2048v2048ii_Intrinsic<"HEXAGON_V6_vrmpybusi_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybusv,VI_ftype_VIVI,2) | |
// tag : V6_vrmpybusv | |
def int_hexagon_V6_vrmpybusv : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vrmpybusv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybusv_128B,VI_ftype_VIVI,2) | |
// tag : V6_vrmpybusv_128B | |
def int_hexagon_V6_vrmpybusv_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vrmpybusv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybusv_acc,VI_ftype_VIVIVI,3) | |
// tag : V6_vrmpybusv_acc | |
def int_hexagon_V6_vrmpybusv_acc : | |
Hexagon_v512v512v512v512_Intrinsic<"HEXAGON_V6_vrmpybusv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrmpybusv_acc_128B,VI_ftype_VIVIVI,3) | |
// tag : V6_vrmpybusv_acc_128B | |
def int_hexagon_V6_vrmpybusv_acc_128B : | |
Hexagon_v1024v1024v1024v1024_Intrinsic<"HEXAGON_V6_vrmpybusv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdsaduh,VD_ftype_VDSI,2) | |
// tag : V6_vdsaduh | |
def int_hexagon_V6_vdsaduh : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vdsaduh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdsaduh_128B,VD_ftype_VDSI,2) | |
// tag : V6_vdsaduh_128B | |
def int_hexagon_V6_vdsaduh_128B : | |
Hexagon_v2048v2048i_Intrinsic<"HEXAGON_V6_vdsaduh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdsaduh_acc,VD_ftype_VDVDSI,3) | |
// tag : V6_vdsaduh_acc | |
def int_hexagon_V6_vdsaduh_acc : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vdsaduh_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdsaduh_acc_128B,VD_ftype_VDVDSI,3) | |
// tag : V6_vdsaduh_acc_128B | |
def int_hexagon_V6_vdsaduh_acc_128B : | |
Hexagon_v2048v2048v2048i_Intrinsic<"HEXAGON_V6_vdsaduh_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrsadubi,VD_ftype_VDSISI,3) | |
// tag : V6_vrsadubi | |
def int_hexagon_V6_vrsadubi : | |
Hexagon_v1024v1024ii_Intrinsic<"HEXAGON_V6_vrsadubi">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrsadubi_128B,VD_ftype_VDSISI,3) | |
// tag : V6_vrsadubi_128B | |
def int_hexagon_V6_vrsadubi_128B : | |
Hexagon_v2048v2048ii_Intrinsic<"HEXAGON_V6_vrsadubi_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrsadubi_acc,VD_ftype_VDVDSISI,4) | |
// tag : V6_vrsadubi_acc | |
def int_hexagon_V6_vrsadubi_acc : | |
Hexagon_v1024v1024v1024ii_Intrinsic<"HEXAGON_V6_vrsadubi_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrsadubi_acc_128B,VD_ftype_VDVDSISI,4) | |
// tag : V6_vrsadubi_acc_128B | |
def int_hexagon_V6_vrsadubi_acc_128B : | |
Hexagon_v2048v2048v2048ii_Intrinsic<"HEXAGON_V6_vrsadubi_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrw,VI_ftype_VISI,2) | |
// tag : V6_vasrw | |
def int_hexagon_V6_vasrw : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vasrw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrw_128B,VI_ftype_VISI,2) | |
// tag : V6_vasrw_128B | |
def int_hexagon_V6_vasrw_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vasrw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslw,VI_ftype_VISI,2) | |
// tag : V6_vaslw | |
def int_hexagon_V6_vaslw : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vaslw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslw_128B,VI_ftype_VISI,2) | |
// tag : V6_vaslw_128B | |
def int_hexagon_V6_vaslw_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vaslw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlsrw,VI_ftype_VISI,2) | |
// tag : V6_vlsrw | |
def int_hexagon_V6_vlsrw : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vlsrw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlsrw_128B,VI_ftype_VISI,2) | |
// tag : V6_vlsrw_128B | |
def int_hexagon_V6_vlsrw_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vlsrw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwv,VI_ftype_VIVI,2) | |
// tag : V6_vasrwv | |
def int_hexagon_V6_vasrwv : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vasrwv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwv_128B,VI_ftype_VIVI,2) | |
// tag : V6_vasrwv_128B | |
def int_hexagon_V6_vasrwv_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vasrwv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslwv,VI_ftype_VIVI,2) | |
// tag : V6_vaslwv | |
def int_hexagon_V6_vaslwv : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vaslwv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslwv_128B,VI_ftype_VIVI,2) | |
// tag : V6_vaslwv_128B | |
def int_hexagon_V6_vaslwv_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaslwv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlsrwv,VI_ftype_VIVI,2) | |
// tag : V6_vlsrwv | |
def int_hexagon_V6_vlsrwv : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vlsrwv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlsrwv_128B,VI_ftype_VIVI,2) | |
// tag : V6_vlsrwv_128B | |
def int_hexagon_V6_vlsrwv_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vlsrwv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrh,VI_ftype_VISI,2) | |
// tag : V6_vasrh | |
def int_hexagon_V6_vasrh : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vasrh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrh_128B,VI_ftype_VISI,2) | |
// tag : V6_vasrh_128B | |
def int_hexagon_V6_vasrh_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vasrh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslh,VI_ftype_VISI,2) | |
// tag : V6_vaslh | |
def int_hexagon_V6_vaslh : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vaslh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslh_128B,VI_ftype_VISI,2) | |
// tag : V6_vaslh_128B | |
def int_hexagon_V6_vaslh_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vaslh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlsrh,VI_ftype_VISI,2) | |
// tag : V6_vlsrh | |
def int_hexagon_V6_vlsrh : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vlsrh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlsrh_128B,VI_ftype_VISI,2) | |
// tag : V6_vlsrh_128B | |
def int_hexagon_V6_vlsrh_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vlsrh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrhv,VI_ftype_VIVI,2) | |
// tag : V6_vasrhv | |
def int_hexagon_V6_vasrhv : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vasrhv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrhv_128B,VI_ftype_VIVI,2) | |
// tag : V6_vasrhv_128B | |
def int_hexagon_V6_vasrhv_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vasrhv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslhv,VI_ftype_VIVI,2) | |
// tag : V6_vaslhv | |
def int_hexagon_V6_vaslhv : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vaslhv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslhv_128B,VI_ftype_VIVI,2) | |
// tag : V6_vaslhv_128B | |
def int_hexagon_V6_vaslhv_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaslhv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlsrhv,VI_ftype_VIVI,2) | |
// tag : V6_vlsrhv | |
def int_hexagon_V6_vlsrhv : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vlsrhv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlsrhv_128B,VI_ftype_VIVI,2) | |
// tag : V6_vlsrhv_128B | |
def int_hexagon_V6_vlsrhv_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vlsrhv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwh,VI_ftype_VIVISI,3) | |
// tag : V6_vasrwh | |
def int_hexagon_V6_vasrwh : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vasrwh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwh_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vasrwh_128B | |
def int_hexagon_V6_vasrwh_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vasrwh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwhsat,VI_ftype_VIVISI,3) | |
// tag : V6_vasrwhsat | |
def int_hexagon_V6_vasrwhsat : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vasrwhsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwhsat_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vasrwhsat_128B | |
def int_hexagon_V6_vasrwhsat_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vasrwhsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwhrndsat,VI_ftype_VIVISI,3) | |
// tag : V6_vasrwhrndsat | |
def int_hexagon_V6_vasrwhrndsat : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vasrwhrndsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwhrndsat_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vasrwhrndsat_128B | |
def int_hexagon_V6_vasrwhrndsat_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vasrwhrndsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwuhsat,VI_ftype_VIVISI,3) | |
// tag : V6_vasrwuhsat | |
def int_hexagon_V6_vasrwuhsat : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vasrwuhsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrwuhsat_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vasrwuhsat_128B | |
def int_hexagon_V6_vasrwuhsat_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vasrwuhsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vroundwh,VI_ftype_VIVI,2) | |
// tag : V6_vroundwh | |
def int_hexagon_V6_vroundwh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vroundwh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vroundwh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vroundwh_128B | |
def int_hexagon_V6_vroundwh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vroundwh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vroundwuh,VI_ftype_VIVI,2) | |
// tag : V6_vroundwuh | |
def int_hexagon_V6_vroundwuh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vroundwuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vroundwuh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vroundwuh_128B | |
def int_hexagon_V6_vroundwuh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vroundwuh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrhubsat,VI_ftype_VIVISI,3) | |
// tag : V6_vasrhubsat | |
def int_hexagon_V6_vasrhubsat : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vasrhubsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrhubsat_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vasrhubsat_128B | |
def int_hexagon_V6_vasrhubsat_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vasrhubsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrhubrndsat,VI_ftype_VIVISI,3) | |
// tag : V6_vasrhubrndsat | |
def int_hexagon_V6_vasrhubrndsat : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vasrhubrndsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrhubrndsat_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vasrhubrndsat_128B | |
def int_hexagon_V6_vasrhubrndsat_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vasrhubrndsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrhbrndsat,VI_ftype_VIVISI,3) | |
// tag : V6_vasrhbrndsat | |
def int_hexagon_V6_vasrhbrndsat : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vasrhbrndsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrhbrndsat_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vasrhbrndsat_128B | |
def int_hexagon_V6_vasrhbrndsat_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vasrhbrndsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vroundhb,VI_ftype_VIVI,2) | |
// tag : V6_vroundhb | |
def int_hexagon_V6_vroundhb : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vroundhb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vroundhb_128B,VI_ftype_VIVI,2) | |
// tag : V6_vroundhb_128B | |
def int_hexagon_V6_vroundhb_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vroundhb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vroundhub,VI_ftype_VIVI,2) | |
// tag : V6_vroundhub | |
def int_hexagon_V6_vroundhub : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vroundhub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vroundhub_128B,VI_ftype_VIVI,2) | |
// tag : V6_vroundhub_128B | |
def int_hexagon_V6_vroundhub_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vroundhub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslw_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vaslw_acc | |
def int_hexagon_V6_vaslw_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vaslw_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaslw_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vaslw_acc_128B | |
def int_hexagon_V6_vaslw_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vaslw_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrw_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vasrw_acc | |
def int_hexagon_V6_vasrw_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vasrw_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vasrw_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vasrw_acc_128B | |
def int_hexagon_V6_vasrw_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vasrw_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddb,VI_ftype_VIVI,2) | |
// tag : V6_vaddb | |
def int_hexagon_V6_vaddb : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vaddb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddb_128B,VI_ftype_VIVI,2) | |
// tag : V6_vaddb_128B | |
def int_hexagon_V6_vaddb_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubb,VI_ftype_VIVI,2) | |
// tag : V6_vsubb | |
def int_hexagon_V6_vsubb : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vsubb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubb_128B,VI_ftype_VIVI,2) | |
// tag : V6_vsubb_128B | |
def int_hexagon_V6_vsubb_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddb_dv,VD_ftype_VDVD,2) | |
// tag : V6_vaddb_dv | |
def int_hexagon_V6_vaddb_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddb_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddb_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vaddb_dv_128B | |
def int_hexagon_V6_vaddb_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vaddb_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubb_dv,VD_ftype_VDVD,2) | |
// tag : V6_vsubb_dv | |
def int_hexagon_V6_vsubb_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubb_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubb_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vsubb_dv_128B | |
def int_hexagon_V6_vsubb_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vsubb_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddh,VI_ftype_VIVI,2) | |
// tag : V6_vaddh | |
def int_hexagon_V6_vaddh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vaddh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vaddh_128B | |
def int_hexagon_V6_vaddh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubh,VI_ftype_VIVI,2) | |
// tag : V6_vsubh | |
def int_hexagon_V6_vsubh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vsubh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vsubh_128B | |
def int_hexagon_V6_vsubh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddh_dv,VD_ftype_VDVD,2) | |
// tag : V6_vaddh_dv | |
def int_hexagon_V6_vaddh_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddh_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddh_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vaddh_dv_128B | |
def int_hexagon_V6_vaddh_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vaddh_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubh_dv,VD_ftype_VDVD,2) | |
// tag : V6_vsubh_dv | |
def int_hexagon_V6_vsubh_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubh_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubh_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vsubh_dv_128B | |
def int_hexagon_V6_vsubh_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vsubh_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddw,VI_ftype_VIVI,2) | |
// tag : V6_vaddw | |
def int_hexagon_V6_vaddw : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vaddw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddw_128B,VI_ftype_VIVI,2) | |
// tag : V6_vaddw_128B | |
def int_hexagon_V6_vaddw_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubw,VI_ftype_VIVI,2) | |
// tag : V6_vsubw | |
def int_hexagon_V6_vsubw : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vsubw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubw_128B,VI_ftype_VIVI,2) | |
// tag : V6_vsubw_128B | |
def int_hexagon_V6_vsubw_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddw_dv,VD_ftype_VDVD,2) | |
// tag : V6_vaddw_dv | |
def int_hexagon_V6_vaddw_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddw_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddw_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vaddw_dv_128B | |
def int_hexagon_V6_vaddw_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vaddw_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubw_dv,VD_ftype_VDVD,2) | |
// tag : V6_vsubw_dv | |
def int_hexagon_V6_vsubw_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubw_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubw_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vsubw_dv_128B | |
def int_hexagon_V6_vsubw_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vsubw_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddubsat,VI_ftype_VIVI,2) | |
// tag : V6_vaddubsat | |
def int_hexagon_V6_vaddubsat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vaddubsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddubsat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vaddubsat_128B | |
def int_hexagon_V6_vaddubsat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddubsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddubsat_dv,VD_ftype_VDVD,2) | |
// tag : V6_vaddubsat_dv | |
def int_hexagon_V6_vaddubsat_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddubsat_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddubsat_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vaddubsat_dv_128B | |
def int_hexagon_V6_vaddubsat_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vaddubsat_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsububsat,VI_ftype_VIVI,2) | |
// tag : V6_vsububsat | |
def int_hexagon_V6_vsububsat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vsububsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsububsat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vsububsat_128B | |
def int_hexagon_V6_vsububsat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsububsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsububsat_dv,VD_ftype_VDVD,2) | |
// tag : V6_vsububsat_dv | |
def int_hexagon_V6_vsububsat_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsububsat_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsububsat_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vsububsat_dv_128B | |
def int_hexagon_V6_vsububsat_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vsububsat_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vadduhsat,VI_ftype_VIVI,2) | |
// tag : V6_vadduhsat | |
def int_hexagon_V6_vadduhsat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vadduhsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vadduhsat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vadduhsat_128B | |
def int_hexagon_V6_vadduhsat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vadduhsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vadduhsat_dv,VD_ftype_VDVD,2) | |
// tag : V6_vadduhsat_dv | |
def int_hexagon_V6_vadduhsat_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vadduhsat_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vadduhsat_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vadduhsat_dv_128B | |
def int_hexagon_V6_vadduhsat_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vadduhsat_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubuhsat,VI_ftype_VIVI,2) | |
// tag : V6_vsubuhsat | |
def int_hexagon_V6_vsubuhsat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vsubuhsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubuhsat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vsubuhsat_128B | |
def int_hexagon_V6_vsubuhsat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubuhsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubuhsat_dv,VD_ftype_VDVD,2) | |
// tag : V6_vsubuhsat_dv | |
def int_hexagon_V6_vsubuhsat_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubuhsat_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubuhsat_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vsubuhsat_dv_128B | |
def int_hexagon_V6_vsubuhsat_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vsubuhsat_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhsat,VI_ftype_VIVI,2) | |
// tag : V6_vaddhsat | |
def int_hexagon_V6_vaddhsat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vaddhsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhsat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vaddhsat_128B | |
def int_hexagon_V6_vaddhsat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddhsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhsat_dv,VD_ftype_VDVD,2) | |
// tag : V6_vaddhsat_dv | |
def int_hexagon_V6_vaddhsat_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddhsat_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhsat_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vaddhsat_dv_128B | |
def int_hexagon_V6_vaddhsat_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vaddhsat_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhsat,VI_ftype_VIVI,2) | |
// tag : V6_vsubhsat | |
def int_hexagon_V6_vsubhsat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vsubhsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhsat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vsubhsat_128B | |
def int_hexagon_V6_vsubhsat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubhsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhsat_dv,VD_ftype_VDVD,2) | |
// tag : V6_vsubhsat_dv | |
def int_hexagon_V6_vsubhsat_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubhsat_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhsat_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vsubhsat_dv_128B | |
def int_hexagon_V6_vsubhsat_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vsubhsat_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddwsat,VI_ftype_VIVI,2) | |
// tag : V6_vaddwsat | |
def int_hexagon_V6_vaddwsat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vaddwsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddwsat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vaddwsat_128B | |
def int_hexagon_V6_vaddwsat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddwsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddwsat_dv,VD_ftype_VDVD,2) | |
// tag : V6_vaddwsat_dv | |
def int_hexagon_V6_vaddwsat_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vaddwsat_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddwsat_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vaddwsat_dv_128B | |
def int_hexagon_V6_vaddwsat_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vaddwsat_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubwsat,VI_ftype_VIVI,2) | |
// tag : V6_vsubwsat | |
def int_hexagon_V6_vsubwsat : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vsubwsat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubwsat_128B,VI_ftype_VIVI,2) | |
// tag : V6_vsubwsat_128B | |
def int_hexagon_V6_vsubwsat_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubwsat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubwsat_dv,VD_ftype_VDVD,2) | |
// tag : V6_vsubwsat_dv | |
def int_hexagon_V6_vsubwsat_dv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsubwsat_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubwsat_dv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vsubwsat_dv_128B | |
def int_hexagon_V6_vsubwsat_dv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vsubwsat_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgub,VI_ftype_VIVI,2) | |
// tag : V6_vavgub | |
def int_hexagon_V6_vavgub : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vavgub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgub_128B,VI_ftype_VIVI,2) | |
// tag : V6_vavgub_128B | |
def int_hexagon_V6_vavgub_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vavgub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgubrnd,VI_ftype_VIVI,2) | |
// tag : V6_vavgubrnd | |
def int_hexagon_V6_vavgubrnd : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vavgubrnd">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgubrnd_128B,VI_ftype_VIVI,2) | |
// tag : V6_vavgubrnd_128B | |
def int_hexagon_V6_vavgubrnd_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vavgubrnd_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavguh,VI_ftype_VIVI,2) | |
// tag : V6_vavguh | |
def int_hexagon_V6_vavguh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vavguh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavguh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vavguh_128B | |
def int_hexagon_V6_vavguh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vavguh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavguhrnd,VI_ftype_VIVI,2) | |
// tag : V6_vavguhrnd | |
def int_hexagon_V6_vavguhrnd : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vavguhrnd">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavguhrnd_128B,VI_ftype_VIVI,2) | |
// tag : V6_vavguhrnd_128B | |
def int_hexagon_V6_vavguhrnd_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vavguhrnd_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgh,VI_ftype_VIVI,2) | |
// tag : V6_vavgh | |
def int_hexagon_V6_vavgh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vavgh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vavgh_128B | |
def int_hexagon_V6_vavgh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vavgh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavghrnd,VI_ftype_VIVI,2) | |
// tag : V6_vavghrnd | |
def int_hexagon_V6_vavghrnd : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vavghrnd">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavghrnd_128B,VI_ftype_VIVI,2) | |
// tag : V6_vavghrnd_128B | |
def int_hexagon_V6_vavghrnd_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vavghrnd_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnavgh,VI_ftype_VIVI,2) | |
// tag : V6_vnavgh | |
def int_hexagon_V6_vnavgh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vnavgh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnavgh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vnavgh_128B | |
def int_hexagon_V6_vnavgh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vnavgh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgw,VI_ftype_VIVI,2) | |
// tag : V6_vavgw | |
def int_hexagon_V6_vavgw : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vavgw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgw_128B,VI_ftype_VIVI,2) | |
// tag : V6_vavgw_128B | |
def int_hexagon_V6_vavgw_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vavgw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgwrnd,VI_ftype_VIVI,2) | |
// tag : V6_vavgwrnd | |
def int_hexagon_V6_vavgwrnd : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vavgwrnd">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vavgwrnd_128B,VI_ftype_VIVI,2) | |
// tag : V6_vavgwrnd_128B | |
def int_hexagon_V6_vavgwrnd_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vavgwrnd_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnavgw,VI_ftype_VIVI,2) | |
// tag : V6_vnavgw | |
def int_hexagon_V6_vnavgw : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vnavgw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnavgw_128B,VI_ftype_VIVI,2) | |
// tag : V6_vnavgw_128B | |
def int_hexagon_V6_vnavgw_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vnavgw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsdiffub,VI_ftype_VIVI,2) | |
// tag : V6_vabsdiffub | |
def int_hexagon_V6_vabsdiffub : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vabsdiffub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsdiffub_128B,VI_ftype_VIVI,2) | |
// tag : V6_vabsdiffub_128B | |
def int_hexagon_V6_vabsdiffub_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vabsdiffub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsdiffuh,VI_ftype_VIVI,2) | |
// tag : V6_vabsdiffuh | |
def int_hexagon_V6_vabsdiffuh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vabsdiffuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsdiffuh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vabsdiffuh_128B | |
def int_hexagon_V6_vabsdiffuh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vabsdiffuh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsdiffh,VI_ftype_VIVI,2) | |
// tag : V6_vabsdiffh | |
def int_hexagon_V6_vabsdiffh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vabsdiffh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsdiffh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vabsdiffh_128B | |
def int_hexagon_V6_vabsdiffh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vabsdiffh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsdiffw,VI_ftype_VIVI,2) | |
// tag : V6_vabsdiffw | |
def int_hexagon_V6_vabsdiffw : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vabsdiffw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsdiffw_128B,VI_ftype_VIVI,2) | |
// tag : V6_vabsdiffw_128B | |
def int_hexagon_V6_vabsdiffw_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vabsdiffw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnavgub,VI_ftype_VIVI,2) | |
// tag : V6_vnavgub | |
def int_hexagon_V6_vnavgub : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vnavgub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnavgub_128B,VI_ftype_VIVI,2) | |
// tag : V6_vnavgub_128B | |
def int_hexagon_V6_vnavgub_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vnavgub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddubh,VD_ftype_VIVI,2) | |
// tag : V6_vaddubh | |
def int_hexagon_V6_vaddubh : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vaddubh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddubh_128B,VD_ftype_VIVI,2) | |
// tag : V6_vaddubh_128B | |
def int_hexagon_V6_vaddubh_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vaddubh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsububh,VD_ftype_VIVI,2) | |
// tag : V6_vsububh | |
def int_hexagon_V6_vsububh : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vsububh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsububh_128B,VD_ftype_VIVI,2) | |
// tag : V6_vsububh_128B | |
def int_hexagon_V6_vsububh_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vsububh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhw,VD_ftype_VIVI,2) | |
// tag : V6_vaddhw | |
def int_hexagon_V6_vaddhw : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vaddhw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhw_128B,VD_ftype_VIVI,2) | |
// tag : V6_vaddhw_128B | |
def int_hexagon_V6_vaddhw_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vaddhw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhw,VD_ftype_VIVI,2) | |
// tag : V6_vsubhw | |
def int_hexagon_V6_vsubhw : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vsubhw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhw_128B,VD_ftype_VIVI,2) | |
// tag : V6_vsubhw_128B | |
def int_hexagon_V6_vsubhw_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vsubhw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vadduhw,VD_ftype_VIVI,2) | |
// tag : V6_vadduhw | |
def int_hexagon_V6_vadduhw : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vadduhw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vadduhw_128B,VD_ftype_VIVI,2) | |
// tag : V6_vadduhw_128B | |
def int_hexagon_V6_vadduhw_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vadduhw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubuhw,VD_ftype_VIVI,2) | |
// tag : V6_vsubuhw | |
def int_hexagon_V6_vsubuhw : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vsubuhw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubuhw_128B,VD_ftype_VIVI,2) | |
// tag : V6_vsubuhw_128B | |
def int_hexagon_V6_vsubuhw_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vsubuhw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vd0,VI_ftype_,0) | |
// tag : V6_vd0 | |
def int_hexagon_V6_vd0 : | |
Hexagon_v512_Intrinsic<"HEXAGON_V6_vd0">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vd0_128B,VI_ftype_,0) | |
// tag : V6_vd0_128B | |
def int_hexagon_V6_vd0_128B : | |
Hexagon_v1024_Intrinsic<"HEXAGON_V6_vd0_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddbq,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddbq | |
def int_hexagon_V6_vaddbq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vaddbq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddbq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddbq_128B | |
def int_hexagon_V6_vaddbq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vaddbq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubbq,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubbq | |
def int_hexagon_V6_vsubbq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vsubbq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubbq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubbq_128B | |
def int_hexagon_V6_vsubbq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vsubbq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddbnq,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddbnq | |
def int_hexagon_V6_vaddbnq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vaddbnq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddbnq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddbnq_128B | |
def int_hexagon_V6_vaddbnq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vaddbnq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubbnq,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubbnq | |
def int_hexagon_V6_vsubbnq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vsubbnq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubbnq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubbnq_128B | |
def int_hexagon_V6_vsubbnq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vsubbnq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhq,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddhq | |
def int_hexagon_V6_vaddhq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vaddhq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddhq_128B | |
def int_hexagon_V6_vaddhq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vaddhq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhq,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubhq | |
def int_hexagon_V6_vsubhq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vsubhq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubhq_128B | |
def int_hexagon_V6_vsubhq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vsubhq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhnq,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddhnq | |
def int_hexagon_V6_vaddhnq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vaddhnq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddhnq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddhnq_128B | |
def int_hexagon_V6_vaddhnq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vaddhnq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhnq,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubhnq | |
def int_hexagon_V6_vsubhnq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vsubhnq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubhnq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubhnq_128B | |
def int_hexagon_V6_vsubhnq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vsubhnq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddwq,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddwq | |
def int_hexagon_V6_vaddwq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vaddwq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddwq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddwq_128B | |
def int_hexagon_V6_vaddwq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vaddwq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubwq,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubwq | |
def int_hexagon_V6_vsubwq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vsubwq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubwq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubwq_128B | |
def int_hexagon_V6_vsubwq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vsubwq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddwnq,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddwnq | |
def int_hexagon_V6_vaddwnq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vaddwnq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vaddwnq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vaddwnq_128B | |
def int_hexagon_V6_vaddwnq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vaddwnq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubwnq,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubwnq | |
def int_hexagon_V6_vsubwnq : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vsubwnq">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsubwnq_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vsubwnq_128B | |
def int_hexagon_V6_vsubwnq_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vsubwnq_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsh,VI_ftype_VI,1) | |
// tag : V6_vabsh | |
def int_hexagon_V6_vabsh : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vabsh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsh_128B,VI_ftype_VI,1) | |
// tag : V6_vabsh_128B | |
def int_hexagon_V6_vabsh_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vabsh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsh_sat,VI_ftype_VI,1) | |
// tag : V6_vabsh_sat | |
def int_hexagon_V6_vabsh_sat : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vabsh_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsh_sat_128B,VI_ftype_VI,1) | |
// tag : V6_vabsh_sat_128B | |
def int_hexagon_V6_vabsh_sat_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vabsh_sat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsw,VI_ftype_VI,1) | |
// tag : V6_vabsw | |
def int_hexagon_V6_vabsw : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vabsw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsw_128B,VI_ftype_VI,1) | |
// tag : V6_vabsw_128B | |
def int_hexagon_V6_vabsw_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vabsw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsw_sat,VI_ftype_VI,1) | |
// tag : V6_vabsw_sat | |
def int_hexagon_V6_vabsw_sat : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vabsw_sat">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vabsw_sat_128B,VI_ftype_VI,1) | |
// tag : V6_vabsw_sat_128B | |
def int_hexagon_V6_vabsw_sat_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vabsw_sat_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybv,VD_ftype_VIVI,2) | |
// tag : V6_vmpybv | |
def int_hexagon_V6_vmpybv : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vmpybv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybv_128B,VD_ftype_VIVI,2) | |
// tag : V6_vmpybv_128B | |
def int_hexagon_V6_vmpybv_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpybv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybv_acc,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpybv_acc | |
def int_hexagon_V6_vmpybv_acc : | |
Hexagon_v1024v1024v512v512_Intrinsic<"HEXAGON_V6_vmpybv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybv_acc_128B,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpybv_acc_128B | |
def int_hexagon_V6_vmpybv_acc_128B : | |
Hexagon_v2048v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpybv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyubv,VD_ftype_VIVI,2) | |
// tag : V6_vmpyubv | |
def int_hexagon_V6_vmpyubv : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vmpyubv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyubv_128B,VD_ftype_VIVI,2) | |
// tag : V6_vmpyubv_128B | |
def int_hexagon_V6_vmpyubv_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpyubv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyubv_acc,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpyubv_acc | |
def int_hexagon_V6_vmpyubv_acc : | |
Hexagon_v1024v1024v512v512_Intrinsic<"HEXAGON_V6_vmpyubv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyubv_acc_128B,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpyubv_acc_128B | |
def int_hexagon_V6_vmpyubv_acc_128B : | |
Hexagon_v2048v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpyubv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybusv,VD_ftype_VIVI,2) | |
// tag : V6_vmpybusv | |
def int_hexagon_V6_vmpybusv : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vmpybusv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybusv_128B,VD_ftype_VIVI,2) | |
// tag : V6_vmpybusv_128B | |
def int_hexagon_V6_vmpybusv_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpybusv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybusv_acc,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpybusv_acc | |
def int_hexagon_V6_vmpybusv_acc : | |
Hexagon_v1024v1024v512v512_Intrinsic<"HEXAGON_V6_vmpybusv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybusv_acc_128B,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpybusv_acc_128B | |
def int_hexagon_V6_vmpybusv_acc_128B : | |
Hexagon_v2048v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpybusv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpabusv,VD_ftype_VDVD,2) | |
// tag : V6_vmpabusv | |
def int_hexagon_V6_vmpabusv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpabusv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpabusv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vmpabusv_128B | |
def int_hexagon_V6_vmpabusv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vmpabusv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpabuuv,VD_ftype_VDVD,2) | |
// tag : V6_vmpabuuv | |
def int_hexagon_V6_vmpabuuv : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpabuuv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpabuuv_128B,VD_ftype_VDVD,2) | |
// tag : V6_vmpabuuv_128B | |
def int_hexagon_V6_vmpabuuv_128B : | |
Hexagon_v2048v2048v2048_Intrinsic<"HEXAGON_V6_vmpabuuv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhv,VD_ftype_VIVI,2) | |
// tag : V6_vmpyhv | |
def int_hexagon_V6_vmpyhv : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vmpyhv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhv_128B,VD_ftype_VIVI,2) | |
// tag : V6_vmpyhv_128B | |
def int_hexagon_V6_vmpyhv_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpyhv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhv_acc,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpyhv_acc | |
def int_hexagon_V6_vmpyhv_acc : | |
Hexagon_v1024v1024v512v512_Intrinsic<"HEXAGON_V6_vmpyhv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhv_acc_128B,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpyhv_acc_128B | |
def int_hexagon_V6_vmpyhv_acc_128B : | |
Hexagon_v2048v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpyhv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyuhv,VD_ftype_VIVI,2) | |
// tag : V6_vmpyuhv | |
def int_hexagon_V6_vmpyuhv : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vmpyuhv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyuhv_128B,VD_ftype_VIVI,2) | |
// tag : V6_vmpyuhv_128B | |
def int_hexagon_V6_vmpyuhv_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpyuhv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyuhv_acc,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpyuhv_acc | |
def int_hexagon_V6_vmpyuhv_acc : | |
Hexagon_v1024v1024v512v512_Intrinsic<"HEXAGON_V6_vmpyuhv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyuhv_acc_128B,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpyuhv_acc_128B | |
def int_hexagon_V6_vmpyuhv_acc_128B : | |
Hexagon_v2048v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpyuhv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhvsrs,VI_ftype_VIVI,2) | |
// tag : V6_vmpyhvsrs | |
def int_hexagon_V6_vmpyhvsrs : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmpyhvsrs">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhvsrs_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmpyhvsrs_128B | |
def int_hexagon_V6_vmpyhvsrs_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyhvsrs_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhus,VD_ftype_VIVI,2) | |
// tag : V6_vmpyhus | |
def int_hexagon_V6_vmpyhus : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vmpyhus">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhus_128B,VD_ftype_VIVI,2) | |
// tag : V6_vmpyhus_128B | |
def int_hexagon_V6_vmpyhus_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpyhus_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhus_acc,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpyhus_acc | |
def int_hexagon_V6_vmpyhus_acc : | |
Hexagon_v1024v1024v512v512_Intrinsic<"HEXAGON_V6_vmpyhus_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhus_acc_128B,VD_ftype_VDVIVI,3) | |
// tag : V6_vmpyhus_acc_128B | |
def int_hexagon_V6_vmpyhus_acc_128B : | |
Hexagon_v2048v2048v1024v1024_Intrinsic<"HEXAGON_V6_vmpyhus_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyih,VI_ftype_VIVI,2) | |
// tag : V6_vmpyih | |
def int_hexagon_V6_vmpyih : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmpyih">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyih_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmpyih_128B | |
def int_hexagon_V6_vmpyih_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyih_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyih_acc,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyih_acc | |
def int_hexagon_V6_vmpyih_acc : | |
Hexagon_v512v512v512v512_Intrinsic<"HEXAGON_V6_vmpyih_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyih_acc_128B,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyih_acc_128B | |
def int_hexagon_V6_vmpyih_acc_128B : | |
Hexagon_v1024v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyih_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyewuh,VI_ftype_VIVI,2) | |
// tag : V6_vmpyewuh | |
def int_hexagon_V6_vmpyewuh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmpyewuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyewuh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmpyewuh_128B | |
def int_hexagon_V6_vmpyewuh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyewuh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyowh,VI_ftype_VIVI,2) | |
// tag : V6_vmpyowh | |
def int_hexagon_V6_vmpyowh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmpyowh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyowh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmpyowh_128B | |
def int_hexagon_V6_vmpyowh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyowh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyowh_rnd,VI_ftype_VIVI,2) | |
// tag : V6_vmpyowh_rnd | |
def int_hexagon_V6_vmpyowh_rnd : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmpyowh_rnd">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyowh_rnd_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmpyowh_rnd_128B | |
def int_hexagon_V6_vmpyowh_rnd_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyowh_rnd_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyowh_sacc,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyowh_sacc | |
def int_hexagon_V6_vmpyowh_sacc : | |
Hexagon_v512v512v512v512_Intrinsic<"HEXAGON_V6_vmpyowh_sacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyowh_sacc_128B,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyowh_sacc_128B | |
def int_hexagon_V6_vmpyowh_sacc_128B : | |
Hexagon_v1024v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyowh_sacc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyowh_rnd_sacc,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyowh_rnd_sacc | |
def int_hexagon_V6_vmpyowh_rnd_sacc : | |
Hexagon_v512v512v512v512_Intrinsic<"HEXAGON_V6_vmpyowh_rnd_sacc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyowh_rnd_sacc_128B,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyowh_rnd_sacc_128B | |
def int_hexagon_V6_vmpyowh_rnd_sacc_128B : | |
Hexagon_v1024v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyowh_rnd_sacc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyieoh,VI_ftype_VIVI,2) | |
// tag : V6_vmpyieoh | |
def int_hexagon_V6_vmpyieoh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmpyieoh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyieoh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmpyieoh_128B | |
def int_hexagon_V6_vmpyieoh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyieoh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiewuh,VI_ftype_VIVI,2) | |
// tag : V6_vmpyiewuh | |
def int_hexagon_V6_vmpyiewuh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmpyiewuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiewuh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmpyiewuh_128B | |
def int_hexagon_V6_vmpyiewuh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyiewuh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiowh,VI_ftype_VIVI,2) | |
// tag : V6_vmpyiowh | |
def int_hexagon_V6_vmpyiowh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmpyiowh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiowh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmpyiowh_128B | |
def int_hexagon_V6_vmpyiowh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyiowh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiewh_acc,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyiewh_acc | |
def int_hexagon_V6_vmpyiewh_acc : | |
Hexagon_v512v512v512v512_Intrinsic<"HEXAGON_V6_vmpyiewh_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiewh_acc_128B,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyiewh_acc_128B | |
def int_hexagon_V6_vmpyiewh_acc_128B : | |
Hexagon_v1024v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyiewh_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiewuh_acc,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyiewuh_acc | |
def int_hexagon_V6_vmpyiewuh_acc : | |
Hexagon_v512v512v512v512_Intrinsic<"HEXAGON_V6_vmpyiewuh_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiewuh_acc_128B,VI_ftype_VIVIVI,3) | |
// tag : V6_vmpyiewuh_acc_128B | |
def int_hexagon_V6_vmpyiewuh_acc_128B : | |
Hexagon_v1024v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmpyiewuh_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyub,VD_ftype_VISI,2) | |
// tag : V6_vmpyub | |
def int_hexagon_V6_vmpyub : | |
Hexagon_v1024v512i_Intrinsic<"HEXAGON_V6_vmpyub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyub_128B,VD_ftype_VISI,2) | |
// tag : V6_vmpyub_128B | |
def int_hexagon_V6_vmpyub_128B : | |
Hexagon_v2048v1024i_Intrinsic<"HEXAGON_V6_vmpyub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyub_acc,VD_ftype_VDVISI,3) | |
// tag : V6_vmpyub_acc | |
def int_hexagon_V6_vmpyub_acc : | |
Hexagon_v1024v1024v512i_Intrinsic<"HEXAGON_V6_vmpyub_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyub_acc_128B,VD_ftype_VDVISI,3) | |
// tag : V6_vmpyub_acc_128B | |
def int_hexagon_V6_vmpyub_acc_128B : | |
Hexagon_v2048v2048v1024i_Intrinsic<"HEXAGON_V6_vmpyub_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybus,VD_ftype_VISI,2) | |
// tag : V6_vmpybus | |
def int_hexagon_V6_vmpybus : | |
Hexagon_v1024v512i_Intrinsic<"HEXAGON_V6_vmpybus">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybus_128B,VD_ftype_VISI,2) | |
// tag : V6_vmpybus_128B | |
def int_hexagon_V6_vmpybus_128B : | |
Hexagon_v2048v1024i_Intrinsic<"HEXAGON_V6_vmpybus_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybus_acc,VD_ftype_VDVISI,3) | |
// tag : V6_vmpybus_acc | |
def int_hexagon_V6_vmpybus_acc : | |
Hexagon_v1024v1024v512i_Intrinsic<"HEXAGON_V6_vmpybus_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpybus_acc_128B,VD_ftype_VDVISI,3) | |
// tag : V6_vmpybus_acc_128B | |
def int_hexagon_V6_vmpybus_acc_128B : | |
Hexagon_v2048v2048v1024i_Intrinsic<"HEXAGON_V6_vmpybus_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpabus,VD_ftype_VDSI,2) | |
// tag : V6_vmpabus | |
def int_hexagon_V6_vmpabus : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vmpabus">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpabus_128B,VD_ftype_VDSI,2) | |
// tag : V6_vmpabus_128B | |
def int_hexagon_V6_vmpabus_128B : | |
Hexagon_v2048v2048i_Intrinsic<"HEXAGON_V6_vmpabus_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpabus_acc,VD_ftype_VDVDSI,3) | |
// tag : V6_vmpabus_acc | |
def int_hexagon_V6_vmpabus_acc : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vmpabus_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpabus_acc_128B,VD_ftype_VDVDSI,3) | |
// tag : V6_vmpabus_acc_128B | |
def int_hexagon_V6_vmpabus_acc_128B : | |
Hexagon_v2048v2048v2048i_Intrinsic<"HEXAGON_V6_vmpabus_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpahb,VD_ftype_VDSI,2) | |
// tag : V6_vmpahb | |
def int_hexagon_V6_vmpahb : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vmpahb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpahb_128B,VD_ftype_VDSI,2) | |
// tag : V6_vmpahb_128B | |
def int_hexagon_V6_vmpahb_128B : | |
Hexagon_v2048v2048i_Intrinsic<"HEXAGON_V6_vmpahb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpahb_acc,VD_ftype_VDVDSI,3) | |
// tag : V6_vmpahb_acc | |
def int_hexagon_V6_vmpahb_acc : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vmpahb_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpahb_acc_128B,VD_ftype_VDVDSI,3) | |
// tag : V6_vmpahb_acc_128B | |
def int_hexagon_V6_vmpahb_acc_128B : | |
Hexagon_v2048v2048v2048i_Intrinsic<"HEXAGON_V6_vmpahb_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyh,VD_ftype_VISI,2) | |
// tag : V6_vmpyh | |
def int_hexagon_V6_vmpyh : | |
Hexagon_v1024v512i_Intrinsic<"HEXAGON_V6_vmpyh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyh_128B,VD_ftype_VISI,2) | |
// tag : V6_vmpyh_128B | |
def int_hexagon_V6_vmpyh_128B : | |
Hexagon_v2048v1024i_Intrinsic<"HEXAGON_V6_vmpyh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhsat_acc,VD_ftype_VDVISI,3) | |
// tag : V6_vmpyhsat_acc | |
def int_hexagon_V6_vmpyhsat_acc : | |
Hexagon_v1024v1024v512i_Intrinsic<"HEXAGON_V6_vmpyhsat_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhsat_acc_128B,VD_ftype_VDVISI,3) | |
// tag : V6_vmpyhsat_acc_128B | |
def int_hexagon_V6_vmpyhsat_acc_128B : | |
Hexagon_v2048v2048v1024i_Intrinsic<"HEXAGON_V6_vmpyhsat_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhss,VI_ftype_VISI,2) | |
// tag : V6_vmpyhss | |
def int_hexagon_V6_vmpyhss : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vmpyhss">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhss_128B,VI_ftype_VISI,2) | |
// tag : V6_vmpyhss_128B | |
def int_hexagon_V6_vmpyhss_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vmpyhss_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhsrs,VI_ftype_VISI,2) | |
// tag : V6_vmpyhsrs | |
def int_hexagon_V6_vmpyhsrs : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vmpyhsrs">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyhsrs_128B,VI_ftype_VISI,2) | |
// tag : V6_vmpyhsrs_128B | |
def int_hexagon_V6_vmpyhsrs_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vmpyhsrs_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyuh,VD_ftype_VISI,2) | |
// tag : V6_vmpyuh | |
def int_hexagon_V6_vmpyuh : | |
Hexagon_v1024v512i_Intrinsic<"HEXAGON_V6_vmpyuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyuh_128B,VD_ftype_VISI,2) | |
// tag : V6_vmpyuh_128B | |
def int_hexagon_V6_vmpyuh_128B : | |
Hexagon_v2048v1024i_Intrinsic<"HEXAGON_V6_vmpyuh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyuh_acc,VD_ftype_VDVISI,3) | |
// tag : V6_vmpyuh_acc | |
def int_hexagon_V6_vmpyuh_acc : | |
Hexagon_v1024v1024v512i_Intrinsic<"HEXAGON_V6_vmpyuh_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyuh_acc_128B,VD_ftype_VDVISI,3) | |
// tag : V6_vmpyuh_acc_128B | |
def int_hexagon_V6_vmpyuh_acc_128B : | |
Hexagon_v2048v2048v1024i_Intrinsic<"HEXAGON_V6_vmpyuh_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyihb,VI_ftype_VISI,2) | |
// tag : V6_vmpyihb | |
def int_hexagon_V6_vmpyihb : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vmpyihb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyihb_128B,VI_ftype_VISI,2) | |
// tag : V6_vmpyihb_128B | |
def int_hexagon_V6_vmpyihb_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vmpyihb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyihb_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vmpyihb_acc | |
def int_hexagon_V6_vmpyihb_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vmpyihb_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyihb_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vmpyihb_acc_128B | |
def int_hexagon_V6_vmpyihb_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vmpyihb_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiwb,VI_ftype_VISI,2) | |
// tag : V6_vmpyiwb | |
def int_hexagon_V6_vmpyiwb : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vmpyiwb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiwb_128B,VI_ftype_VISI,2) | |
// tag : V6_vmpyiwb_128B | |
def int_hexagon_V6_vmpyiwb_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vmpyiwb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiwb_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vmpyiwb_acc | |
def int_hexagon_V6_vmpyiwb_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vmpyiwb_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiwb_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vmpyiwb_acc_128B | |
def int_hexagon_V6_vmpyiwb_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vmpyiwb_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiwh,VI_ftype_VISI,2) | |
// tag : V6_vmpyiwh | |
def int_hexagon_V6_vmpyiwh : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vmpyiwh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiwh_128B,VI_ftype_VISI,2) | |
// tag : V6_vmpyiwh_128B | |
def int_hexagon_V6_vmpyiwh_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vmpyiwh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiwh_acc,VI_ftype_VIVISI,3) | |
// tag : V6_vmpyiwh_acc | |
def int_hexagon_V6_vmpyiwh_acc : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vmpyiwh_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmpyiwh_acc_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vmpyiwh_acc_128B | |
def int_hexagon_V6_vmpyiwh_acc_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vmpyiwh_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vand,VI_ftype_VIVI,2) | |
// tag : V6_vand | |
def int_hexagon_V6_vand : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vand">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vand_128B,VI_ftype_VIVI,2) | |
// tag : V6_vand_128B | |
def int_hexagon_V6_vand_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vand_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vor,VI_ftype_VIVI,2) | |
// tag : V6_vor | |
def int_hexagon_V6_vor : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vor_128B,VI_ftype_VIVI,2) | |
// tag : V6_vor_128B | |
def int_hexagon_V6_vor_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vxor,VI_ftype_VIVI,2) | |
// tag : V6_vxor | |
def int_hexagon_V6_vxor : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vxor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vxor_128B,VI_ftype_VIVI,2) | |
// tag : V6_vxor_128B | |
def int_hexagon_V6_vxor_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vxor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnot,VI_ftype_VI,1) | |
// tag : V6_vnot | |
def int_hexagon_V6_vnot : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vnot">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnot_128B,VI_ftype_VI,1) | |
// tag : V6_vnot_128B | |
def int_hexagon_V6_vnot_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vnot_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vandqrt,VI_ftype_QVSI,2) | |
// tag : V6_vandqrt | |
def int_hexagon_V6_vandqrt : | |
Hexagon_v512v64ii_Intrinsic<"HEXAGON_V6_vandqrt">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vandqrt_128B,VI_ftype_QVSI,2) | |
// tag : V6_vandqrt_128B | |
def int_hexagon_V6_vandqrt_128B : | |
Hexagon_v1024v128ii_Intrinsic<"HEXAGON_V6_vandqrt_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vandqrt_acc,VI_ftype_VIQVSI,3) | |
// tag : V6_vandqrt_acc | |
def int_hexagon_V6_vandqrt_acc : | |
Hexagon_v512v512v64ii_Intrinsic<"HEXAGON_V6_vandqrt_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vandqrt_acc_128B,VI_ftype_VIQVSI,3) | |
// tag : V6_vandqrt_acc_128B | |
def int_hexagon_V6_vandqrt_acc_128B : | |
Hexagon_v1024v1024v128ii_Intrinsic<"HEXAGON_V6_vandqrt_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vandvrt,QV_ftype_VISI,2) | |
// tag : V6_vandvrt | |
def int_hexagon_V6_vandvrt : | |
Hexagon_v64iv512i_Intrinsic<"HEXAGON_V6_vandvrt">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vandvrt_128B,QV_ftype_VISI,2) | |
// tag : V6_vandvrt_128B | |
def int_hexagon_V6_vandvrt_128B : | |
Hexagon_v128iv1024i_Intrinsic<"HEXAGON_V6_vandvrt_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vandvrt_acc,QV_ftype_QVVISI,3) | |
// tag : V6_vandvrt_acc | |
def int_hexagon_V6_vandvrt_acc : | |
Hexagon_v64iv64iv512i_Intrinsic<"HEXAGON_V6_vandvrt_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vandvrt_acc_128B,QV_ftype_QVVISI,3) | |
// tag : V6_vandvrt_acc_128B | |
def int_hexagon_V6_vandvrt_acc_128B : | |
Hexagon_v128iv128iv1024i_Intrinsic<"HEXAGON_V6_vandvrt_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtw,QV_ftype_VIVI,2) | |
// tag : V6_vgtw | |
def int_hexagon_V6_vgtw : | |
Hexagon_v64iv512v512_Intrinsic<"HEXAGON_V6_vgtw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtw_128B,QV_ftype_VIVI,2) | |
// tag : V6_vgtw_128B | |
def int_hexagon_V6_vgtw_128B : | |
Hexagon_v128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtw_and,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtw_and | |
def int_hexagon_V6_vgtw_and : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtw_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtw_and_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtw_and_128B | |
def int_hexagon_V6_vgtw_and_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtw_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtw_or,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtw_or | |
def int_hexagon_V6_vgtw_or : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtw_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtw_or_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtw_or_128B | |
def int_hexagon_V6_vgtw_or_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtw_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtw_xor,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtw_xor | |
def int_hexagon_V6_vgtw_xor : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtw_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtw_xor_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtw_xor_128B | |
def int_hexagon_V6_vgtw_xor_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtw_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqw,QV_ftype_VIVI,2) | |
// tag : V6_veqw | |
def int_hexagon_V6_veqw : | |
Hexagon_v64iv512v512_Intrinsic<"HEXAGON_V6_veqw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqw_128B,QV_ftype_VIVI,2) | |
// tag : V6_veqw_128B | |
def int_hexagon_V6_veqw_128B : | |
Hexagon_v128iv1024v1024_Intrinsic<"HEXAGON_V6_veqw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqw_and,QV_ftype_QVVIVI,3) | |
// tag : V6_veqw_and | |
def int_hexagon_V6_veqw_and : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_veqw_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqw_and_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_veqw_and_128B | |
def int_hexagon_V6_veqw_and_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_veqw_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqw_or,QV_ftype_QVVIVI,3) | |
// tag : V6_veqw_or | |
def int_hexagon_V6_veqw_or : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_veqw_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqw_or_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_veqw_or_128B | |
def int_hexagon_V6_veqw_or_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_veqw_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqw_xor,QV_ftype_QVVIVI,3) | |
// tag : V6_veqw_xor | |
def int_hexagon_V6_veqw_xor : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_veqw_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqw_xor_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_veqw_xor_128B | |
def int_hexagon_V6_veqw_xor_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_veqw_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgth,QV_ftype_VIVI,2) | |
// tag : V6_vgth | |
def int_hexagon_V6_vgth : | |
Hexagon_v64iv512v512_Intrinsic<"HEXAGON_V6_vgth">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgth_128B,QV_ftype_VIVI,2) | |
// tag : V6_vgth_128B | |
def int_hexagon_V6_vgth_128B : | |
Hexagon_v128iv1024v1024_Intrinsic<"HEXAGON_V6_vgth_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgth_and,QV_ftype_QVVIVI,3) | |
// tag : V6_vgth_and | |
def int_hexagon_V6_vgth_and : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgth_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgth_and_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgth_and_128B | |
def int_hexagon_V6_vgth_and_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgth_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgth_or,QV_ftype_QVVIVI,3) | |
// tag : V6_vgth_or | |
def int_hexagon_V6_vgth_or : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgth_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgth_or_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgth_or_128B | |
def int_hexagon_V6_vgth_or_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgth_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgth_xor,QV_ftype_QVVIVI,3) | |
// tag : V6_vgth_xor | |
def int_hexagon_V6_vgth_xor : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgth_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgth_xor_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgth_xor_128B | |
def int_hexagon_V6_vgth_xor_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgth_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqh,QV_ftype_VIVI,2) | |
// tag : V6_veqh | |
def int_hexagon_V6_veqh : | |
Hexagon_v64iv512v512_Intrinsic<"HEXAGON_V6_veqh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqh_128B,QV_ftype_VIVI,2) | |
// tag : V6_veqh_128B | |
def int_hexagon_V6_veqh_128B : | |
Hexagon_v128iv1024v1024_Intrinsic<"HEXAGON_V6_veqh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqh_and,QV_ftype_QVVIVI,3) | |
// tag : V6_veqh_and | |
def int_hexagon_V6_veqh_and : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_veqh_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqh_and_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_veqh_and_128B | |
def int_hexagon_V6_veqh_and_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_veqh_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqh_or,QV_ftype_QVVIVI,3) | |
// tag : V6_veqh_or | |
def int_hexagon_V6_veqh_or : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_veqh_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqh_or_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_veqh_or_128B | |
def int_hexagon_V6_veqh_or_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_veqh_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqh_xor,QV_ftype_QVVIVI,3) | |
// tag : V6_veqh_xor | |
def int_hexagon_V6_veqh_xor : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_veqh_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqh_xor_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_veqh_xor_128B | |
def int_hexagon_V6_veqh_xor_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_veqh_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtb,QV_ftype_VIVI,2) | |
// tag : V6_vgtb | |
def int_hexagon_V6_vgtb : | |
Hexagon_v64iv512v512_Intrinsic<"HEXAGON_V6_vgtb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtb_128B,QV_ftype_VIVI,2) | |
// tag : V6_vgtb_128B | |
def int_hexagon_V6_vgtb_128B : | |
Hexagon_v128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtb_and,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtb_and | |
def int_hexagon_V6_vgtb_and : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtb_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtb_and_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtb_and_128B | |
def int_hexagon_V6_vgtb_and_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtb_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtb_or,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtb_or | |
def int_hexagon_V6_vgtb_or : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtb_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtb_or_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtb_or_128B | |
def int_hexagon_V6_vgtb_or_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtb_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtb_xor,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtb_xor | |
def int_hexagon_V6_vgtb_xor : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtb_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtb_xor_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtb_xor_128B | |
def int_hexagon_V6_vgtb_xor_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtb_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqb,QV_ftype_VIVI,2) | |
// tag : V6_veqb | |
def int_hexagon_V6_veqb : | |
Hexagon_v64iv512v512_Intrinsic<"HEXAGON_V6_veqb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqb_128B,QV_ftype_VIVI,2) | |
// tag : V6_veqb_128B | |
def int_hexagon_V6_veqb_128B : | |
Hexagon_v128iv1024v1024_Intrinsic<"HEXAGON_V6_veqb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqb_and,QV_ftype_QVVIVI,3) | |
// tag : V6_veqb_and | |
def int_hexagon_V6_veqb_and : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_veqb_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqb_and_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_veqb_and_128B | |
def int_hexagon_V6_veqb_and_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_veqb_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqb_or,QV_ftype_QVVIVI,3) | |
// tag : V6_veqb_or | |
def int_hexagon_V6_veqb_or : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_veqb_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqb_or_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_veqb_or_128B | |
def int_hexagon_V6_veqb_or_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_veqb_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqb_xor,QV_ftype_QVVIVI,3) | |
// tag : V6_veqb_xor | |
def int_hexagon_V6_veqb_xor : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_veqb_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_veqb_xor_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_veqb_xor_128B | |
def int_hexagon_V6_veqb_xor_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_veqb_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuw,QV_ftype_VIVI,2) | |
// tag : V6_vgtuw | |
def int_hexagon_V6_vgtuw : | |
Hexagon_v64iv512v512_Intrinsic<"HEXAGON_V6_vgtuw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuw_128B,QV_ftype_VIVI,2) | |
// tag : V6_vgtuw_128B | |
def int_hexagon_V6_vgtuw_128B : | |
Hexagon_v128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtuw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuw_and,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuw_and | |
def int_hexagon_V6_vgtuw_and : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtuw_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuw_and_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuw_and_128B | |
def int_hexagon_V6_vgtuw_and_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtuw_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuw_or,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuw_or | |
def int_hexagon_V6_vgtuw_or : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtuw_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuw_or_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuw_or_128B | |
def int_hexagon_V6_vgtuw_or_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtuw_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuw_xor,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuw_xor | |
def int_hexagon_V6_vgtuw_xor : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtuw_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuw_xor_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuw_xor_128B | |
def int_hexagon_V6_vgtuw_xor_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtuw_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuh,QV_ftype_VIVI,2) | |
// tag : V6_vgtuh | |
def int_hexagon_V6_vgtuh : | |
Hexagon_v64iv512v512_Intrinsic<"HEXAGON_V6_vgtuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuh_128B,QV_ftype_VIVI,2) | |
// tag : V6_vgtuh_128B | |
def int_hexagon_V6_vgtuh_128B : | |
Hexagon_v128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtuh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuh_and,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuh_and | |
def int_hexagon_V6_vgtuh_and : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtuh_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuh_and_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuh_and_128B | |
def int_hexagon_V6_vgtuh_and_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtuh_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuh_or,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuh_or | |
def int_hexagon_V6_vgtuh_or : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtuh_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuh_or_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuh_or_128B | |
def int_hexagon_V6_vgtuh_or_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtuh_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuh_xor,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuh_xor | |
def int_hexagon_V6_vgtuh_xor : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtuh_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtuh_xor_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtuh_xor_128B | |
def int_hexagon_V6_vgtuh_xor_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtuh_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtub,QV_ftype_VIVI,2) | |
// tag : V6_vgtub | |
def int_hexagon_V6_vgtub : | |
Hexagon_v64iv512v512_Intrinsic<"HEXAGON_V6_vgtub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtub_128B,QV_ftype_VIVI,2) | |
// tag : V6_vgtub_128B | |
def int_hexagon_V6_vgtub_128B : | |
Hexagon_v128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtub_and,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtub_and | |
def int_hexagon_V6_vgtub_and : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtub_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtub_and_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtub_and_128B | |
def int_hexagon_V6_vgtub_and_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtub_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtub_or,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtub_or | |
def int_hexagon_V6_vgtub_or : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtub_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtub_or_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtub_or_128B | |
def int_hexagon_V6_vgtub_or_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtub_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtub_xor,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtub_xor | |
def int_hexagon_V6_vgtub_xor : | |
Hexagon_v64iv64iv512v512_Intrinsic<"HEXAGON_V6_vgtub_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vgtub_xor_128B,QV_ftype_QVVIVI,3) | |
// tag : V6_vgtub_xor_128B | |
def int_hexagon_V6_vgtub_xor_128B : | |
Hexagon_v128iv128iv1024v1024_Intrinsic<"HEXAGON_V6_vgtub_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_or,QV_ftype_QVQV,2) | |
// tag : V6_pred_or | |
def int_hexagon_V6_pred_or : | |
Hexagon_v64iv64iv64i_Intrinsic<"HEXAGON_V6_pred_or">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_or_128B,QV_ftype_QVQV,2) | |
// tag : V6_pred_or_128B | |
def int_hexagon_V6_pred_or_128B : | |
Hexagon_v128iv128iv128i_Intrinsic<"HEXAGON_V6_pred_or_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_and,QV_ftype_QVQV,2) | |
// tag : V6_pred_and | |
def int_hexagon_V6_pred_and : | |
Hexagon_v64iv64iv64i_Intrinsic<"HEXAGON_V6_pred_and">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_and_128B,QV_ftype_QVQV,2) | |
// tag : V6_pred_and_128B | |
def int_hexagon_V6_pred_and_128B : | |
Hexagon_v128iv128iv128i_Intrinsic<"HEXAGON_V6_pred_and_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_not,QV_ftype_QV,1) | |
// tag : V6_pred_not | |
def int_hexagon_V6_pred_not : | |
Hexagon_v64iv64i_Intrinsic<"HEXAGON_V6_pred_not">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_not_128B,QV_ftype_QV,1) | |
// tag : V6_pred_not_128B | |
def int_hexagon_V6_pred_not_128B : | |
Hexagon_v128iv128i_Intrinsic<"HEXAGON_V6_pred_not_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_xor,QV_ftype_QVQV,2) | |
// tag : V6_pred_xor | |
def int_hexagon_V6_pred_xor : | |
Hexagon_v64iv64iv64i_Intrinsic<"HEXAGON_V6_pred_xor">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_xor_128B,QV_ftype_QVQV,2) | |
// tag : V6_pred_xor_128B | |
def int_hexagon_V6_pred_xor_128B : | |
Hexagon_v128iv128iv128i_Intrinsic<"HEXAGON_V6_pred_xor_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_and_n,QV_ftype_QVQV,2) | |
// tag : V6_pred_and_n | |
def int_hexagon_V6_pred_and_n : | |
Hexagon_v64iv64iv64i_Intrinsic<"HEXAGON_V6_pred_and_n">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_and_n_128B,QV_ftype_QVQV,2) | |
// tag : V6_pred_and_n_128B | |
def int_hexagon_V6_pred_and_n_128B : | |
Hexagon_v128iv128iv128i_Intrinsic<"HEXAGON_V6_pred_and_n_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_or_n,QV_ftype_QVQV,2) | |
// tag : V6_pred_or_n | |
def int_hexagon_V6_pred_or_n : | |
Hexagon_v64iv64iv64i_Intrinsic<"HEXAGON_V6_pred_or_n">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_or_n_128B,QV_ftype_QVQV,2) | |
// tag : V6_pred_or_n_128B | |
def int_hexagon_V6_pred_or_n_128B : | |
Hexagon_v128iv128iv128i_Intrinsic<"HEXAGON_V6_pred_or_n_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_scalar2,QV_ftype_SI,1) | |
// tag : V6_pred_scalar2 | |
def int_hexagon_V6_pred_scalar2 : | |
Hexagon_v64ii_Intrinsic<"HEXAGON_V6_pred_scalar2">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_pred_scalar2_128B,QV_ftype_SI,1) | |
// tag : V6_pred_scalar2_128B | |
def int_hexagon_V6_pred_scalar2_128B : | |
Hexagon_v128ii_Intrinsic<"HEXAGON_V6_pred_scalar2_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmux,VI_ftype_QVVIVI,3) | |
// tag : V6_vmux | |
def int_hexagon_V6_vmux : | |
Hexagon_v512v64iv512v512_Intrinsic<"HEXAGON_V6_vmux">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmux_128B,VI_ftype_QVVIVI,3) | |
// tag : V6_vmux_128B | |
def int_hexagon_V6_vmux_128B : | |
Hexagon_v1024v128iv1024v1024_Intrinsic<"HEXAGON_V6_vmux_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vswap,VD_ftype_QVVIVI,3) | |
// tag : V6_vswap | |
def int_hexagon_V6_vswap : | |
Hexagon_v1024v64iv512v512_Intrinsic<"HEXAGON_V6_vswap">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vswap_128B,VD_ftype_QVVIVI,3) | |
// tag : V6_vswap_128B | |
def int_hexagon_V6_vswap_128B : | |
Hexagon_v2048v128iv1024v1024_Intrinsic<"HEXAGON_V6_vswap_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmaxub,VI_ftype_VIVI,2) | |
// tag : V6_vmaxub | |
def int_hexagon_V6_vmaxub : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmaxub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmaxub_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmaxub_128B | |
def int_hexagon_V6_vmaxub_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmaxub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vminub,VI_ftype_VIVI,2) | |
// tag : V6_vminub | |
def int_hexagon_V6_vminub : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vminub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vminub_128B,VI_ftype_VIVI,2) | |
// tag : V6_vminub_128B | |
def int_hexagon_V6_vminub_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vminub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmaxuh,VI_ftype_VIVI,2) | |
// tag : V6_vmaxuh | |
def int_hexagon_V6_vmaxuh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmaxuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmaxuh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmaxuh_128B | |
def int_hexagon_V6_vmaxuh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmaxuh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vminuh,VI_ftype_VIVI,2) | |
// tag : V6_vminuh | |
def int_hexagon_V6_vminuh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vminuh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vminuh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vminuh_128B | |
def int_hexagon_V6_vminuh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vminuh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmaxh,VI_ftype_VIVI,2) | |
// tag : V6_vmaxh | |
def int_hexagon_V6_vmaxh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmaxh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmaxh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmaxh_128B | |
def int_hexagon_V6_vmaxh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmaxh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vminh,VI_ftype_VIVI,2) | |
// tag : V6_vminh | |
def int_hexagon_V6_vminh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vminh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vminh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vminh_128B | |
def int_hexagon_V6_vminh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vminh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmaxw,VI_ftype_VIVI,2) | |
// tag : V6_vmaxw | |
def int_hexagon_V6_vmaxw : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vmaxw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vmaxw_128B,VI_ftype_VIVI,2) | |
// tag : V6_vmaxw_128B | |
def int_hexagon_V6_vmaxw_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vmaxw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vminw,VI_ftype_VIVI,2) | |
// tag : V6_vminw | |
def int_hexagon_V6_vminw : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vminw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vminw_128B,VI_ftype_VIVI,2) | |
// tag : V6_vminw_128B | |
def int_hexagon_V6_vminw_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vminw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsathub,VI_ftype_VIVI,2) | |
// tag : V6_vsathub | |
def int_hexagon_V6_vsathub : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vsathub">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsathub_128B,VI_ftype_VIVI,2) | |
// tag : V6_vsathub_128B | |
def int_hexagon_V6_vsathub_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsathub_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsatwh,VI_ftype_VIVI,2) | |
// tag : V6_vsatwh | |
def int_hexagon_V6_vsatwh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vsatwh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vsatwh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vsatwh_128B | |
def int_hexagon_V6_vsatwh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vsatwh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffeb,VI_ftype_VIVI,2) | |
// tag : V6_vshuffeb | |
def int_hexagon_V6_vshuffeb : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vshuffeb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffeb_128B,VI_ftype_VIVI,2) | |
// tag : V6_vshuffeb_128B | |
def int_hexagon_V6_vshuffeb_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vshuffeb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffob,VI_ftype_VIVI,2) | |
// tag : V6_vshuffob | |
def int_hexagon_V6_vshuffob : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vshuffob">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffob_128B,VI_ftype_VIVI,2) | |
// tag : V6_vshuffob_128B | |
def int_hexagon_V6_vshuffob_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vshuffob_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshufeh,VI_ftype_VIVI,2) | |
// tag : V6_vshufeh | |
def int_hexagon_V6_vshufeh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vshufeh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshufeh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vshufeh_128B | |
def int_hexagon_V6_vshufeh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vshufeh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshufoh,VI_ftype_VIVI,2) | |
// tag : V6_vshufoh | |
def int_hexagon_V6_vshufoh : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vshufoh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshufoh_128B,VI_ftype_VIVI,2) | |
// tag : V6_vshufoh_128B | |
def int_hexagon_V6_vshufoh_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vshufoh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffvdd,VD_ftype_VIVISI,3) | |
// tag : V6_vshuffvdd | |
def int_hexagon_V6_vshuffvdd : | |
Hexagon_v1024v512v512i_Intrinsic<"HEXAGON_V6_vshuffvdd">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffvdd_128B,VD_ftype_VIVISI,3) | |
// tag : V6_vshuffvdd_128B | |
def int_hexagon_V6_vshuffvdd_128B : | |
Hexagon_v2048v1024v1024i_Intrinsic<"HEXAGON_V6_vshuffvdd_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdealvdd,VD_ftype_VIVISI,3) | |
// tag : V6_vdealvdd | |
def int_hexagon_V6_vdealvdd : | |
Hexagon_v1024v512v512i_Intrinsic<"HEXAGON_V6_vdealvdd">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdealvdd_128B,VD_ftype_VIVISI,3) | |
// tag : V6_vdealvdd_128B | |
def int_hexagon_V6_vdealvdd_128B : | |
Hexagon_v2048v1024v1024i_Intrinsic<"HEXAGON_V6_vdealvdd_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshufoeh,VD_ftype_VIVI,2) | |
// tag : V6_vshufoeh | |
def int_hexagon_V6_vshufoeh : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vshufoeh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshufoeh_128B,VD_ftype_VIVI,2) | |
// tag : V6_vshufoeh_128B | |
def int_hexagon_V6_vshufoeh_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vshufoeh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshufoeb,VD_ftype_VIVI,2) | |
// tag : V6_vshufoeb | |
def int_hexagon_V6_vshufoeb : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vshufoeb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshufoeb_128B,VD_ftype_VIVI,2) | |
// tag : V6_vshufoeb_128B | |
def int_hexagon_V6_vshufoeb_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vshufoeb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdealh,VI_ftype_VI,1) | |
// tag : V6_vdealh | |
def int_hexagon_V6_vdealh : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vdealh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdealh_128B,VI_ftype_VI,1) | |
// tag : V6_vdealh_128B | |
def int_hexagon_V6_vdealh_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vdealh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdealb,VI_ftype_VI,1) | |
// tag : V6_vdealb | |
def int_hexagon_V6_vdealb : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vdealb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdealb_128B,VI_ftype_VI,1) | |
// tag : V6_vdealb_128B | |
def int_hexagon_V6_vdealb_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vdealb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdealb4w,VI_ftype_VIVI,2) | |
// tag : V6_vdealb4w | |
def int_hexagon_V6_vdealb4w : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vdealb4w">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdealb4w_128B,VI_ftype_VIVI,2) | |
// tag : V6_vdealb4w_128B | |
def int_hexagon_V6_vdealb4w_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vdealb4w_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffh,VI_ftype_VI,1) | |
// tag : V6_vshuffh | |
def int_hexagon_V6_vshuffh : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vshuffh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffh_128B,VI_ftype_VI,1) | |
// tag : V6_vshuffh_128B | |
def int_hexagon_V6_vshuffh_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vshuffh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffb,VI_ftype_VI,1) | |
// tag : V6_vshuffb | |
def int_hexagon_V6_vshuffb : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vshuffb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vshuffb_128B,VI_ftype_VI,1) | |
// tag : V6_vshuffb_128B | |
def int_hexagon_V6_vshuffb_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vshuffb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_extractw,SI_ftype_VISI,2) | |
// tag : V6_extractw | |
def int_hexagon_V6_extractw : | |
Hexagon_iv512i_Intrinsic<"HEXAGON_V6_extractw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_extractw_128B,SI_ftype_VISI,2) | |
// tag : V6_extractw_128B | |
def int_hexagon_V6_extractw_128B : | |
Hexagon_iv1024i_Intrinsic<"HEXAGON_V6_extractw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vinsertwr,VI_ftype_VISI,2) | |
// tag : V6_vinsertwr | |
def int_hexagon_V6_vinsertwr : | |
Hexagon_v512v512i_Intrinsic<"HEXAGON_V6_vinsertwr">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vinsertwr_128B,VI_ftype_VISI,2) | |
// tag : V6_vinsertwr_128B | |
def int_hexagon_V6_vinsertwr_128B : | |
Hexagon_v1024v1024i_Intrinsic<"HEXAGON_V6_vinsertwr_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_lvsplatw,VI_ftype_SI,1) | |
// tag : V6_lvsplatw | |
def int_hexagon_V6_lvsplatw : | |
Hexagon_v512i_Intrinsic<"HEXAGON_V6_lvsplatw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_lvsplatw_128B,VI_ftype_SI,1) | |
// tag : V6_lvsplatw_128B | |
def int_hexagon_V6_lvsplatw_128B : | |
Hexagon_v1024i_Intrinsic<"HEXAGON_V6_lvsplatw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vassign,VI_ftype_VI,1) | |
// tag : V6_vassign | |
def int_hexagon_V6_vassign : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vassign">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vassign_128B,VI_ftype_VI,1) | |
// tag : V6_vassign_128B | |
def int_hexagon_V6_vassign_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vassign_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vcombine,VD_ftype_VIVI,2) | |
// tag : V6_vcombine | |
def int_hexagon_V6_vcombine : | |
Hexagon_v1024v512v512_Intrinsic<"HEXAGON_V6_vcombine">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vcombine_128B,VD_ftype_VIVI,2) | |
// tag : V6_vcombine_128B | |
def int_hexagon_V6_vcombine_128B : | |
Hexagon_v2048v1024v1024_Intrinsic<"HEXAGON_V6_vcombine_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutb,VI_ftype_VIDISI,3) | |
// tag : V6_vlutb | |
def int_hexagon_V6_vlutb : | |
Hexagon_v512v512LLii_Intrinsic<"HEXAGON_V6_vlutb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutb_128B,VI_ftype_VIDISI,3) | |
// tag : V6_vlutb_128B | |
def int_hexagon_V6_vlutb_128B : | |
Hexagon_v1024v1024LLii_Intrinsic<"HEXAGON_V6_vlutb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutb_acc,VI_ftype_VIVIDISI,4) | |
// tag : V6_vlutb_acc | |
def int_hexagon_V6_vlutb_acc : | |
Hexagon_v512v512v512LLii_Intrinsic<"HEXAGON_V6_vlutb_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutb_acc_128B,VI_ftype_VIVIDISI,4) | |
// tag : V6_vlutb_acc_128B | |
def int_hexagon_V6_vlutb_acc_128B : | |
Hexagon_v1024v1024v1024LLii_Intrinsic<"HEXAGON_V6_vlutb_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutb_dv,VD_ftype_VDDISI,3) | |
// tag : V6_vlutb_dv | |
def int_hexagon_V6_vlutb_dv : | |
Hexagon_v1024v1024LLii_Intrinsic<"HEXAGON_V6_vlutb_dv">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutb_dv_128B,VD_ftype_VDDISI,3) | |
// tag : V6_vlutb_dv_128B | |
def int_hexagon_V6_vlutb_dv_128B : | |
Hexagon_v2048v2048LLii_Intrinsic<"HEXAGON_V6_vlutb_dv_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutb_dv_acc,VD_ftype_VDVDDISI,4) | |
// tag : V6_vlutb_dv_acc | |
def int_hexagon_V6_vlutb_dv_acc : | |
Hexagon_v1024v1024v1024LLii_Intrinsic<"HEXAGON_V6_vlutb_dv_acc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutb_dv_acc_128B,VD_ftype_VDVDDISI,4) | |
// tag : V6_vlutb_dv_acc_128B | |
def int_hexagon_V6_vlutb_dv_acc_128B : | |
Hexagon_v2048v2048v2048LLii_Intrinsic<"HEXAGON_V6_vlutb_dv_acc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdelta,VI_ftype_VIVI,2) | |
// tag : V6_vdelta | |
def int_hexagon_V6_vdelta : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vdelta">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vdelta_128B,VI_ftype_VIVI,2) | |
// tag : V6_vdelta_128B | |
def int_hexagon_V6_vdelta_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vdelta_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrdelta,VI_ftype_VIVI,2) | |
// tag : V6_vrdelta | |
def int_hexagon_V6_vrdelta : | |
Hexagon_v512v512v512_Intrinsic<"HEXAGON_V6_vrdelta">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vrdelta_128B,VI_ftype_VIVI,2) | |
// tag : V6_vrdelta_128B | |
def int_hexagon_V6_vrdelta_128B : | |
Hexagon_v1024v1024v1024_Intrinsic<"HEXAGON_V6_vrdelta_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vcl0w,VI_ftype_VI,1) | |
// tag : V6_vcl0w | |
def int_hexagon_V6_vcl0w : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vcl0w">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vcl0w_128B,VI_ftype_VI,1) | |
// tag : V6_vcl0w_128B | |
def int_hexagon_V6_vcl0w_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vcl0w_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vcl0h,VI_ftype_VI,1) | |
// tag : V6_vcl0h | |
def int_hexagon_V6_vcl0h : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vcl0h">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vcl0h_128B,VI_ftype_VI,1) | |
// tag : V6_vcl0h_128B | |
def int_hexagon_V6_vcl0h_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vcl0h_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnormamtw,VI_ftype_VI,1) | |
// tag : V6_vnormamtw | |
def int_hexagon_V6_vnormamtw : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vnormamtw">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnormamtw_128B,VI_ftype_VI,1) | |
// tag : V6_vnormamtw_128B | |
def int_hexagon_V6_vnormamtw_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vnormamtw_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnormamth,VI_ftype_VI,1) | |
// tag : V6_vnormamth | |
def int_hexagon_V6_vnormamth : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vnormamth">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vnormamth_128B,VI_ftype_VI,1) | |
// tag : V6_vnormamth_128B | |
def int_hexagon_V6_vnormamth_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vnormamth_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpopcounth,VI_ftype_VI,1) | |
// tag : V6_vpopcounth | |
def int_hexagon_V6_vpopcounth : | |
Hexagon_v512v512_Intrinsic<"HEXAGON_V6_vpopcounth">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vpopcounth_128B,VI_ftype_VI,1) | |
// tag : V6_vpopcounth_128B | |
def int_hexagon_V6_vpopcounth_128B : | |
Hexagon_v1024v1024_Intrinsic<"HEXAGON_V6_vpopcounth_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutvvb,VI_ftype_VIVISI,3) | |
// tag : V6_vlutvvb | |
def int_hexagon_V6_vlutvvb : | |
Hexagon_v512v512v512i_Intrinsic<"HEXAGON_V6_vlutvvb">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutvvb_128B,VI_ftype_VIVISI,3) | |
// tag : V6_vlutvvb_128B | |
def int_hexagon_V6_vlutvvb_128B : | |
Hexagon_v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vlutvvb_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutvvb_oracc,VI_ftype_VIVIVISI,4) | |
// tag : V6_vlutvvb_oracc | |
def int_hexagon_V6_vlutvvb_oracc : | |
Hexagon_v512v512v512v512i_Intrinsic<"HEXAGON_V6_vlutvvb_oracc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutvvb_oracc_128B,VI_ftype_VIVIVISI,4) | |
// tag : V6_vlutvvb_oracc_128B | |
def int_hexagon_V6_vlutvvb_oracc_128B : | |
Hexagon_v1024v1024v1024v1024i_Intrinsic<"HEXAGON_V6_vlutvvb_oracc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutvwh,VD_ftype_VIVISI,3) | |
// tag : V6_vlutvwh | |
def int_hexagon_V6_vlutvwh : | |
Hexagon_v1024v512v512i_Intrinsic<"HEXAGON_V6_vlutvwh">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutvwh_128B,VD_ftype_VIVISI,3) | |
// tag : V6_vlutvwh_128B | |
def int_hexagon_V6_vlutvwh_128B : | |
Hexagon_v2048v1024v1024i_Intrinsic<"HEXAGON_V6_vlutvwh_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutvwh_oracc,VD_ftype_VDVIVISI,4) | |
// tag : V6_vlutvwh_oracc | |
def int_hexagon_V6_vlutvwh_oracc : | |
Hexagon_v1024v1024v512v512i_Intrinsic<"HEXAGON_V6_vlutvwh_oracc">; | |
// | |
// BUILTIN_INFO(HEXAGON.V6_vlutvwh_oracc_128B,VD_ftype_VDVIVISI,4) | |
// tag : V6_vlutvwh_oracc_128B | |
def int_hexagon_V6_vlutvwh_oracc_128B : | |
Hexagon_v2048v2048v1024v1024i_Intrinsic<"HEXAGON_V6_vlutvwh_oracc_128B">; | |
// | |
// BUILTIN_INFO(HEXAGON.M6_vabsdiffb,DI_ftype_DIDI,2) | |
// tag : M6_vabsdiffb | |
def int_hexagon_M6_vabsdiffb : | |
Hexagon_LLiLLiLLi_Intrinsic<"HEXAGON_M6_vabsdiffb">; | |
// | |
// BUILTIN_INFO(HEXAGON.M6_vabsdiffub,DI_ftype_DIDI,2) | |
// tag : M6_vabsdiffub | |
def int_hexagon_M6_vabsdiffub : | |
Hexagon_LLiLLiLLi_Intrinsic<"HEXAGON_M6_vabsdiffub">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_vsplatrbp,DI_ftype_SI,1) | |
// tag : S6_vsplatrbp | |
def int_hexagon_S6_vsplatrbp : | |
Hexagon_LLii_Intrinsic<"HEXAGON_S6_vsplatrbp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_vtrunehb_ppp,DI_ftype_DIDI,2) | |
// tag : S6_vtrunehb_ppp | |
def int_hexagon_S6_vtrunehb_ppp : | |
Hexagon_LLiLLiLLi_Intrinsic<"HEXAGON_S6_vtrunehb_ppp">; | |
// | |
// BUILTIN_INFO(HEXAGON.S6_vtrunohb_ppp,DI_ftype_DIDI,2) | |
// tag : S6_vtrunohb_ppp | |
def int_hexagon_S6_vtrunohb_ppp : | |
Hexagon_LLiLLiLLi_Intrinsic<"HEXAGON_S6_vtrunohb_ppp">; | |
//===- IntrinsicsMips.td - Defines Mips intrinsics ---------*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the MIPS-specific intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
//===----------------------------------------------------------------------===// | |
// MIPS DSP data types | |
def mips_v2q15_ty: LLVMType<v2i16>; | |
def mips_v4q7_ty: LLVMType<v4i8>; | |
def mips_q31_ty: LLVMType<i32>; | |
let TargetPrefix = "mips" in { // All intrinsics start with "llvm.mips.". | |
//===----------------------------------------------------------------------===// | |
// MIPS DSP Rev 1 | |
//===----------------------------------------------------------------------===// | |
// Addition/subtraction | |
def int_mips_addu_qb : GCCBuiltin<"__builtin_mips_addu_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addu_s_qb : GCCBuiltin<"__builtin_mips_addu_s_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_subu_qb : GCCBuiltin<"__builtin_mips_subu_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_subu_s_qb : GCCBuiltin<"__builtin_mips_subu_s_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_addq_ph : GCCBuiltin<"__builtin_mips_addq_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addq_s_ph : GCCBuiltin<"__builtin_mips_addq_s_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_subq_ph : GCCBuiltin<"__builtin_mips_subq_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; | |
def int_mips_subq_s_ph : GCCBuiltin<"__builtin_mips_subq_s_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; | |
def int_mips_madd: GCCBuiltin<"__builtin_mips_madd">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_mips_maddu: GCCBuiltin<"__builtin_mips_maddu">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_mips_msub: GCCBuiltin<"__builtin_mips_msub">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_msubu: GCCBuiltin<"__builtin_mips_msubu">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_addq_s_w: GCCBuiltin<"__builtin_mips_addq_s_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [Commutative]>; | |
def int_mips_subq_s_w: GCCBuiltin<"__builtin_mips_subq_s_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], []>; | |
def int_mips_addsc: GCCBuiltin<"__builtin_mips_addsc">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [Commutative]>; | |
def int_mips_addwc: GCCBuiltin<"__builtin_mips_addwc">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [Commutative]>; | |
def int_mips_modsub: GCCBuiltin<"__builtin_mips_modsub">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_raddu_w_qb: GCCBuiltin<"__builtin_mips_raddu_w_qb">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty], [IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// Absolute value | |
def int_mips_absq_s_ph: GCCBuiltin<"__builtin_mips_absq_s_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty], []>; | |
def int_mips_absq_s_w: GCCBuiltin<"__builtin_mips_absq_s_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty], []>; | |
//===----------------------------------------------------------------------===// | |
// Precision reduce/expand | |
def int_mips_precrq_qb_ph: GCCBuiltin<"__builtin_mips_precrq_qb_ph">, | |
Intrinsic<[llvm_v4i8_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; | |
def int_mips_precrqu_s_qb_ph: GCCBuiltin<"__builtin_mips_precrqu_s_qb_ph">, | |
Intrinsic<[llvm_v4i8_ty], [mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_precrq_ph_w: GCCBuiltin<"__builtin_mips_precrq_ph_w">, | |
Intrinsic<[mips_v2q15_ty], [mips_q31_ty, mips_q31_ty], [IntrNoMem]>; | |
def int_mips_precrq_rs_ph_w: GCCBuiltin<"__builtin_mips_precrq_rs_ph_w">, | |
Intrinsic<[mips_v2q15_ty], [mips_q31_ty, mips_q31_ty], []>; | |
def int_mips_preceq_w_phl: GCCBuiltin<"__builtin_mips_preceq_w_phl">, | |
Intrinsic<[mips_q31_ty], [mips_v2q15_ty], [IntrNoMem]>; | |
def int_mips_preceq_w_phr: GCCBuiltin<"__builtin_mips_preceq_w_phr">, | |
Intrinsic<[mips_q31_ty], [mips_v2q15_ty], [IntrNoMem]>; | |
def int_mips_precequ_ph_qbl: GCCBuiltin<"__builtin_mips_precequ_ph_qbl">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_precequ_ph_qbr: GCCBuiltin<"__builtin_mips_precequ_ph_qbr">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_precequ_ph_qbla: GCCBuiltin<"__builtin_mips_precequ_ph_qbla">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_precequ_ph_qbra: GCCBuiltin<"__builtin_mips_precequ_ph_qbra">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_preceu_ph_qbl: GCCBuiltin<"__builtin_mips_preceu_ph_qbl">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_preceu_ph_qbr: GCCBuiltin<"__builtin_mips_preceu_ph_qbr">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_preceu_ph_qbla: GCCBuiltin<"__builtin_mips_preceu_ph_qbla">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_preceu_ph_qbra: GCCBuiltin<"__builtin_mips_preceu_ph_qbra">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// Shift | |
def int_mips_shll_qb: GCCBuiltin<"__builtin_mips_shll_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_i32_ty], []>; | |
def int_mips_shrl_qb: GCCBuiltin<"__builtin_mips_shrl_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_shll_ph: GCCBuiltin<"__builtin_mips_shll_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, llvm_i32_ty], []>; | |
def int_mips_shll_s_ph: GCCBuiltin<"__builtin_mips_shll_s_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, llvm_i32_ty], []>; | |
def int_mips_shra_ph: GCCBuiltin<"__builtin_mips_shra_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_shra_r_ph: GCCBuiltin<"__builtin_mips_shra_r_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_shll_s_w: GCCBuiltin<"__builtin_mips_shll_s_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, llvm_i32_ty], []>; | |
def int_mips_shra_r_w: GCCBuiltin<"__builtin_mips_shra_r_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_shilo: GCCBuiltin<"__builtin_mips_shilo">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// Multiplication | |
def int_mips_muleu_s_ph_qbl: GCCBuiltin<"__builtin_mips_muleu_s_ph_qbl">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty, mips_v2q15_ty], []>; | |
def int_mips_muleu_s_ph_qbr: GCCBuiltin<"__builtin_mips_muleu_s_ph_qbr">, | |
Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty, mips_v2q15_ty], []>; | |
def int_mips_mulq_rs_ph: GCCBuiltin<"__builtin_mips_mulq_rs_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; | |
def int_mips_muleq_s_w_phl: GCCBuiltin<"__builtin_mips_muleq_s_w_phl">, | |
Intrinsic<[mips_q31_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; | |
def int_mips_muleq_s_w_phr: GCCBuiltin<"__builtin_mips_muleq_s_w_phr">, | |
Intrinsic<[mips_q31_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; | |
def int_mips_mulsaq_s_w_ph: GCCBuiltin<"__builtin_mips_mulsaq_s_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_maq_s_w_phl: GCCBuiltin<"__builtin_mips_maq_s_w_phl">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_maq_s_w_phr: GCCBuiltin<"__builtin_mips_maq_s_w_phr">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_maq_sa_w_phl: GCCBuiltin<"__builtin_mips_maq_sa_w_phl">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_maq_sa_w_phr: GCCBuiltin<"__builtin_mips_maq_sa_w_phr">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_mult: GCCBuiltin<"__builtin_mips_mult">, | |
Intrinsic<[llvm_i64_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_mips_multu: GCCBuiltin<"__builtin_mips_multu">, | |
Intrinsic<[llvm_i64_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
//===----------------------------------------------------------------------===// | |
// Dot product with accumulate/subtract | |
def int_mips_dpau_h_qbl: GCCBuiltin<"__builtin_mips_dpau_h_qbl">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v4i8_ty, llvm_v4i8_ty], | |
[IntrNoMem]>; | |
def int_mips_dpau_h_qbr: GCCBuiltin<"__builtin_mips_dpau_h_qbr">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v4i8_ty, llvm_v4i8_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsu_h_qbl: GCCBuiltin<"__builtin_mips_dpsu_h_qbl">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v4i8_ty, llvm_v4i8_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsu_h_qbr: GCCBuiltin<"__builtin_mips_dpsu_h_qbr">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v4i8_ty, llvm_v4i8_ty], | |
[IntrNoMem]>; | |
def int_mips_dpaq_s_w_ph: GCCBuiltin<"__builtin_mips_dpaq_s_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_dpsq_s_w_ph: GCCBuiltin<"__builtin_mips_dpsq_s_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_dpaq_sa_l_w: GCCBuiltin<"__builtin_mips_dpaq_sa_l_w">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_q31_ty, mips_q31_ty], []>; | |
def int_mips_dpsq_sa_l_w: GCCBuiltin<"__builtin_mips_dpsq_sa_l_w">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_q31_ty, mips_q31_ty], []>; | |
//===----------------------------------------------------------------------===// | |
// Comparison | |
def int_mips_cmpu_eq_qb: GCCBuiltin<"__builtin_mips_cmpu_eq_qb">, | |
Intrinsic<[], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>; | |
def int_mips_cmpu_lt_qb: GCCBuiltin<"__builtin_mips_cmpu_lt_qb">, | |
Intrinsic<[], [llvm_v4i8_ty, llvm_v4i8_ty], []>; | |
def int_mips_cmpu_le_qb: GCCBuiltin<"__builtin_mips_cmpu_le_qb">, | |
Intrinsic<[], [llvm_v4i8_ty, llvm_v4i8_ty], []>; | |
def int_mips_cmpgu_eq_qb: GCCBuiltin<"__builtin_mips_cmpgu_eq_qb">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>; | |
def int_mips_cmpgu_lt_qb: GCCBuiltin<"__builtin_mips_cmpgu_lt_qb">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; | |
def int_mips_cmpgu_le_qb: GCCBuiltin<"__builtin_mips_cmpgu_le_qb">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; | |
def int_mips_cmp_eq_ph: GCCBuiltin<"__builtin_mips_cmp_eq_ph">, | |
Intrinsic<[], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; | |
def int_mips_cmp_lt_ph: GCCBuiltin<"__builtin_mips_cmp_lt_ph">, | |
Intrinsic<[], [mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_cmp_le_ph: GCCBuiltin<"__builtin_mips_cmp_le_ph">, | |
Intrinsic<[], [mips_v2q15_ty, mips_v2q15_ty], []>; | |
//===----------------------------------------------------------------------===// | |
// Extracting | |
def int_mips_extr_s_h: GCCBuiltin<"__builtin_mips_extr_s_h">, | |
Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; | |
def int_mips_extr_w: GCCBuiltin<"__builtin_mips_extr_w">, | |
Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; | |
def int_mips_extr_rs_w: GCCBuiltin<"__builtin_mips_extr_rs_w">, | |
Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; | |
def int_mips_extr_r_w: GCCBuiltin<"__builtin_mips_extr_r_w">, | |
Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; | |
def int_mips_extp: GCCBuiltin<"__builtin_mips_extp">, | |
Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; | |
def int_mips_extpdp: GCCBuiltin<"__builtin_mips_extpdp">, | |
Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; | |
//===----------------------------------------------------------------------===// | |
// Misc | |
def int_mips_wrdsp: GCCBuiltin<"__builtin_mips_wrdsp">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty], []>; | |
def int_mips_rddsp: GCCBuiltin<"__builtin_mips_rddsp">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrReadMem]>; | |
def int_mips_insv: GCCBuiltin<"__builtin_mips_insv">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrReadMem]>; | |
def int_mips_bitrev: GCCBuiltin<"__builtin_mips_bitrev">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_packrl_ph: GCCBuiltin<"__builtin_mips_packrl_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; | |
def int_mips_repl_qb: GCCBuiltin<"__builtin_mips_repl_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_repl_ph: GCCBuiltin<"__builtin_mips_repl_ph">, | |
Intrinsic<[mips_v2q15_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_pick_qb: GCCBuiltin<"__builtin_mips_pick_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrReadMem]>; | |
def int_mips_pick_ph: GCCBuiltin<"__builtin_mips_pick_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrReadMem]>; | |
def int_mips_mthlip: GCCBuiltin<"__builtin_mips_mthlip">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty], []>; | |
def int_mips_bposge32: GCCBuiltin<"__builtin_mips_bposge32">, | |
Intrinsic<[llvm_i32_ty], [], [IntrReadMem]>; | |
def int_mips_lbux: GCCBuiltin<"__builtin_mips_lbux">, | |
Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_i32_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_mips_lhx: GCCBuiltin<"__builtin_mips_lhx">, | |
Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_i32_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_mips_lwx: GCCBuiltin<"__builtin_mips_lwx">, | |
Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_i32_ty], [IntrReadMem, IntrArgMemOnly]>; | |
//===----------------------------------------------------------------------===// | |
// MIPS DSP Rev 2 | |
def int_mips_absq_s_qb: GCCBuiltin<"__builtin_mips_absq_s_qb">, | |
Intrinsic<[mips_v4q7_ty], [mips_v4q7_ty], []>; | |
def int_mips_addqh_ph: GCCBuiltin<"__builtin_mips_addqh_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], | |
[IntrNoMem, Commutative]>; | |
def int_mips_addqh_r_ph: GCCBuiltin<"__builtin_mips_addqh_r_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], | |
[IntrNoMem, Commutative]>; | |
def int_mips_addqh_w: GCCBuiltin<"__builtin_mips_addqh_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], | |
[IntrNoMem, Commutative]>; | |
def int_mips_addqh_r_w: GCCBuiltin<"__builtin_mips_addqh_r_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], | |
[IntrNoMem, Commutative]>; | |
def int_mips_addu_ph: GCCBuiltin<"__builtin_mips_addu_ph">, | |
Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], [Commutative]>; | |
def int_mips_addu_s_ph: GCCBuiltin<"__builtin_mips_addu_s_ph">, | |
Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], [Commutative]>; | |
def int_mips_adduh_qb: GCCBuiltin<"__builtin_mips_adduh_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], | |
[IntrNoMem, Commutative]>; | |
def int_mips_adduh_r_qb: GCCBuiltin<"__builtin_mips_adduh_r_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], | |
[IntrNoMem, Commutative]>; | |
def int_mips_append: GCCBuiltin<"__builtin_mips_append">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_balign: GCCBuiltin<"__builtin_mips_balign">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_cmpgdu_eq_qb: GCCBuiltin<"__builtin_mips_cmpgdu_eq_qb">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>; | |
def int_mips_cmpgdu_lt_qb: GCCBuiltin<"__builtin_mips_cmpgdu_lt_qb">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; | |
def int_mips_cmpgdu_le_qb: GCCBuiltin<"__builtin_mips_cmpgdu_le_qb">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; | |
def int_mips_dpa_w_ph: GCCBuiltin<"__builtin_mips_dpa_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], | |
[IntrNoMem]>; | |
def int_mips_dps_w_ph: GCCBuiltin<"__builtin_mips_dps_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], | |
[IntrNoMem]>; | |
def int_mips_dpaqx_s_w_ph: GCCBuiltin<"__builtin_mips_dpaqx_s_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_dpaqx_sa_w_ph: GCCBuiltin<"__builtin_mips_dpaqx_sa_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_dpax_w_ph: GCCBuiltin<"__builtin_mips_dpax_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsx_w_ph: GCCBuiltin<"__builtin_mips_dpsx_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsqx_s_w_ph: GCCBuiltin<"__builtin_mips_dpsqx_s_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_dpsqx_sa_w_ph: GCCBuiltin<"__builtin_mips_dpsqx_sa_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; | |
def int_mips_mul_ph: GCCBuiltin<"__builtin_mips_mul_ph">, | |
Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], [Commutative]>; | |
def int_mips_mul_s_ph: GCCBuiltin<"__builtin_mips_mul_s_ph">, | |
Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], [Commutative]>; | |
def int_mips_mulq_rs_w: GCCBuiltin<"__builtin_mips_mulq_rs_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [Commutative]>; | |
def int_mips_mulq_s_ph: GCCBuiltin<"__builtin_mips_mulq_s_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; | |
def int_mips_mulq_s_w: GCCBuiltin<"__builtin_mips_mulq_s_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [Commutative]>; | |
def int_mips_mulsa_w_ph: GCCBuiltin<"__builtin_mips_mulsa_w_ph">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], | |
[IntrNoMem]>; | |
def int_mips_precr_qb_ph: GCCBuiltin<"__builtin_mips_precr_qb_ph">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v2i16_ty, llvm_v2i16_ty], []>; | |
def int_mips_precr_sra_ph_w: GCCBuiltin<"__builtin_mips_precr_sra_ph_w">, | |
Intrinsic<[llvm_v2i16_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_precr_sra_r_ph_w: GCCBuiltin<"__builtin_mips_precr_sra_r_ph_w">, | |
Intrinsic<[llvm_v2i16_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_prepend: GCCBuiltin<"__builtin_mips_prepend">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_shra_qb: GCCBuiltin<"__builtin_mips_shra_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_shra_r_qb: GCCBuiltin<"__builtin_mips_shra_r_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_shrl_ph: GCCBuiltin<"__builtin_mips_shrl_ph">, | |
Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_subqh_ph: GCCBuiltin<"__builtin_mips_subqh_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; | |
def int_mips_subqh_r_ph: GCCBuiltin<"__builtin_mips_subqh_r_ph">, | |
Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; | |
def int_mips_subqh_w: GCCBuiltin<"__builtin_mips_subqh_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [IntrNoMem]>; | |
def int_mips_subqh_r_w: GCCBuiltin<"__builtin_mips_subqh_r_w">, | |
Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [IntrNoMem]>; | |
def int_mips_subu_ph: GCCBuiltin<"__builtin_mips_subu_ph">, | |
Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], []>; | |
def int_mips_subu_s_ph: GCCBuiltin<"__builtin_mips_subu_s_ph">, | |
Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], []>; | |
def int_mips_subuh_qb: GCCBuiltin<"__builtin_mips_subuh_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrNoMem]>; | |
def int_mips_subuh_r_qb: GCCBuiltin<"__builtin_mips_subuh_r_qb">, | |
Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// MIPS MSA | |
//===----------------------------------------------------------------------===// | |
// Addition/subtraction | |
def int_mips_add_a_b : GCCBuiltin<"__builtin_msa_add_a_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_add_a_h : GCCBuiltin<"__builtin_msa_add_a_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_add_a_w : GCCBuiltin<"__builtin_msa_add_a_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_add_a_d : GCCBuiltin<"__builtin_msa_add_a_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_a_b : GCCBuiltin<"__builtin_msa_adds_a_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_a_h : GCCBuiltin<"__builtin_msa_adds_a_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_a_w : GCCBuiltin<"__builtin_msa_adds_a_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_a_d : GCCBuiltin<"__builtin_msa_adds_a_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_s_b : GCCBuiltin<"__builtin_msa_adds_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_s_h : GCCBuiltin<"__builtin_msa_adds_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_s_w : GCCBuiltin<"__builtin_msa_adds_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_s_d : GCCBuiltin<"__builtin_msa_adds_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_u_b : GCCBuiltin<"__builtin_msa_adds_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_u_h : GCCBuiltin<"__builtin_msa_adds_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_u_w : GCCBuiltin<"__builtin_msa_adds_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_adds_u_d : GCCBuiltin<"__builtin_msa_adds_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addv_b : GCCBuiltin<"__builtin_msa_addv_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addv_h : GCCBuiltin<"__builtin_msa_addv_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addv_w : GCCBuiltin<"__builtin_msa_addv_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addv_d : GCCBuiltin<"__builtin_msa_addv_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addvi_b : GCCBuiltin<"__builtin_msa_addvi_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addvi_h : GCCBuiltin<"__builtin_msa_addvi_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addvi_w : GCCBuiltin<"__builtin_msa_addvi_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_addvi_d : GCCBuiltin<"__builtin_msa_addvi_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_and_v : GCCBuiltin<"__builtin_msa_and_v">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_andi_b : GCCBuiltin<"__builtin_msa_andi_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_asub_s_b : GCCBuiltin<"__builtin_msa_asub_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_asub_s_h : GCCBuiltin<"__builtin_msa_asub_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_asub_s_w : GCCBuiltin<"__builtin_msa_asub_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_asub_s_d : GCCBuiltin<"__builtin_msa_asub_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_asub_u_b : GCCBuiltin<"__builtin_msa_asub_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_asub_u_h : GCCBuiltin<"__builtin_msa_asub_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_asub_u_w : GCCBuiltin<"__builtin_msa_asub_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_asub_u_d : GCCBuiltin<"__builtin_msa_asub_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_ave_s_b : GCCBuiltin<"__builtin_msa_ave_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_ave_s_h : GCCBuiltin<"__builtin_msa_ave_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_ave_s_w : GCCBuiltin<"__builtin_msa_ave_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_ave_s_d : GCCBuiltin<"__builtin_msa_ave_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_ave_u_b : GCCBuiltin<"__builtin_msa_ave_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_ave_u_h : GCCBuiltin<"__builtin_msa_ave_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_ave_u_w : GCCBuiltin<"__builtin_msa_ave_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_ave_u_d : GCCBuiltin<"__builtin_msa_ave_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_aver_s_b : GCCBuiltin<"__builtin_msa_aver_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_aver_s_h : GCCBuiltin<"__builtin_msa_aver_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_aver_s_w : GCCBuiltin<"__builtin_msa_aver_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_aver_s_d : GCCBuiltin<"__builtin_msa_aver_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_aver_u_b : GCCBuiltin<"__builtin_msa_aver_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_aver_u_h : GCCBuiltin<"__builtin_msa_aver_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_aver_u_w : GCCBuiltin<"__builtin_msa_aver_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_aver_u_d : GCCBuiltin<"__builtin_msa_aver_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[Commutative, IntrNoMem]>; | |
def int_mips_bclr_b : GCCBuiltin<"__builtin_msa_bclr_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_bclr_h : GCCBuiltin<"__builtin_msa_bclr_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_bclr_w : GCCBuiltin<"__builtin_msa_bclr_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_bclr_d : GCCBuiltin<"__builtin_msa_bclr_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_bclri_b : GCCBuiltin<"__builtin_msa_bclri_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bclri_h : GCCBuiltin<"__builtin_msa_bclri_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bclri_w : GCCBuiltin<"__builtin_msa_bclri_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bclri_d : GCCBuiltin<"__builtin_msa_bclri_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_binsl_b : GCCBuiltin<"__builtin_msa_binsl_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_binsl_h : GCCBuiltin<"__builtin_msa_binsl_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_binsl_w : GCCBuiltin<"__builtin_msa_binsl_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_binsl_d : GCCBuiltin<"__builtin_msa_binsl_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_mips_binsli_b : GCCBuiltin<"__builtin_msa_binsli_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_binsli_h : GCCBuiltin<"__builtin_msa_binsli_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_binsli_w : GCCBuiltin<"__builtin_msa_binsli_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_binsli_d : GCCBuiltin<"__builtin_msa_binsli_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_binsr_b : GCCBuiltin<"__builtin_msa_binsr_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_binsr_h : GCCBuiltin<"__builtin_msa_binsr_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_binsr_w : GCCBuiltin<"__builtin_msa_binsr_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_binsr_d : GCCBuiltin<"__builtin_msa_binsr_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_mips_binsri_b : GCCBuiltin<"__builtin_msa_binsri_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_binsri_h : GCCBuiltin<"__builtin_msa_binsri_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_binsri_w : GCCBuiltin<"__builtin_msa_binsri_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_binsri_d : GCCBuiltin<"__builtin_msa_binsri_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_bmnz_v : GCCBuiltin<"__builtin_msa_bmnz_v">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_bmnzi_b : GCCBuiltin<"__builtin_msa_bmnzi_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_bmz_v : GCCBuiltin<"__builtin_msa_bmz_v">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_bmzi_b : GCCBuiltin<"__builtin_msa_bmzi_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_bneg_b : GCCBuiltin<"__builtin_msa_bneg_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_bneg_h : GCCBuiltin<"__builtin_msa_bneg_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_bneg_w : GCCBuiltin<"__builtin_msa_bneg_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_bneg_d : GCCBuiltin<"__builtin_msa_bneg_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_bnegi_b : GCCBuiltin<"__builtin_msa_bnegi_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bnegi_h : GCCBuiltin<"__builtin_msa_bnegi_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bnegi_w : GCCBuiltin<"__builtin_msa_bnegi_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bnegi_d : GCCBuiltin<"__builtin_msa_bnegi_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bnz_b : GCCBuiltin<"__builtin_msa_bnz_b">, | |
Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_bnz_h : GCCBuiltin<"__builtin_msa_bnz_h">, | |
Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_bnz_w : GCCBuiltin<"__builtin_msa_bnz_w">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_bnz_d : GCCBuiltin<"__builtin_msa_bnz_d">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_bnz_v : GCCBuiltin<"__builtin_msa_bnz_v">, | |
Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_bsel_v : GCCBuiltin<"__builtin_msa_bsel_v">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_bseli_b : GCCBuiltin<"__builtin_msa_bseli_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_bset_b : GCCBuiltin<"__builtin_msa_bset_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_bset_h : GCCBuiltin<"__builtin_msa_bset_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_bset_w : GCCBuiltin<"__builtin_msa_bset_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_bset_d : GCCBuiltin<"__builtin_msa_bset_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_bseti_b : GCCBuiltin<"__builtin_msa_bseti_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bseti_h : GCCBuiltin<"__builtin_msa_bseti_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bseti_w : GCCBuiltin<"__builtin_msa_bseti_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bseti_d : GCCBuiltin<"__builtin_msa_bseti_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_bz_b : GCCBuiltin<"__builtin_msa_bz_b">, | |
Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_bz_h : GCCBuiltin<"__builtin_msa_bz_h">, | |
Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_bz_w : GCCBuiltin<"__builtin_msa_bz_w">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_bz_d : GCCBuiltin<"__builtin_msa_bz_d">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_bz_v : GCCBuiltin<"__builtin_msa_bz_v">, | |
Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_ceq_b : GCCBuiltin<"__builtin_msa_ceq_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_ceq_h : GCCBuiltin<"__builtin_msa_ceq_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_ceq_w : GCCBuiltin<"__builtin_msa_ceq_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_ceq_d : GCCBuiltin<"__builtin_msa_ceq_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_ceqi_b : GCCBuiltin<"__builtin_msa_ceqi_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_ceqi_h : GCCBuiltin<"__builtin_msa_ceqi_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_ceqi_w : GCCBuiltin<"__builtin_msa_ceqi_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_ceqi_d : GCCBuiltin<"__builtin_msa_ceqi_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_cfcmsa : GCCBuiltin<"__builtin_msa_cfcmsa">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>; | |
def int_mips_cle_s_b : GCCBuiltin<"__builtin_msa_cle_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_cle_s_h : GCCBuiltin<"__builtin_msa_cle_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_cle_s_w : GCCBuiltin<"__builtin_msa_cle_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_cle_s_d : GCCBuiltin<"__builtin_msa_cle_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_cle_u_b : GCCBuiltin<"__builtin_msa_cle_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_cle_u_h : GCCBuiltin<"__builtin_msa_cle_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_cle_u_w : GCCBuiltin<"__builtin_msa_cle_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_cle_u_d : GCCBuiltin<"__builtin_msa_cle_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_clei_s_b : GCCBuiltin<"__builtin_msa_clei_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clei_s_h : GCCBuiltin<"__builtin_msa_clei_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clei_s_w : GCCBuiltin<"__builtin_msa_clei_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clei_s_d : GCCBuiltin<"__builtin_msa_clei_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clei_u_b : GCCBuiltin<"__builtin_msa_clei_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clei_u_h : GCCBuiltin<"__builtin_msa_clei_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clei_u_w : GCCBuiltin<"__builtin_msa_clei_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clei_u_d : GCCBuiltin<"__builtin_msa_clei_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clt_s_b : GCCBuiltin<"__builtin_msa_clt_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_clt_s_h : GCCBuiltin<"__builtin_msa_clt_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_clt_s_w : GCCBuiltin<"__builtin_msa_clt_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_clt_s_d : GCCBuiltin<"__builtin_msa_clt_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_clt_u_b : GCCBuiltin<"__builtin_msa_clt_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_clt_u_h : GCCBuiltin<"__builtin_msa_clt_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_clt_u_w : GCCBuiltin<"__builtin_msa_clt_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_clt_u_d : GCCBuiltin<"__builtin_msa_clt_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_clti_s_b : GCCBuiltin<"__builtin_msa_clti_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clti_s_h : GCCBuiltin<"__builtin_msa_clti_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clti_s_w : GCCBuiltin<"__builtin_msa_clti_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clti_s_d : GCCBuiltin<"__builtin_msa_clti_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clti_u_b : GCCBuiltin<"__builtin_msa_clti_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clti_u_h : GCCBuiltin<"__builtin_msa_clti_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clti_u_w : GCCBuiltin<"__builtin_msa_clti_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_clti_u_d : GCCBuiltin<"__builtin_msa_clti_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_copy_s_b : GCCBuiltin<"__builtin_msa_copy_s_b">, | |
Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_copy_s_h : GCCBuiltin<"__builtin_msa_copy_s_h">, | |
Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_copy_s_w : GCCBuiltin<"__builtin_msa_copy_s_w">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_copy_s_d : GCCBuiltin<"__builtin_msa_copy_s_d">, | |
Intrinsic<[llvm_i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_copy_u_b : GCCBuiltin<"__builtin_msa_copy_u_b">, | |
Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_copy_u_h : GCCBuiltin<"__builtin_msa_copy_u_h">, | |
Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_copy_u_w : GCCBuiltin<"__builtin_msa_copy_u_w">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_copy_u_d : GCCBuiltin<"__builtin_msa_copy_u_d">, | |
Intrinsic<[llvm_i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_ctcmsa : GCCBuiltin<"__builtin_msa_ctcmsa">, | |
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty], []>; | |
def int_mips_div_s_b : GCCBuiltin<"__builtin_msa_div_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_div_s_h : GCCBuiltin<"__builtin_msa_div_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_div_s_w : GCCBuiltin<"__builtin_msa_div_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_div_s_d : GCCBuiltin<"__builtin_msa_div_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_div_u_b : GCCBuiltin<"__builtin_msa_div_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_div_u_h : GCCBuiltin<"__builtin_msa_div_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_div_u_w : GCCBuiltin<"__builtin_msa_div_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_div_u_d : GCCBuiltin<"__builtin_msa_div_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
// This instruction is part of the MSA spec but it does not share the | |
// __builtin_msa prefix because it operates on GP registers. | |
def int_mips_dlsa : GCCBuiltin<"__builtin_mips_dlsa">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_dotp_s_h : GCCBuiltin<"__builtin_msa_dotp_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_dotp_s_w : GCCBuiltin<"__builtin_msa_dotp_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_dotp_s_d : GCCBuiltin<"__builtin_msa_dotp_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_dotp_u_h : GCCBuiltin<"__builtin_msa_dotp_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_dotp_u_w : GCCBuiltin<"__builtin_msa_dotp_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_dotp_u_d : GCCBuiltin<"__builtin_msa_dotp_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_dpadd_s_h : GCCBuiltin<"__builtin_msa_dpadd_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_dpadd_s_w : GCCBuiltin<"__builtin_msa_dpadd_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_dpadd_s_d : GCCBuiltin<"__builtin_msa_dpadd_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_dpadd_u_h : GCCBuiltin<"__builtin_msa_dpadd_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_dpadd_u_w : GCCBuiltin<"__builtin_msa_dpadd_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_dpadd_u_d : GCCBuiltin<"__builtin_msa_dpadd_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsub_s_h : GCCBuiltin<"__builtin_msa_dpsub_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsub_s_w : GCCBuiltin<"__builtin_msa_dpsub_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsub_s_d : GCCBuiltin<"__builtin_msa_dpsub_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsub_u_h : GCCBuiltin<"__builtin_msa_dpsub_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsub_u_w : GCCBuiltin<"__builtin_msa_dpsub_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_dpsub_u_d : GCCBuiltin<"__builtin_msa_dpsub_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_fadd_w : GCCBuiltin<"__builtin_msa_fadd_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fadd_d : GCCBuiltin<"__builtin_msa_fadd_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fcaf_w : GCCBuiltin<"__builtin_msa_fcaf_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fcaf_d : GCCBuiltin<"__builtin_msa_fcaf_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fceq_w : GCCBuiltin<"__builtin_msa_fceq_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fceq_d : GCCBuiltin<"__builtin_msa_fceq_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fcle_w : GCCBuiltin<"__builtin_msa_fcle_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fcle_d : GCCBuiltin<"__builtin_msa_fcle_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fclt_w : GCCBuiltin<"__builtin_msa_fclt_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fclt_d : GCCBuiltin<"__builtin_msa_fclt_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fclass_w : GCCBuiltin<"__builtin_msa_fclass_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fclass_d : GCCBuiltin<"__builtin_msa_fclass_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fcne_w : GCCBuiltin<"__builtin_msa_fcne_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fcne_d : GCCBuiltin<"__builtin_msa_fcne_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fcor_w : GCCBuiltin<"__builtin_msa_fcor_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fcor_d : GCCBuiltin<"__builtin_msa_fcor_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fcueq_w : GCCBuiltin<"__builtin_msa_fcueq_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fcueq_d : GCCBuiltin<"__builtin_msa_fcueq_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fcule_w : GCCBuiltin<"__builtin_msa_fcule_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fcule_d : GCCBuiltin<"__builtin_msa_fcule_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fcult_w : GCCBuiltin<"__builtin_msa_fcult_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fcult_d : GCCBuiltin<"__builtin_msa_fcult_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fcun_w : GCCBuiltin<"__builtin_msa_fcun_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fcun_d : GCCBuiltin<"__builtin_msa_fcun_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fcune_w : GCCBuiltin<"__builtin_msa_fcune_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fcune_d : GCCBuiltin<"__builtin_msa_fcune_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fdiv_w : GCCBuiltin<"__builtin_msa_fdiv_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fdiv_d : GCCBuiltin<"__builtin_msa_fdiv_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fexdo_h : GCCBuiltin<"__builtin_msa_fexdo_h">, | |
Intrinsic<[llvm_v8f16_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fexdo_w : GCCBuiltin<"__builtin_msa_fexdo_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fexp2_w : GCCBuiltin<"__builtin_msa_fexp2_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_fexp2_d : GCCBuiltin<"__builtin_msa_fexp2_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_fexupl_w : GCCBuiltin<"__builtin_msa_fexupl_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v8f16_ty], [IntrNoMem]>; | |
def int_mips_fexupl_d : GCCBuiltin<"__builtin_msa_fexupl_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fexupr_w : GCCBuiltin<"__builtin_msa_fexupr_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v8f16_ty], [IntrNoMem]>; | |
def int_mips_fexupr_d : GCCBuiltin<"__builtin_msa_fexupr_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_ffint_s_w : GCCBuiltin<"__builtin_msa_ffint_s_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_ffint_s_d : GCCBuiltin<"__builtin_msa_ffint_s_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_ffint_u_w : GCCBuiltin<"__builtin_msa_ffint_u_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_ffint_u_d : GCCBuiltin<"__builtin_msa_ffint_u_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_ffql_w : GCCBuiltin<"__builtin_msa_ffql_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_ffql_d : GCCBuiltin<"__builtin_msa_ffql_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_ffqr_w : GCCBuiltin<"__builtin_msa_ffqr_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_ffqr_d : GCCBuiltin<"__builtin_msa_ffqr_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_fill_b : GCCBuiltin<"__builtin_msa_fill_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_fill_h : GCCBuiltin<"__builtin_msa_fill_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_fill_w : GCCBuiltin<"__builtin_msa_fill_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_fill_d : GCCBuiltin<"__builtin_msa_fill_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_mips_flog2_w : GCCBuiltin<"__builtin_msa_flog2_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_flog2_d : GCCBuiltin<"__builtin_msa_flog2_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fmadd_w : GCCBuiltin<"__builtin_msa_fmadd_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_mips_fmadd_d : GCCBuiltin<"__builtin_msa_fmadd_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_mips_fmax_w : GCCBuiltin<"__builtin_msa_fmax_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fmax_d : GCCBuiltin<"__builtin_msa_fmax_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fmax_a_w : GCCBuiltin<"__builtin_msa_fmax_a_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fmax_a_d : GCCBuiltin<"__builtin_msa_fmax_a_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fmin_w : GCCBuiltin<"__builtin_msa_fmin_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fmin_d : GCCBuiltin<"__builtin_msa_fmin_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fmin_a_w : GCCBuiltin<"__builtin_msa_fmin_a_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fmin_a_d : GCCBuiltin<"__builtin_msa_fmin_a_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fmsub_w : GCCBuiltin<"__builtin_msa_fmsub_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_mips_fmsub_d : GCCBuiltin<"__builtin_msa_fmsub_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_mips_fmul_w : GCCBuiltin<"__builtin_msa_fmul_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fmul_d : GCCBuiltin<"__builtin_msa_fmul_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_frint_w : GCCBuiltin<"__builtin_msa_frint_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_frint_d : GCCBuiltin<"__builtin_msa_frint_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_frcp_w : GCCBuiltin<"__builtin_msa_frcp_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_frcp_d : GCCBuiltin<"__builtin_msa_frcp_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_frsqrt_w : GCCBuiltin<"__builtin_msa_frsqrt_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_frsqrt_d : GCCBuiltin<"__builtin_msa_frsqrt_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsaf_w : GCCBuiltin<"__builtin_msa_fsaf_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsaf_d : GCCBuiltin<"__builtin_msa_fsaf_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fseq_w : GCCBuiltin<"__builtin_msa_fseq_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fseq_d : GCCBuiltin<"__builtin_msa_fseq_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsle_w : GCCBuiltin<"__builtin_msa_fsle_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsle_d : GCCBuiltin<"__builtin_msa_fsle_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fslt_w : GCCBuiltin<"__builtin_msa_fslt_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fslt_d : GCCBuiltin<"__builtin_msa_fslt_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsne_w : GCCBuiltin<"__builtin_msa_fsne_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsne_d : GCCBuiltin<"__builtin_msa_fsne_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsor_w : GCCBuiltin<"__builtin_msa_fsor_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsor_d : GCCBuiltin<"__builtin_msa_fsor_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsqrt_w : GCCBuiltin<"__builtin_msa_fsqrt_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsqrt_d : GCCBuiltin<"__builtin_msa_fsqrt_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsub_w : GCCBuiltin<"__builtin_msa_fsub_w">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsub_d : GCCBuiltin<"__builtin_msa_fsub_d">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsueq_w : GCCBuiltin<"__builtin_msa_fsueq_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsueq_d : GCCBuiltin<"__builtin_msa_fsueq_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsule_w : GCCBuiltin<"__builtin_msa_fsule_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsule_d : GCCBuiltin<"__builtin_msa_fsule_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsult_w : GCCBuiltin<"__builtin_msa_fsult_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsult_d : GCCBuiltin<"__builtin_msa_fsult_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsun_w : GCCBuiltin<"__builtin_msa_fsun_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsun_d : GCCBuiltin<"__builtin_msa_fsun_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_fsune_w : GCCBuiltin<"__builtin_msa_fsune_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_fsune_d : GCCBuiltin<"__builtin_msa_fsune_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_ftint_s_w : GCCBuiltin<"__builtin_msa_ftint_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_ftint_s_d : GCCBuiltin<"__builtin_msa_ftint_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_ftint_u_w : GCCBuiltin<"__builtin_msa_ftint_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_ftint_u_d : GCCBuiltin<"__builtin_msa_ftint_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_ftq_h : GCCBuiltin<"__builtin_msa_ftq_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_ftq_w : GCCBuiltin<"__builtin_msa_ftq_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_ftrunc_s_w : GCCBuiltin<"__builtin_msa_ftrunc_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_ftrunc_s_d : GCCBuiltin<"__builtin_msa_ftrunc_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_ftrunc_u_w : GCCBuiltin<"__builtin_msa_ftrunc_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_mips_ftrunc_u_d : GCCBuiltin<"__builtin_msa_ftrunc_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_mips_hadd_s_h : GCCBuiltin<"__builtin_msa_hadd_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_hadd_s_w : GCCBuiltin<"__builtin_msa_hadd_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_hadd_s_d : GCCBuiltin<"__builtin_msa_hadd_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_hadd_u_h : GCCBuiltin<"__builtin_msa_hadd_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_hadd_u_w : GCCBuiltin<"__builtin_msa_hadd_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_hadd_u_d : GCCBuiltin<"__builtin_msa_hadd_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_hsub_s_h : GCCBuiltin<"__builtin_msa_hsub_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_hsub_s_w : GCCBuiltin<"__builtin_msa_hsub_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_hsub_s_d : GCCBuiltin<"__builtin_msa_hsub_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_hsub_u_h : GCCBuiltin<"__builtin_msa_hsub_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_hsub_u_w : GCCBuiltin<"__builtin_msa_hsub_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_hsub_u_d : GCCBuiltin<"__builtin_msa_hsub_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_ilvev_b : GCCBuiltin<"__builtin_msa_ilvev_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_ilvev_h : GCCBuiltin<"__builtin_msa_ilvev_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_ilvev_w : GCCBuiltin<"__builtin_msa_ilvev_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_ilvev_d : GCCBuiltin<"__builtin_msa_ilvev_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_ilvl_b : GCCBuiltin<"__builtin_msa_ilvl_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_ilvl_h : GCCBuiltin<"__builtin_msa_ilvl_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_ilvl_w : GCCBuiltin<"__builtin_msa_ilvl_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_ilvl_d : GCCBuiltin<"__builtin_msa_ilvl_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_ilvod_b : GCCBuiltin<"__builtin_msa_ilvod_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_ilvod_h : GCCBuiltin<"__builtin_msa_ilvod_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_ilvod_w : GCCBuiltin<"__builtin_msa_ilvod_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_ilvod_d : GCCBuiltin<"__builtin_msa_ilvod_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_ilvr_b : GCCBuiltin<"__builtin_msa_ilvr_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_ilvr_h : GCCBuiltin<"__builtin_msa_ilvr_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_ilvr_w : GCCBuiltin<"__builtin_msa_ilvr_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_ilvr_d : GCCBuiltin<"__builtin_msa_ilvr_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_insert_b : GCCBuiltin<"__builtin_msa_insert_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_insert_h : GCCBuiltin<"__builtin_msa_insert_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_insert_w : GCCBuiltin<"__builtin_msa_insert_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_insert_d : GCCBuiltin<"__builtin_msa_insert_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
def int_mips_insve_b : GCCBuiltin<"__builtin_msa_insve_b">, | |
Intrinsic<[llvm_v16i8_ty], | |
[llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_insve_h : GCCBuiltin<"__builtin_msa_insve_h">, | |
Intrinsic<[llvm_v8i16_ty], | |
[llvm_v8i16_ty, llvm_i32_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_insve_w : GCCBuiltin<"__builtin_msa_insve_w">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_insve_d : GCCBuiltin<"__builtin_msa_insve_d">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_i32_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_mips_ld_b : GCCBuiltin<"__builtin_msa_ld_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_ptr_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_mips_ld_h : GCCBuiltin<"__builtin_msa_ld_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_ptr_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_mips_ld_w : GCCBuiltin<"__builtin_msa_ld_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_mips_ld_d : GCCBuiltin<"__builtin_msa_ld_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_ptr_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_mips_ldi_b : GCCBuiltin<"__builtin_msa_ldi_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_ldi_h : GCCBuiltin<"__builtin_msa_ldi_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_ldi_w : GCCBuiltin<"__builtin_msa_ldi_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_ldi_d : GCCBuiltin<"__builtin_msa_ldi_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_i32_ty], [IntrNoMem]>; | |
// This instruction is part of the MSA spec but it does not share the | |
// __builtin_msa prefix because it operates on the GPR registers. | |
def int_mips_lsa : GCCBuiltin<"__builtin_mips_lsa">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_madd_q_h : GCCBuiltin<"__builtin_msa_madd_q_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_madd_q_w : GCCBuiltin<"__builtin_msa_madd_q_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_maddr_q_h : GCCBuiltin<"__builtin_msa_maddr_q_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_maddr_q_w : GCCBuiltin<"__builtin_msa_maddr_q_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_maddv_b : GCCBuiltin<"__builtin_msa_maddv_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_maddv_h : GCCBuiltin<"__builtin_msa_maddv_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_maddv_w : GCCBuiltin<"__builtin_msa_maddv_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_maddv_d : GCCBuiltin<"__builtin_msa_maddv_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_mips_max_a_b : GCCBuiltin<"__builtin_msa_max_a_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_max_a_h : GCCBuiltin<"__builtin_msa_max_a_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_max_a_w : GCCBuiltin<"__builtin_msa_max_a_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_max_a_d : GCCBuiltin<"__builtin_msa_max_a_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_max_s_b : GCCBuiltin<"__builtin_msa_max_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_max_s_h : GCCBuiltin<"__builtin_msa_max_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_max_s_w : GCCBuiltin<"__builtin_msa_max_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_max_s_d : GCCBuiltin<"__builtin_msa_max_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_max_u_b : GCCBuiltin<"__builtin_msa_max_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_max_u_h : GCCBuiltin<"__builtin_msa_max_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_max_u_w : GCCBuiltin<"__builtin_msa_max_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_max_u_d : GCCBuiltin<"__builtin_msa_max_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_maxi_s_b : GCCBuiltin<"__builtin_msa_maxi_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_maxi_s_h : GCCBuiltin<"__builtin_msa_maxi_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_maxi_s_w : GCCBuiltin<"__builtin_msa_maxi_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_maxi_s_d : GCCBuiltin<"__builtin_msa_maxi_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_maxi_u_b : GCCBuiltin<"__builtin_msa_maxi_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_maxi_u_h : GCCBuiltin<"__builtin_msa_maxi_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_maxi_u_w : GCCBuiltin<"__builtin_msa_maxi_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_maxi_u_d : GCCBuiltin<"__builtin_msa_maxi_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_min_a_b : GCCBuiltin<"__builtin_msa_min_a_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_min_a_h : GCCBuiltin<"__builtin_msa_min_a_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_min_a_w : GCCBuiltin<"__builtin_msa_min_a_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_min_a_d : GCCBuiltin<"__builtin_msa_min_a_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_min_s_b : GCCBuiltin<"__builtin_msa_min_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_min_s_h : GCCBuiltin<"__builtin_msa_min_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_min_s_w : GCCBuiltin<"__builtin_msa_min_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_min_s_d : GCCBuiltin<"__builtin_msa_min_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_min_u_b : GCCBuiltin<"__builtin_msa_min_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_min_u_h : GCCBuiltin<"__builtin_msa_min_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_min_u_w : GCCBuiltin<"__builtin_msa_min_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_min_u_d : GCCBuiltin<"__builtin_msa_min_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_mini_s_b : GCCBuiltin<"__builtin_msa_mini_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_mini_s_h : GCCBuiltin<"__builtin_msa_mini_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_mini_s_w : GCCBuiltin<"__builtin_msa_mini_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_mini_s_d : GCCBuiltin<"__builtin_msa_mini_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_mini_u_b : GCCBuiltin<"__builtin_msa_mini_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_mini_u_h : GCCBuiltin<"__builtin_msa_mini_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_mini_u_w : GCCBuiltin<"__builtin_msa_mini_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_mini_u_d : GCCBuiltin<"__builtin_msa_mini_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_mod_s_b : GCCBuiltin<"__builtin_msa_mod_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_mod_s_h : GCCBuiltin<"__builtin_msa_mod_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_mod_s_w : GCCBuiltin<"__builtin_msa_mod_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_mod_s_d : GCCBuiltin<"__builtin_msa_mod_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_mod_u_b : GCCBuiltin<"__builtin_msa_mod_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_mod_u_h : GCCBuiltin<"__builtin_msa_mod_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_mod_u_w : GCCBuiltin<"__builtin_msa_mod_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_mod_u_d : GCCBuiltin<"__builtin_msa_mod_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_move_v : GCCBuiltin<"__builtin_msa_move_v">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_msub_q_h : GCCBuiltin<"__builtin_msa_msub_q_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_msub_q_w : GCCBuiltin<"__builtin_msa_msub_q_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_msubr_q_h : GCCBuiltin<"__builtin_msa_msubr_q_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_msubr_q_w : GCCBuiltin<"__builtin_msa_msubr_q_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_msubv_b : GCCBuiltin<"__builtin_msa_msubv_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_msubv_h : GCCBuiltin<"__builtin_msa_msubv_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_msubv_w : GCCBuiltin<"__builtin_msa_msubv_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_msubv_d : GCCBuiltin<"__builtin_msa_msubv_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_mips_mul_q_h : GCCBuiltin<"__builtin_msa_mul_q_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_mul_q_w : GCCBuiltin<"__builtin_msa_mul_q_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_mulr_q_h : GCCBuiltin<"__builtin_msa_mulr_q_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_mulr_q_w : GCCBuiltin<"__builtin_msa_mulr_q_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_mulv_b : GCCBuiltin<"__builtin_msa_mulv_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_mulv_h : GCCBuiltin<"__builtin_msa_mulv_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_mulv_w : GCCBuiltin<"__builtin_msa_mulv_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_mulv_d : GCCBuiltin<"__builtin_msa_mulv_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_nloc_b : GCCBuiltin<"__builtin_msa_nloc_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_nloc_h : GCCBuiltin<"__builtin_msa_nloc_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_nloc_w : GCCBuiltin<"__builtin_msa_nloc_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_nloc_d : GCCBuiltin<"__builtin_msa_nloc_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_nlzc_b : GCCBuiltin<"__builtin_msa_nlzc_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_nlzc_h : GCCBuiltin<"__builtin_msa_nlzc_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_nlzc_w : GCCBuiltin<"__builtin_msa_nlzc_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_nlzc_d : GCCBuiltin<"__builtin_msa_nlzc_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_nor_v : GCCBuiltin<"__builtin_msa_nor_v">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_nori_b : GCCBuiltin<"__builtin_msa_nori_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_or_v : GCCBuiltin<"__builtin_msa_or_v">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_ori_b : GCCBuiltin<"__builtin_msa_ori_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_pckev_b : GCCBuiltin<"__builtin_msa_pckev_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_pckev_h : GCCBuiltin<"__builtin_msa_pckev_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_pckev_w : GCCBuiltin<"__builtin_msa_pckev_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_pckev_d : GCCBuiltin<"__builtin_msa_pckev_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_pckod_b : GCCBuiltin<"__builtin_msa_pckod_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_pckod_h : GCCBuiltin<"__builtin_msa_pckod_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_pckod_w : GCCBuiltin<"__builtin_msa_pckod_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_pckod_d : GCCBuiltin<"__builtin_msa_pckod_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_pcnt_b : GCCBuiltin<"__builtin_msa_pcnt_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_pcnt_h : GCCBuiltin<"__builtin_msa_pcnt_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_pcnt_w : GCCBuiltin<"__builtin_msa_pcnt_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_pcnt_d : GCCBuiltin<"__builtin_msa_pcnt_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_sat_s_b : GCCBuiltin<"__builtin_msa_sat_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sat_s_h : GCCBuiltin<"__builtin_msa_sat_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sat_s_w : GCCBuiltin<"__builtin_msa_sat_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sat_s_d : GCCBuiltin<"__builtin_msa_sat_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sat_u_b : GCCBuiltin<"__builtin_msa_sat_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sat_u_h : GCCBuiltin<"__builtin_msa_sat_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sat_u_w : GCCBuiltin<"__builtin_msa_sat_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sat_u_d : GCCBuiltin<"__builtin_msa_sat_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_shf_b : GCCBuiltin<"__builtin_msa_shf_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_shf_h : GCCBuiltin<"__builtin_msa_shf_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_shf_w : GCCBuiltin<"__builtin_msa_shf_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sld_b : GCCBuiltin<"__builtin_msa_sld_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sld_h : GCCBuiltin<"__builtin_msa_sld_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sld_w : GCCBuiltin<"__builtin_msa_sld_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sld_d : GCCBuiltin<"__builtin_msa_sld_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sldi_b : GCCBuiltin<"__builtin_msa_sldi_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_sldi_h : GCCBuiltin<"__builtin_msa_sldi_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_sldi_w : GCCBuiltin<"__builtin_msa_sldi_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_sldi_d : GCCBuiltin<"__builtin_msa_sldi_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_mips_sll_b : GCCBuiltin<"__builtin_msa_sll_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_sll_h : GCCBuiltin<"__builtin_msa_sll_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_sll_w : GCCBuiltin<"__builtin_msa_sll_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_sll_d : GCCBuiltin<"__builtin_msa_sll_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_slli_b : GCCBuiltin<"__builtin_msa_slli_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_slli_h : GCCBuiltin<"__builtin_msa_slli_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_slli_w : GCCBuiltin<"__builtin_msa_slli_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_slli_d : GCCBuiltin<"__builtin_msa_slli_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_splat_b : GCCBuiltin<"__builtin_msa_splat_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_splat_h : GCCBuiltin<"__builtin_msa_splat_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_splat_w : GCCBuiltin<"__builtin_msa_splat_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_splat_d : GCCBuiltin<"__builtin_msa_splat_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_splati_b : GCCBuiltin<"__builtin_msa_splati_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_splati_h : GCCBuiltin<"__builtin_msa_splati_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_splati_w : GCCBuiltin<"__builtin_msa_splati_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_splati_d : GCCBuiltin<"__builtin_msa_splati_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_sra_b : GCCBuiltin<"__builtin_msa_sra_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_sra_h : GCCBuiltin<"__builtin_msa_sra_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_sra_w : GCCBuiltin<"__builtin_msa_sra_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_sra_d : GCCBuiltin<"__builtin_msa_sra_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_srai_b : GCCBuiltin<"__builtin_msa_srai_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srai_h : GCCBuiltin<"__builtin_msa_srai_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srai_w : GCCBuiltin<"__builtin_msa_srai_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srai_d : GCCBuiltin<"__builtin_msa_srai_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srar_b : GCCBuiltin<"__builtin_msa_srar_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_srar_h : GCCBuiltin<"__builtin_msa_srar_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_srar_w : GCCBuiltin<"__builtin_msa_srar_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_srar_d : GCCBuiltin<"__builtin_msa_srar_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_srari_b : GCCBuiltin<"__builtin_msa_srari_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srari_h : GCCBuiltin<"__builtin_msa_srari_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srari_w : GCCBuiltin<"__builtin_msa_srari_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srari_d : GCCBuiltin<"__builtin_msa_srari_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srl_b : GCCBuiltin<"__builtin_msa_srl_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_srl_h : GCCBuiltin<"__builtin_msa_srl_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_srl_w : GCCBuiltin<"__builtin_msa_srl_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_srl_d : GCCBuiltin<"__builtin_msa_srl_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_srli_b : GCCBuiltin<"__builtin_msa_srli_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srli_h : GCCBuiltin<"__builtin_msa_srli_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srli_w : GCCBuiltin<"__builtin_msa_srli_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srli_d : GCCBuiltin<"__builtin_msa_srli_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srlr_b : GCCBuiltin<"__builtin_msa_srlr_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_srlr_h : GCCBuiltin<"__builtin_msa_srlr_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_srlr_w : GCCBuiltin<"__builtin_msa_srlr_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_srlr_d : GCCBuiltin<"__builtin_msa_srlr_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_srlri_b : GCCBuiltin<"__builtin_msa_srlri_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srlri_h : GCCBuiltin<"__builtin_msa_srlri_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srlri_w : GCCBuiltin<"__builtin_msa_srlri_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_srlri_d : GCCBuiltin<"__builtin_msa_srlri_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_st_b : GCCBuiltin<"__builtin_msa_st_b">, | |
Intrinsic<[], [llvm_v16i8_ty, llvm_ptr_ty, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
def int_mips_st_h : GCCBuiltin<"__builtin_msa_st_h">, | |
Intrinsic<[], [llvm_v8i16_ty, llvm_ptr_ty, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
def int_mips_st_w : GCCBuiltin<"__builtin_msa_st_w">, | |
Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
def int_mips_st_d : GCCBuiltin<"__builtin_msa_st_d">, | |
Intrinsic<[], [llvm_v2i64_ty, llvm_ptr_ty, llvm_i32_ty], | |
[IntrArgMemOnly]>; | |
def int_mips_subs_s_b : GCCBuiltin<"__builtin_msa_subs_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_subs_s_h : GCCBuiltin<"__builtin_msa_subs_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_subs_s_w : GCCBuiltin<"__builtin_msa_subs_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_subs_s_d : GCCBuiltin<"__builtin_msa_subs_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_subs_u_b : GCCBuiltin<"__builtin_msa_subs_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_subs_u_h : GCCBuiltin<"__builtin_msa_subs_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_subs_u_w : GCCBuiltin<"__builtin_msa_subs_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_subs_u_d : GCCBuiltin<"__builtin_msa_subs_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_subsus_u_b : GCCBuiltin<"__builtin_msa_subsus_u_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_subsus_u_h : GCCBuiltin<"__builtin_msa_subsus_u_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_subsus_u_w : GCCBuiltin<"__builtin_msa_subsus_u_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_subsus_u_d : GCCBuiltin<"__builtin_msa_subsus_u_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_subsuu_s_b : GCCBuiltin<"__builtin_msa_subsuu_s_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_subsuu_s_h : GCCBuiltin<"__builtin_msa_subsuu_s_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_subsuu_s_w : GCCBuiltin<"__builtin_msa_subsuu_s_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_subsuu_s_d : GCCBuiltin<"__builtin_msa_subsuu_s_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_subv_b : GCCBuiltin<"__builtin_msa_subv_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_subv_h : GCCBuiltin<"__builtin_msa_subv_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_mips_subv_w : GCCBuiltin<"__builtin_msa_subv_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_mips_subv_d : GCCBuiltin<"__builtin_msa_subv_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_mips_subvi_b : GCCBuiltin<"__builtin_msa_subvi_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_subvi_h : GCCBuiltin<"__builtin_msa_subvi_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_subvi_w : GCCBuiltin<"__builtin_msa_subvi_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_subvi_d : GCCBuiltin<"__builtin_msa_subvi_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_mips_vshf_b : GCCBuiltin<"__builtin_msa_vshf_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_mips_vshf_h : GCCBuiltin<"__builtin_msa_vshf_h">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_mips_vshf_w : GCCBuiltin<"__builtin_msa_vshf_w">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_mips_vshf_d : GCCBuiltin<"__builtin_msa_vshf_d">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_mips_xor_v : GCCBuiltin<"__builtin_msa_xor_v">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_mips_xori_b : GCCBuiltin<"__builtin_msa_xori_b">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
} | |
//===- IntrinsicsNVVM.td - Defines NVVM intrinsics ---------*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the NVVM-specific intrinsics for use with NVPTX. | |
// | |
//===----------------------------------------------------------------------===// | |
def llvm_anyi64ptr_ty : LLVMAnyPointerType<llvm_i64_ty>; // (space)i64* | |
// | |
// MISC | |
// | |
let TargetPrefix = "nvvm" in { | |
def int_nvvm_clz_i : GCCBuiltin<"__nvvm_clz_i">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_clz_ll : GCCBuiltin<"__nvvm_clz_ll">, | |
Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_popc_i : GCCBuiltin<"__nvvm_popc_i">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_popc_ll : GCCBuiltin<"__nvvm_popc_ll">, | |
Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_prmt : GCCBuiltin<"__nvvm_prmt">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
// | |
// Min Max | |
// | |
def int_nvvm_min_i : GCCBuiltin<"__nvvm_min_i">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_min_ui : GCCBuiltin<"__nvvm_min_ui">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_min_ll : GCCBuiltin<"__nvvm_min_ll">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_min_ull : GCCBuiltin<"__nvvm_min_ull">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_max_i : GCCBuiltin<"__nvvm_max_i">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_max_ui : GCCBuiltin<"__nvvm_max_ui">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_max_ll : GCCBuiltin<"__nvvm_max_ll">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_max_ull : GCCBuiltin<"__nvvm_max_ull">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fmin_f : GCCBuiltin<"__nvvm_fmin_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fmin_ftz_f : GCCBuiltin<"__nvvm_fmin_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fmax_f : GCCBuiltin<"__nvvm_fmax_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty] | |
, [IntrNoMem, Commutative]>; | |
def int_nvvm_fmax_ftz_f : GCCBuiltin<"__nvvm_fmax_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fmin_d : GCCBuiltin<"__nvvm_fmin_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fmax_d : GCCBuiltin<"__nvvm_fmax_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
// | |
// Multiplication | |
// | |
def int_nvvm_mulhi_i : GCCBuiltin<"__nvvm_mulhi_i">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mulhi_ui : GCCBuiltin<"__nvvm_mulhi_ui">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mulhi_ll : GCCBuiltin<"__nvvm_mulhi_ll">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mulhi_ull : GCCBuiltin<"__nvvm_mulhi_ull">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rn_ftz_f : GCCBuiltin<"__nvvm_mul_rn_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rn_f : GCCBuiltin<"__nvvm_mul_rn_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rz_ftz_f : GCCBuiltin<"__nvvm_mul_rz_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rz_f : GCCBuiltin<"__nvvm_mul_rz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rm_ftz_f : GCCBuiltin<"__nvvm_mul_rm_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rm_f : GCCBuiltin<"__nvvm_mul_rm_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rp_ftz_f : GCCBuiltin<"__nvvm_mul_rp_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rp_f : GCCBuiltin<"__nvvm_mul_rp_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rn_d : GCCBuiltin<"__nvvm_mul_rn_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rz_d : GCCBuiltin<"__nvvm_mul_rz_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rm_d : GCCBuiltin<"__nvvm_mul_rm_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul_rp_d : GCCBuiltin<"__nvvm_mul_rp_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul24_i : GCCBuiltin<"__nvvm_mul24_i">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_mul24_ui : GCCBuiltin<"__nvvm_mul24_ui">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
// | |
// Div | |
// | |
def int_nvvm_div_approx_ftz_f : GCCBuiltin<"__nvvm_div_approx_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_approx_f : GCCBuiltin<"__nvvm_div_approx_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rn_ftz_f : GCCBuiltin<"__nvvm_div_rn_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rn_f : GCCBuiltin<"__nvvm_div_rn_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rz_ftz_f : GCCBuiltin<"__nvvm_div_rz_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rz_f : GCCBuiltin<"__nvvm_div_rz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rm_ftz_f : GCCBuiltin<"__nvvm_div_rm_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rm_f : GCCBuiltin<"__nvvm_div_rm_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rp_ftz_f : GCCBuiltin<"__nvvm_div_rp_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rp_f : GCCBuiltin<"__nvvm_div_rp_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rn_d : GCCBuiltin<"__nvvm_div_rn_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rz_d : GCCBuiltin<"__nvvm_div_rz_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rm_d : GCCBuiltin<"__nvvm_div_rm_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_div_rp_d : GCCBuiltin<"__nvvm_div_rp_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
// | |
// Brev | |
// | |
def int_nvvm_brev32 : GCCBuiltin<"__nvvm_brev32">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_brev64 : GCCBuiltin<"__nvvm_brev64">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty], [IntrNoMem]>; | |
// | |
// Sad | |
// | |
def int_nvvm_sad_i : GCCBuiltin<"__nvvm_sad_i">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_sad_ui : GCCBuiltin<"__nvvm_sad_ui">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
// | |
// Floor Ceil | |
// | |
def int_nvvm_floor_ftz_f : GCCBuiltin<"__nvvm_floor_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_floor_f : GCCBuiltin<"__nvvm_floor_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_floor_d : GCCBuiltin<"__nvvm_floor_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_ceil_ftz_f : GCCBuiltin<"__nvvm_ceil_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_ceil_f : GCCBuiltin<"__nvvm_ceil_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_ceil_d : GCCBuiltin<"__nvvm_ceil_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
// | |
// Abs | |
// | |
def int_nvvm_abs_i : GCCBuiltin<"__nvvm_abs_i">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_abs_ll : GCCBuiltin<"__nvvm_abs_ll">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_fabs_ftz_f : GCCBuiltin<"__nvvm_fabs_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_fabs_f : GCCBuiltin<"__nvvm_fabs_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_fabs_d : GCCBuiltin<"__nvvm_fabs_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
// | |
// Round | |
// | |
def int_nvvm_round_ftz_f : GCCBuiltin<"__nvvm_round_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_round_f : GCCBuiltin<"__nvvm_round_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_round_d : GCCBuiltin<"__nvvm_round_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
// | |
// Trunc | |
// | |
def int_nvvm_trunc_ftz_f : GCCBuiltin<"__nvvm_trunc_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_trunc_f : GCCBuiltin<"__nvvm_trunc_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_trunc_d : GCCBuiltin<"__nvvm_trunc_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
// | |
// Saturate | |
// | |
def int_nvvm_saturate_ftz_f : GCCBuiltin<"__nvvm_saturate_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_saturate_f : GCCBuiltin<"__nvvm_saturate_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_saturate_d : GCCBuiltin<"__nvvm_saturate_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
// | |
// Exp2 Log2 | |
// | |
def int_nvvm_ex2_approx_ftz_f : GCCBuiltin<"__nvvm_ex2_approx_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_ex2_approx_f : GCCBuiltin<"__nvvm_ex2_approx_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_ex2_approx_d : GCCBuiltin<"__nvvm_ex2_approx_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_lg2_approx_ftz_f : GCCBuiltin<"__nvvm_lg2_approx_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_lg2_approx_f : GCCBuiltin<"__nvvm_lg2_approx_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_lg2_approx_d : GCCBuiltin<"__nvvm_lg2_approx_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
// | |
// Sin Cos | |
// | |
def int_nvvm_sin_approx_ftz_f : GCCBuiltin<"__nvvm_sin_approx_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sin_approx_f : GCCBuiltin<"__nvvm_sin_approx_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_cos_approx_ftz_f : GCCBuiltin<"__nvvm_cos_approx_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_cos_approx_f : GCCBuiltin<"__nvvm_cos_approx_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
// | |
// Fma | |
// | |
def int_nvvm_fma_rn_ftz_f : GCCBuiltin<"__nvvm_fma_rn_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rn_f : GCCBuiltin<"__nvvm_fma_rn_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rz_ftz_f : GCCBuiltin<"__nvvm_fma_rz_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rz_f : GCCBuiltin<"__nvvm_fma_rz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rm_ftz_f : GCCBuiltin<"__nvvm_fma_rm_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rm_f : GCCBuiltin<"__nvvm_fma_rm_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rp_ftz_f : GCCBuiltin<"__nvvm_fma_rp_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rp_f : GCCBuiltin<"__nvvm_fma_rp_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rn_d : GCCBuiltin<"__nvvm_fma_rn_d">, | |
Intrinsic<[llvm_double_ty], | |
[llvm_double_ty, llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rz_d : GCCBuiltin<"__nvvm_fma_rz_d">, | |
Intrinsic<[llvm_double_ty], | |
[llvm_double_ty, llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rm_d : GCCBuiltin<"__nvvm_fma_rm_d">, | |
Intrinsic<[llvm_double_ty], | |
[llvm_double_ty, llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_fma_rp_d : GCCBuiltin<"__nvvm_fma_rp_d">, | |
Intrinsic<[llvm_double_ty], | |
[llvm_double_ty, llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
// | |
// Rcp | |
// | |
def int_nvvm_rcp_rn_ftz_f : GCCBuiltin<"__nvvm_rcp_rn_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rn_f : GCCBuiltin<"__nvvm_rcp_rn_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rz_ftz_f : GCCBuiltin<"__nvvm_rcp_rz_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rz_f : GCCBuiltin<"__nvvm_rcp_rz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rm_ftz_f : GCCBuiltin<"__nvvm_rcp_rm_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rm_f : GCCBuiltin<"__nvvm_rcp_rm_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rp_ftz_f : GCCBuiltin<"__nvvm_rcp_rp_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rp_f : GCCBuiltin<"__nvvm_rcp_rp_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rn_d : GCCBuiltin<"__nvvm_rcp_rn_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rz_d : GCCBuiltin<"__nvvm_rcp_rz_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rm_d : GCCBuiltin<"__nvvm_rcp_rm_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_rp_d : GCCBuiltin<"__nvvm_rcp_rp_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_rcp_approx_ftz_d : GCCBuiltin<"__nvvm_rcp_approx_ftz_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
// | |
// Sqrt | |
// | |
def int_nvvm_sqrt_f : GCCBuiltin<"__nvvm_sqrt_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rn_ftz_f : GCCBuiltin<"__nvvm_sqrt_rn_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rn_f : GCCBuiltin<"__nvvm_sqrt_rn_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rz_ftz_f : GCCBuiltin<"__nvvm_sqrt_rz_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rz_f : GCCBuiltin<"__nvvm_sqrt_rz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rm_ftz_f : GCCBuiltin<"__nvvm_sqrt_rm_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rm_f : GCCBuiltin<"__nvvm_sqrt_rm_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rp_ftz_f : GCCBuiltin<"__nvvm_sqrt_rp_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rp_f : GCCBuiltin<"__nvvm_sqrt_rp_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_approx_ftz_f : GCCBuiltin<"__nvvm_sqrt_approx_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_approx_f : GCCBuiltin<"__nvvm_sqrt_approx_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rn_d : GCCBuiltin<"__nvvm_sqrt_rn_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rz_d : GCCBuiltin<"__nvvm_sqrt_rz_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rm_d : GCCBuiltin<"__nvvm_sqrt_rm_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_sqrt_rp_d : GCCBuiltin<"__nvvm_sqrt_rp_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
// | |
// Rsqrt | |
// | |
def int_nvvm_rsqrt_approx_ftz_f : GCCBuiltin<"__nvvm_rsqrt_approx_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rsqrt_approx_f : GCCBuiltin<"__nvvm_rsqrt_approx_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_rsqrt_approx_d : GCCBuiltin<"__nvvm_rsqrt_approx_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty], [IntrNoMem]>; | |
// | |
// Add | |
// | |
def int_nvvm_add_rn_ftz_f : GCCBuiltin<"__nvvm_add_rn_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rn_f : GCCBuiltin<"__nvvm_add_rn_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rz_ftz_f : GCCBuiltin<"__nvvm_add_rz_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rz_f : GCCBuiltin<"__nvvm_add_rz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rm_ftz_f : GCCBuiltin<"__nvvm_add_rm_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rm_f : GCCBuiltin<"__nvvm_add_rm_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rp_ftz_f : GCCBuiltin<"__nvvm_add_rp_ftz_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rp_f : GCCBuiltin<"__nvvm_add_rp_f">, | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_float_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rn_d : GCCBuiltin<"__nvvm_add_rn_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rz_d : GCCBuiltin<"__nvvm_add_rz_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rm_d : GCCBuiltin<"__nvvm_add_rm_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_add_rp_d : GCCBuiltin<"__nvvm_add_rp_d">, | |
Intrinsic<[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem, Commutative]>; | |
// | |
// Convert | |
// | |
def int_nvvm_d2f_rn_ftz : GCCBuiltin<"__nvvm_d2f_rn_ftz">, | |
Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2f_rn : GCCBuiltin<"__nvvm_d2f_rn">, | |
Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2f_rz_ftz : GCCBuiltin<"__nvvm_d2f_rz_ftz">, | |
Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2f_rz : GCCBuiltin<"__nvvm_d2f_rz">, | |
Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2f_rm_ftz : GCCBuiltin<"__nvvm_d2f_rm_ftz">, | |
Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2f_rm : GCCBuiltin<"__nvvm_d2f_rm">, | |
Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2f_rp_ftz : GCCBuiltin<"__nvvm_d2f_rp_ftz">, | |
Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2f_rp : GCCBuiltin<"__nvvm_d2f_rp">, | |
Intrinsic<[llvm_float_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2i_rn : GCCBuiltin<"__nvvm_d2i_rn">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2i_rz : GCCBuiltin<"__nvvm_d2i_rz">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2i_rm : GCCBuiltin<"__nvvm_d2i_rm">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2i_rp : GCCBuiltin<"__nvvm_d2i_rp">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ui_rn : GCCBuiltin<"__nvvm_d2ui_rn">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ui_rz : GCCBuiltin<"__nvvm_d2ui_rz">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ui_rm : GCCBuiltin<"__nvvm_d2ui_rm">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ui_rp : GCCBuiltin<"__nvvm_d2ui_rp">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_i2d_rn : GCCBuiltin<"__nvvm_i2d_rn">, | |
Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_i2d_rz : GCCBuiltin<"__nvvm_i2d_rz">, | |
Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_i2d_rm : GCCBuiltin<"__nvvm_i2d_rm">, | |
Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_i2d_rp : GCCBuiltin<"__nvvm_i2d_rp">, | |
Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_ui2d_rn : GCCBuiltin<"__nvvm_ui2d_rn">, | |
Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_ui2d_rz : GCCBuiltin<"__nvvm_ui2d_rz">, | |
Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_ui2d_rm : GCCBuiltin<"__nvvm_ui2d_rm">, | |
Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_ui2d_rp : GCCBuiltin<"__nvvm_ui2d_rp">, | |
Intrinsic<[llvm_double_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_f2i_rn_ftz : GCCBuiltin<"__nvvm_f2i_rn_ftz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2i_rn : GCCBuiltin<"__nvvm_f2i_rn">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2i_rz_ftz : GCCBuiltin<"__nvvm_f2i_rz_ftz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2i_rz : GCCBuiltin<"__nvvm_f2i_rz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2i_rm_ftz : GCCBuiltin<"__nvvm_f2i_rm_ftz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2i_rm : GCCBuiltin<"__nvvm_f2i_rm">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2i_rp_ftz : GCCBuiltin<"__nvvm_f2i_rp_ftz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2i_rp : GCCBuiltin<"__nvvm_f2i_rp">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ui_rn_ftz : GCCBuiltin<"__nvvm_f2ui_rn_ftz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ui_rn : GCCBuiltin<"__nvvm_f2ui_rn">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ui_rz_ftz : GCCBuiltin<"__nvvm_f2ui_rz_ftz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ui_rz : GCCBuiltin<"__nvvm_f2ui_rz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ui_rm_ftz : GCCBuiltin<"__nvvm_f2ui_rm_ftz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ui_rm : GCCBuiltin<"__nvvm_f2ui_rm">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ui_rp_ftz : GCCBuiltin<"__nvvm_f2ui_rp_ftz">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ui_rp : GCCBuiltin<"__nvvm_f2ui_rp">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_i2f_rn : GCCBuiltin<"__nvvm_i2f_rn">, | |
Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_i2f_rz : GCCBuiltin<"__nvvm_i2f_rz">, | |
Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_i2f_rm : GCCBuiltin<"__nvvm_i2f_rm">, | |
Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_i2f_rp : GCCBuiltin<"__nvvm_i2f_rp">, | |
Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_ui2f_rn : GCCBuiltin<"__nvvm_ui2f_rn">, | |
Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_ui2f_rz : GCCBuiltin<"__nvvm_ui2f_rz">, | |
Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_ui2f_rm : GCCBuiltin<"__nvvm_ui2f_rm">, | |
Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_ui2f_rp : GCCBuiltin<"__nvvm_ui2f_rp">, | |
Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_lohi_i2d : GCCBuiltin<"__nvvm_lohi_i2d">, | |
Intrinsic<[llvm_double_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, Commutative]>; | |
def int_nvvm_d2i_lo : GCCBuiltin<"__nvvm_d2i_lo">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2i_hi : GCCBuiltin<"__nvvm_d2i_hi">, | |
Intrinsic<[llvm_i32_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_f2ll_rn_ftz : GCCBuiltin<"__nvvm_f2ll_rn_ftz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ll_rn : GCCBuiltin<"__nvvm_f2ll_rn">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ll_rz_ftz : GCCBuiltin<"__nvvm_f2ll_rz_ftz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ll_rz : GCCBuiltin<"__nvvm_f2ll_rz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ll_rm_ftz : GCCBuiltin<"__nvvm_f2ll_rm_ftz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ll_rm : GCCBuiltin<"__nvvm_f2ll_rm">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ll_rp_ftz : GCCBuiltin<"__nvvm_f2ll_rp_ftz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ll_rp : GCCBuiltin<"__nvvm_f2ll_rp">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ull_rn_ftz : GCCBuiltin<"__nvvm_f2ull_rn_ftz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ull_rn : GCCBuiltin<"__nvvm_f2ull_rn">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ull_rz_ftz : GCCBuiltin<"__nvvm_f2ull_rz_ftz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ull_rz : GCCBuiltin<"__nvvm_f2ull_rz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ull_rm_ftz : GCCBuiltin<"__nvvm_f2ull_rm_ftz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ull_rm : GCCBuiltin<"__nvvm_f2ull_rm">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ull_rp_ftz : GCCBuiltin<"__nvvm_f2ull_rp_ftz">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2ull_rp : GCCBuiltin<"__nvvm_f2ull_rp">, | |
Intrinsic<[llvm_i64_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_d2ll_rn : GCCBuiltin<"__nvvm_d2ll_rn">, | |
Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ll_rz : GCCBuiltin<"__nvvm_d2ll_rz">, | |
Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ll_rm : GCCBuiltin<"__nvvm_d2ll_rm">, | |
Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ll_rp : GCCBuiltin<"__nvvm_d2ll_rp">, | |
Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ull_rn : GCCBuiltin<"__nvvm_d2ull_rn">, | |
Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ull_rz : GCCBuiltin<"__nvvm_d2ull_rz">, | |
Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ull_rm : GCCBuiltin<"__nvvm_d2ull_rm">, | |
Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_d2ull_rp : GCCBuiltin<"__nvvm_d2ull_rp">, | |
Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; | |
def int_nvvm_ll2f_rn : GCCBuiltin<"__nvvm_ll2f_rn">, | |
Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ll2f_rz : GCCBuiltin<"__nvvm_ll2f_rz">, | |
Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ll2f_rm : GCCBuiltin<"__nvvm_ll2f_rm">, | |
Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ll2f_rp : GCCBuiltin<"__nvvm_ll2f_rp">, | |
Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ull2f_rn : GCCBuiltin<"__nvvm_ull2f_rn">, | |
Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ull2f_rz : GCCBuiltin<"__nvvm_ull2f_rz">, | |
Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ull2f_rm : GCCBuiltin<"__nvvm_ull2f_rm">, | |
Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ull2f_rp : GCCBuiltin<"__nvvm_ull2f_rp">, | |
Intrinsic<[llvm_float_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ll2d_rn : GCCBuiltin<"__nvvm_ll2d_rn">, | |
Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ll2d_rz : GCCBuiltin<"__nvvm_ll2d_rz">, | |
Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ll2d_rm : GCCBuiltin<"__nvvm_ll2d_rm">, | |
Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ll2d_rp : GCCBuiltin<"__nvvm_ll2d_rp">, | |
Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ull2d_rn : GCCBuiltin<"__nvvm_ull2d_rn">, | |
Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ull2d_rz : GCCBuiltin<"__nvvm_ull2d_rz">, | |
Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ull2d_rm : GCCBuiltin<"__nvvm_ull2d_rm">, | |
Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_ull2d_rp : GCCBuiltin<"__nvvm_ull2d_rp">, | |
Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_f2h_rn_ftz : GCCBuiltin<"__nvvm_f2h_rn_ftz">, | |
Intrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_f2h_rn : GCCBuiltin<"__nvvm_f2h_rn">, | |
Intrinsic<[llvm_i16_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_h2f : GCCBuiltin<"__nvvm_h2f">, | |
Intrinsic<[llvm_float_ty], [llvm_i16_ty], [IntrNoMem]>; | |
// | |
// Bitcast | |
// | |
def int_nvvm_bitcast_f2i : GCCBuiltin<"__nvvm_bitcast_f2i">, | |
Intrinsic<[llvm_i32_ty], [llvm_float_ty], [IntrNoMem]>; | |
def int_nvvm_bitcast_i2f : GCCBuiltin<"__nvvm_bitcast_i2f">, | |
Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_nvvm_bitcast_ll2d : GCCBuiltin<"__nvvm_bitcast_ll2d">, | |
Intrinsic<[llvm_double_ty], [llvm_i64_ty], [IntrNoMem]>; | |
def int_nvvm_bitcast_d2ll : GCCBuiltin<"__nvvm_bitcast_d2ll">, | |
Intrinsic<[llvm_i64_ty], [llvm_double_ty], [IntrNoMem]>; | |
// Atomic not available as an llvm intrinsic. | |
def int_nvvm_atomic_load_add_f32 : Intrinsic<[llvm_float_ty], | |
[LLVMAnyPointerType<llvm_float_ty>, llvm_float_ty], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
def int_nvvm_atomic_load_inc_32 : Intrinsic<[llvm_i32_ty], | |
[LLVMAnyPointerType<llvm_i32_ty>, llvm_i32_ty], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
def int_nvvm_atomic_load_dec_32 : Intrinsic<[llvm_i32_ty], | |
[LLVMAnyPointerType<llvm_i32_ty>, llvm_i32_ty], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
class SCOPED_ATOMIC2_impl<LLVMType elty> | |
: Intrinsic<[elty], | |
[LLVMAnyPointerType<LLVMMatchType<0>>, LLVMMatchType<0>], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
class SCOPED_ATOMIC3_impl<LLVMType elty> | |
: Intrinsic<[elty], | |
[LLVMAnyPointerType<LLVMMatchType<0>>, LLVMMatchType<0>, | |
LLVMMatchType<0>], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
multiclass PTXAtomicWithScope2<LLVMType elty> { | |
def _cta : SCOPED_ATOMIC2_impl<elty>; | |
def _sys : SCOPED_ATOMIC2_impl<elty>; | |
} | |
multiclass PTXAtomicWithScope3<LLVMType elty> { | |
def _cta : SCOPED_ATOMIC3_impl<elty>; | |
def _sys : SCOPED_ATOMIC3_impl<elty>; | |
} | |
multiclass PTXAtomicWithScope2_fi { | |
defm _f: PTXAtomicWithScope2<llvm_anyfloat_ty>; | |
defm _i: PTXAtomicWithScope2<llvm_anyint_ty>; | |
} | |
defm int_nvvm_atomic_add_gen : PTXAtomicWithScope2_fi; | |
defm int_nvvm_atomic_inc_gen_i : PTXAtomicWithScope2<llvm_anyint_ty>; | |
defm int_nvvm_atomic_dec_gen_i : PTXAtomicWithScope2<llvm_anyint_ty>; | |
defm int_nvvm_atomic_exch_gen_i: PTXAtomicWithScope2<llvm_anyint_ty>; | |
defm int_nvvm_atomic_xor_gen_i : PTXAtomicWithScope2<llvm_anyint_ty>; | |
defm int_nvvm_atomic_max_gen_i : PTXAtomicWithScope2<llvm_anyint_ty>; | |
defm int_nvvm_atomic_min_gen_i : PTXAtomicWithScope2<llvm_anyint_ty>; | |
defm int_nvvm_atomic_or_gen_i : PTXAtomicWithScope2<llvm_anyint_ty>; | |
defm int_nvvm_atomic_and_gen_i : PTXAtomicWithScope2<llvm_anyint_ty>; | |
defm int_nvvm_atomic_cas_gen_i : PTXAtomicWithScope3<llvm_anyint_ty>; | |
// Bar.Sync | |
// The builtin for "bar.sync 0" is called __syncthreads. Unlike most of the | |
// intrinsics in this file, this one is a user-facing API. | |
def int_nvvm_barrier0 : GCCBuiltin<"__syncthreads">, | |
Intrinsic<[], [], [IntrConvergent]>; | |
def int_nvvm_barrier0_popc : GCCBuiltin<"__nvvm_bar0_popc">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrConvergent]>; | |
def int_nvvm_barrier0_and : GCCBuiltin<"__nvvm_bar0_and">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrConvergent]>; | |
def int_nvvm_barrier0_or : GCCBuiltin<"__nvvm_bar0_or">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrConvergent]>; | |
def int_nvvm_bar_sync : | |
Intrinsic<[], [llvm_i32_ty], [IntrConvergent]>, | |
GCCBuiltin<"__nvvm_bar_sync">; | |
// Membar | |
def int_nvvm_membar_cta : GCCBuiltin<"__nvvm_membar_cta">, | |
Intrinsic<[], [], []>; | |
def int_nvvm_membar_gl : GCCBuiltin<"__nvvm_membar_gl">, | |
Intrinsic<[], [], []>; | |
def int_nvvm_membar_sys : GCCBuiltin<"__nvvm_membar_sys">, | |
Intrinsic<[], [], []>; | |
// Generated within nvvm. Use for ldu on sm_20 or later. Second arg is the | |
// pointer's alignment. | |
def int_nvvm_ldu_global_i : Intrinsic<[llvm_anyint_ty], | |
[LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly, NoCapture<0>], | |
"llvm.nvvm.ldu.global.i">; | |
def int_nvvm_ldu_global_f : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly, NoCapture<0>], | |
"llvm.nvvm.ldu.global.f">; | |
def int_nvvm_ldu_global_p : Intrinsic<[llvm_anyptr_ty], | |
[LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly, NoCapture<0>], | |
"llvm.nvvm.ldu.global.p">; | |
// Generated within nvvm. Use for ldg on sm_35 or later. Second arg is the | |
// pointer's alignment. | |
def int_nvvm_ldg_global_i : Intrinsic<[llvm_anyint_ty], | |
[LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly, NoCapture<0>], | |
"llvm.nvvm.ldg.global.i">; | |
def int_nvvm_ldg_global_f : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly, NoCapture<0>], | |
"llvm.nvvm.ldg.global.f">; | |
def int_nvvm_ldg_global_p : Intrinsic<[llvm_anyptr_ty], | |
[LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly, NoCapture<0>], | |
"llvm.nvvm.ldg.global.p">; | |
// Use for generic pointers | |
// - These intrinsics are used to convert address spaces. | |
// - The input pointer and output pointer must have the same type, except for | |
// the address-space. (This restriction is not enforced here as there is | |
// currently no way to describe it). | |
// - This complements the llvm bitcast, which can be used to cast one type | |
// of pointer to another type of pointer, while the address space remains | |
// the same. | |
def int_nvvm_ptr_local_to_gen: Intrinsic<[llvm_anyptr_ty], | |
[llvm_anyptr_ty], [IntrNoMem], | |
"llvm.nvvm.ptr.local.to.gen">; | |
def int_nvvm_ptr_shared_to_gen: Intrinsic<[llvm_anyptr_ty], | |
[llvm_anyptr_ty], [IntrNoMem], | |
"llvm.nvvm.ptr.shared.to.gen">; | |
def int_nvvm_ptr_global_to_gen: Intrinsic<[llvm_anyptr_ty], | |
[llvm_anyptr_ty], [IntrNoMem], | |
"llvm.nvvm.ptr.global.to.gen">; | |
def int_nvvm_ptr_constant_to_gen: Intrinsic<[llvm_anyptr_ty], | |
[llvm_anyptr_ty], [IntrNoMem], | |
"llvm.nvvm.ptr.constant.to.gen">; | |
def int_nvvm_ptr_gen_to_global: Intrinsic<[llvm_anyptr_ty], | |
[llvm_anyptr_ty], [IntrNoMem], | |
"llvm.nvvm.ptr.gen.to.global">; | |
def int_nvvm_ptr_gen_to_shared: Intrinsic<[llvm_anyptr_ty], | |
[llvm_anyptr_ty], [IntrNoMem], | |
"llvm.nvvm.ptr.gen.to.shared">; | |
def int_nvvm_ptr_gen_to_local: Intrinsic<[llvm_anyptr_ty], | |
[llvm_anyptr_ty], [IntrNoMem], | |
"llvm.nvvm.ptr.gen.to.local">; | |
def int_nvvm_ptr_gen_to_constant: Intrinsic<[llvm_anyptr_ty], | |
[llvm_anyptr_ty], [IntrNoMem], | |
"llvm.nvvm.ptr.gen.to.constant">; | |
// Used in nvvm internally to help address space opt and ptx code generation | |
// This is for params that are passed to kernel functions by pointer by-val. | |
def int_nvvm_ptr_gen_to_param: Intrinsic<[llvm_anyptr_ty], | |
[llvm_anyptr_ty], | |
[IntrNoMem], | |
"llvm.nvvm.ptr.gen.to.param">; | |
// Move intrinsics, used in nvvm internally | |
def int_nvvm_move_i16 : Intrinsic<[llvm_i16_ty], [llvm_i16_ty], [IntrNoMem], | |
"llvm.nvvm.move.i16">; | |
def int_nvvm_move_i32 : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem], | |
"llvm.nvvm.move.i32">; | |
def int_nvvm_move_i64 : Intrinsic<[llvm_i64_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.move.i64">; | |
def int_nvvm_move_float : Intrinsic<[llvm_float_ty], [llvm_float_ty], | |
[IntrNoMem], "llvm.nvvm.move.float">; | |
def int_nvvm_move_double : Intrinsic<[llvm_double_ty], [llvm_double_ty], | |
[IntrNoMem], "llvm.nvvm.move.double">; | |
def int_nvvm_move_ptr : Intrinsic<[llvm_anyptr_ty], [llvm_anyptr_ty], | |
[IntrNoMem, NoCapture<0>], "llvm.nvvm.move.ptr">; | |
// For getting the handle from a texture or surface variable | |
def int_nvvm_texsurf_handle | |
: Intrinsic<[llvm_i64_ty], [llvm_metadata_ty, llvm_anyi64ptr_ty], | |
[IntrNoMem], "llvm.nvvm.texsurf.handle">; | |
def int_nvvm_texsurf_handle_internal | |
: Intrinsic<[llvm_i64_ty], [llvm_anyptr_ty], | |
[IntrNoMem], "llvm.nvvm.texsurf.handle.internal">; | |
/// Error / Warn | |
def int_nvvm_compiler_error : | |
Intrinsic<[], [llvm_anyptr_ty], [], "llvm.nvvm.compiler.error">; | |
def int_nvvm_compiler_warn : | |
Intrinsic<[], [llvm_anyptr_ty], [], "llvm.nvvm.compiler.warn">; | |
def int_nvvm_reflect : | |
Intrinsic<[llvm_i32_ty], [llvm_anyptr_ty], [IntrNoMem], "llvm.nvvm.reflect">; | |
// isspacep.{const, global, local, shared} | |
def int_nvvm_isspacep_const | |
: Intrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem], | |
"llvm.nvvm.isspacep.const">, | |
GCCBuiltin<"__nvvm_isspacep_const">; | |
def int_nvvm_isspacep_global | |
: Intrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem], | |
"llvm.nvvm.isspacep.global">, | |
GCCBuiltin<"__nvvm_isspacep_global">; | |
def int_nvvm_isspacep_local | |
: Intrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem], | |
"llvm.nvvm.isspacep.local">, | |
GCCBuiltin<"__nvvm_isspacep_local">; | |
def int_nvvm_isspacep_shared | |
: Intrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem], | |
"llvm.nvvm.isspacep.shared">, | |
GCCBuiltin<"__nvvm_isspacep_shared">; | |
// Environment register read | |
def int_nvvm_read_ptx_sreg_envreg0 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg0">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg0">; | |
def int_nvvm_read_ptx_sreg_envreg1 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg1">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg1">; | |
def int_nvvm_read_ptx_sreg_envreg2 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg2">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg2">; | |
def int_nvvm_read_ptx_sreg_envreg3 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg3">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg3">; | |
def int_nvvm_read_ptx_sreg_envreg4 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg4">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg4">; | |
def int_nvvm_read_ptx_sreg_envreg5 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg5">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg5">; | |
def int_nvvm_read_ptx_sreg_envreg6 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg6">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg6">; | |
def int_nvvm_read_ptx_sreg_envreg7 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg7">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg7">; | |
def int_nvvm_read_ptx_sreg_envreg8 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg8">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg8">; | |
def int_nvvm_read_ptx_sreg_envreg9 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg9">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg9">; | |
def int_nvvm_read_ptx_sreg_envreg10 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg10">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg10">; | |
def int_nvvm_read_ptx_sreg_envreg11 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg11">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg11">; | |
def int_nvvm_read_ptx_sreg_envreg12 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg12">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg12">; | |
def int_nvvm_read_ptx_sreg_envreg13 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg13">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg13">; | |
def int_nvvm_read_ptx_sreg_envreg14 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg14">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg14">; | |
def int_nvvm_read_ptx_sreg_envreg15 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg15">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg15">; | |
def int_nvvm_read_ptx_sreg_envreg16 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg16">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg16">; | |
def int_nvvm_read_ptx_sreg_envreg17 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg17">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg17">; | |
def int_nvvm_read_ptx_sreg_envreg18 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg18">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg18">; | |
def int_nvvm_read_ptx_sreg_envreg19 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg19">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg19">; | |
def int_nvvm_read_ptx_sreg_envreg20 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg20">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg20">; | |
def int_nvvm_read_ptx_sreg_envreg21 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg21">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg21">; | |
def int_nvvm_read_ptx_sreg_envreg22 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg22">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg22">; | |
def int_nvvm_read_ptx_sreg_envreg23 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg23">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg23">; | |
def int_nvvm_read_ptx_sreg_envreg24 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg24">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg24">; | |
def int_nvvm_read_ptx_sreg_envreg25 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg25">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg25">; | |
def int_nvvm_read_ptx_sreg_envreg26 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg26">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg26">; | |
def int_nvvm_read_ptx_sreg_envreg27 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg27">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg27">; | |
def int_nvvm_read_ptx_sreg_envreg28 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg28">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg28">; | |
def int_nvvm_read_ptx_sreg_envreg29 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg29">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg29">; | |
def int_nvvm_read_ptx_sreg_envreg30 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg30">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg30">; | |
def int_nvvm_read_ptx_sreg_envreg31 | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem], | |
"llvm.nvvm.read.ptx.sreg.envreg31">, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_envreg31">; | |
// Texture Fetch | |
// texmode_independent | |
def int_nvvm_tex_1d_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.1d.v4f32.s32">; | |
def int_nvvm_tex_1d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.v4f32.f32">; | |
def int_nvvm_tex_1d_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.level.v4f32.f32">; | |
def int_nvvm_tex_1d_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.grad.v4f32.f32">; | |
def int_nvvm_tex_1d_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.1d.v4s32.s32">; | |
def int_nvvm_tex_1d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.v4s32.f32">; | |
def int_nvvm_tex_1d_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.level.v4s32.f32">; | |
def int_nvvm_tex_1d_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.grad.v4s32.f32">; | |
def int_nvvm_tex_1d_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.1d.v4u32.s32">; | |
def int_nvvm_tex_1d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.v4u32.f32">; | |
def int_nvvm_tex_1d_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.level.v4u32.f32">; | |
def int_nvvm_tex_1d_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.grad.v4u32.f32">; | |
def int_nvvm_tex_1d_array_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.1d.array.v4f32.s32">; | |
def int_nvvm_tex_1d_array_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.array.v4f32.f32">; | |
def int_nvvm_tex_1d_array_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.array.level.v4f32.f32">; | |
def int_nvvm_tex_1d_array_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.array.grad.v4f32.f32">; | |
def int_nvvm_tex_1d_array_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.1d.array.v4s32.s32">; | |
def int_nvvm_tex_1d_array_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.array.v4s32.f32">; | |
def int_nvvm_tex_1d_array_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.array.level.v4s32.f32">; | |
def int_nvvm_tex_1d_array_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.array.grad.v4s32.f32">; | |
def int_nvvm_tex_1d_array_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.1d.array.v4u32.s32">; | |
def int_nvvm_tex_1d_array_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.array.v4u32.f32">; | |
def int_nvvm_tex_1d_array_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.array.level.v4u32.f32">; | |
def int_nvvm_tex_1d_array_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.1d.array.grad.v4u32.f32">; | |
def int_nvvm_tex_2d_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.2d.v4f32.s32">; | |
def int_nvvm_tex_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.v4f32.f32">; | |
def int_nvvm_tex_2d_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.level.v4f32.f32">; | |
def int_nvvm_tex_2d_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.grad.v4f32.f32">; | |
def int_nvvm_tex_2d_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.2d.v4s32.s32">; | |
def int_nvvm_tex_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.v4s32.f32">; | |
def int_nvvm_tex_2d_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.level.v4s32.f32">; | |
def int_nvvm_tex_2d_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.grad.v4s32.f32">; | |
def int_nvvm_tex_2d_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.2d.v4u32.s32">; | |
def int_nvvm_tex_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.v4u32.f32">; | |
def int_nvvm_tex_2d_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.level.v4u32.f32">; | |
def int_nvvm_tex_2d_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.grad.v4u32.f32">; | |
def int_nvvm_tex_2d_array_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], [], | |
"llvm.nvvm.tex.2d.array.v4f32.s32">; | |
def int_nvvm_tex_2d_array_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.array.v4f32.f32">; | |
def int_nvvm_tex_2d_array_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.array.level.v4f32.f32">; | |
def int_nvvm_tex_2d_array_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.array.grad.v4f32.f32">; | |
def int_nvvm_tex_2d_array_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], [], | |
"llvm.nvvm.tex.2d.array.v4s32.s32">; | |
def int_nvvm_tex_2d_array_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.array.v4s32.f32">; | |
def int_nvvm_tex_2d_array_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.array.level.v4s32.f32">; | |
def int_nvvm_tex_2d_array_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.array.grad.v4s32.f32">; | |
def int_nvvm_tex_2d_array_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], [], | |
"llvm.nvvm.tex.2d.array.v4u32.s32">; | |
def int_nvvm_tex_2d_array_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.array.v4u32.f32">; | |
def int_nvvm_tex_2d_array_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.array.level.v4u32.f32">; | |
def int_nvvm_tex_2d_array_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.2d.array.grad.v4u32.f32">; | |
def int_nvvm_tex_3d_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[], "llvm.nvvm.tex.3d.v4f32.s32">; | |
def int_nvvm_tex_3d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.3d.v4f32.f32">; | |
def int_nvvm_tex_3d_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.3d.level.v4f32.f32">; | |
def int_nvvm_tex_3d_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.3d.grad.v4f32.f32">; | |
def int_nvvm_tex_3d_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[], "llvm.nvvm.tex.3d.v4s32.s32">; | |
def int_nvvm_tex_3d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.3d.v4s32.f32">; | |
def int_nvvm_tex_3d_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.3d.level.v4s32.f32">; | |
def int_nvvm_tex_3d_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.3d.grad.v4s32.f32">; | |
def int_nvvm_tex_3d_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[], "llvm.nvvm.tex.3d.v4u32.s32">; | |
def int_nvvm_tex_3d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.3d.v4u32.f32">; | |
def int_nvvm_tex_3d_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.3d.level.v4u32.f32">; | |
def int_nvvm_tex_3d_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.3d.grad.v4u32.f32">; | |
def int_nvvm_tex_cube_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.v4f32.f32">; | |
def int_nvvm_tex_cube_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.level.v4f32.f32">; | |
def int_nvvm_tex_cube_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.v4s32.f32">; | |
def int_nvvm_tex_cube_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.level.v4s32.f32">; | |
def int_nvvm_tex_cube_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.v4u32.f32">; | |
def int_nvvm_tex_cube_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.level.v4u32.f32">; | |
def int_nvvm_tex_cube_array_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.array.v4f32.f32">; | |
def int_nvvm_tex_cube_array_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.array.level.v4f32.f32">; | |
def int_nvvm_tex_cube_array_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.array.v4s32.f32">; | |
def int_nvvm_tex_cube_array_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.array.level.v4s32.f32">; | |
def int_nvvm_tex_cube_array_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.array.v4u32.f32">; | |
def int_nvvm_tex_cube_array_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.cube.array.level.v4u32.f32">; | |
def int_nvvm_tld4_r_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.r.2d.v4f32.f32">; | |
def int_nvvm_tld4_g_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.g.2d.v4f32.f32">; | |
def int_nvvm_tld4_b_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.b.2d.v4f32.f32">; | |
def int_nvvm_tld4_a_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.a.2d.v4f32.f32">; | |
def int_nvvm_tld4_r_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.r.2d.v4s32.f32">; | |
def int_nvvm_tld4_g_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.g.2d.v4s32.f32">; | |
def int_nvvm_tld4_b_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.b.2d.v4s32.f32">; | |
def int_nvvm_tld4_a_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.a.2d.v4s32.f32">; | |
def int_nvvm_tld4_r_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.r.2d.v4u32.f32">; | |
def int_nvvm_tld4_g_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.g.2d.v4u32.f32">; | |
def int_nvvm_tld4_b_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.b.2d.v4u32.f32">; | |
def int_nvvm_tld4_a_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.a.2d.v4u32.f32">; | |
// texmode_unified | |
def int_nvvm_tex_unified_1d_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.1d.v4f32.s32">; | |
def int_nvvm_tex_unified_1d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.v4f32.f32">; | |
def int_nvvm_tex_unified_1d_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.level.v4f32.f32">; | |
def int_nvvm_tex_unified_1d_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.grad.v4f32.f32">; | |
def int_nvvm_tex_unified_1d_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.1d.v4s32.s32">; | |
def int_nvvm_tex_unified_1d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.v4s32.f32">; | |
def int_nvvm_tex_unified_1d_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.level.v4s32.f32">; | |
def int_nvvm_tex_unified_1d_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.grad.v4s32.f32">; | |
def int_nvvm_tex_unified_1d_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.1d.v4u32.s32">; | |
def int_nvvm_tex_unified_1d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.v4u32.f32">; | |
def int_nvvm_tex_unified_1d_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.level.v4u32.f32">; | |
def int_nvvm_tex_unified_1d_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.grad.v4u32.f32">; | |
def int_nvvm_tex_unified_1d_array_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.v4f32.s32">; | |
def int_nvvm_tex_unified_1d_array_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.v4f32.f32">; | |
def int_nvvm_tex_unified_1d_array_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.level.v4f32.f32">; | |
def int_nvvm_tex_unified_1d_array_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.grad.v4f32.f32">; | |
def int_nvvm_tex_unified_1d_array_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.v4s32.s32">; | |
def int_nvvm_tex_unified_1d_array_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.v4s32.f32">; | |
def int_nvvm_tex_unified_1d_array_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.level.v4s32.f32">; | |
def int_nvvm_tex_unified_1d_array_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.grad.v4s32.f32">; | |
def int_nvvm_tex_unified_1d_array_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.v4u32.s32">; | |
def int_nvvm_tex_unified_1d_array_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.v4u32.f32">; | |
def int_nvvm_tex_unified_1d_array_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.level.v4u32.f32">; | |
def int_nvvm_tex_unified_1d_array_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.1d.array.grad.v4u32.f32">; | |
def int_nvvm_tex_unified_2d_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.2d.v4f32.s32">; | |
def int_nvvm_tex_unified_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.v4f32.f32">; | |
def int_nvvm_tex_unified_2d_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.level.v4f32.f32">; | |
def int_nvvm_tex_unified_2d_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.grad.v4f32.f32">; | |
def int_nvvm_tex_unified_2d_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.2d.v4s32.s32">; | |
def int_nvvm_tex_unified_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.v4s32.f32">; | |
def int_nvvm_tex_unified_2d_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.level.v4s32.f32">; | |
def int_nvvm_tex_unified_2d_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.grad.v4s32.f32">; | |
def int_nvvm_tex_unified_2d_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.2d.v4u32.s32">; | |
def int_nvvm_tex_unified_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.v4u32.f32">; | |
def int_nvvm_tex_unified_2d_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.level.v4u32.f32">; | |
def int_nvvm_tex_unified_2d_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.grad.v4u32.f32">; | |
def int_nvvm_tex_unified_2d_array_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.v4f32.s32">; | |
def int_nvvm_tex_unified_2d_array_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.v4f32.f32">; | |
def int_nvvm_tex_unified_2d_array_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.level.v4f32.f32">; | |
def int_nvvm_tex_unified_2d_array_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.grad.v4f32.f32">; | |
def int_nvvm_tex_unified_2d_array_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.v4s32.s32">; | |
def int_nvvm_tex_unified_2d_array_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.v4s32.f32">; | |
def int_nvvm_tex_unified_2d_array_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.level.v4s32.f32">; | |
def int_nvvm_tex_unified_2d_array_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.grad.v4s32.f32">; | |
def int_nvvm_tex_unified_2d_array_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.v4u32.s32">; | |
def int_nvvm_tex_unified_2d_array_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.v4u32.f32">; | |
def int_nvvm_tex_unified_2d_array_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.level.v4u32.f32">; | |
def int_nvvm_tex_unified_2d_array_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.2d.array.grad.v4u32.f32">; | |
def int_nvvm_tex_unified_3d_v4f32_s32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[], "llvm.nvvm.tex.unified.3d.v4f32.s32">; | |
def int_nvvm_tex_unified_3d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.3d.v4f32.f32">; | |
def int_nvvm_tex_unified_3d_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.3d.level.v4f32.f32">; | |
def int_nvvm_tex_unified_3d_grad_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.3d.grad.v4f32.f32">; | |
def int_nvvm_tex_unified_3d_v4s32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[], "llvm.nvvm.tex.unified.3d.v4s32.s32">; | |
def int_nvvm_tex_unified_3d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.3d.v4s32.f32">; | |
def int_nvvm_tex_unified_3d_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.3d.level.v4s32.f32">; | |
def int_nvvm_tex_unified_3d_grad_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.3d.grad.v4s32.f32">; | |
def int_nvvm_tex_unified_3d_v4u32_s32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[], "llvm.nvvm.tex.unified.3d.v4u32.s32">; | |
def int_nvvm_tex_unified_3d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.3d.v4u32.f32">; | |
def int_nvvm_tex_unified_3d_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.3d.level.v4u32.f32">; | |
def int_nvvm_tex_unified_3d_grad_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.3d.grad.v4u32.f32">; | |
def int_nvvm_tex_unified_cube_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.v4f32.f32">; | |
def int_nvvm_tex_unified_cube_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.level.v4f32.f32">; | |
def int_nvvm_tex_unified_cube_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.v4s32.f32">; | |
def int_nvvm_tex_unified_cube_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.level.v4s32.f32">; | |
def int_nvvm_tex_unified_cube_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.v4u32.f32">; | |
def int_nvvm_tex_unified_cube_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.level.v4u32.f32">; | |
def int_nvvm_tex_unified_cube_array_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.array.v4f32.f32">; | |
def int_nvvm_tex_unified_cube_array_level_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.array.level.v4f32.f32">; | |
def int_nvvm_tex_unified_cube_array_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.array.v4s32.f32">; | |
def int_nvvm_tex_unified_cube_array_level_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.array.level.v4s32.f32">; | |
def int_nvvm_tex_unified_cube_array_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.array.v4u32.f32">; | |
def int_nvvm_tex_unified_cube_array_level_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, | |
llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tex.unified.cube.array.level.v4u32.f32">; | |
def int_nvvm_tld4_unified_r_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.r.2d.v4f32.f32">; | |
def int_nvvm_tld4_unified_g_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.g.2d.v4f32.f32">; | |
def int_nvvm_tld4_unified_b_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.b.2d.v4f32.f32">; | |
def int_nvvm_tld4_unified_a_2d_v4f32_f32 | |
: Intrinsic<[llvm_float_ty, llvm_float_ty, llvm_float_ty, llvm_float_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.a.2d.v4f32.f32">; | |
def int_nvvm_tld4_unified_r_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.r.2d.v4s32.f32">; | |
def int_nvvm_tld4_unified_g_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.g.2d.v4s32.f32">; | |
def int_nvvm_tld4_unified_b_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.b.2d.v4s32.f32">; | |
def int_nvvm_tld4_unified_a_2d_v4s32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.a.2d.v4s32.f32">; | |
def int_nvvm_tld4_unified_r_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.r.2d.v4u32.f32">; | |
def int_nvvm_tld4_unified_g_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.g.2d.v4u32.f32">; | |
def int_nvvm_tld4_unified_b_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.b.2d.v4u32.f32">; | |
def int_nvvm_tld4_unified_a_2d_v4u32_f32 | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_float_ty, llvm_float_ty], [], | |
"llvm.nvvm.tld4.unified.a.2d.v4u32.f32">; | |
//=== Surface Load | |
// .clamp variants | |
def int_nvvm_suld_1d_i8_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i8.clamp">; | |
def int_nvvm_suld_1d_i16_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i16.clamp">; | |
def int_nvvm_suld_1d_i32_clamp | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i32.clamp">; | |
def int_nvvm_suld_1d_i64_clamp | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i64.clamp">; | |
def int_nvvm_suld_1d_v2i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i8.clamp">; | |
def int_nvvm_suld_1d_v2i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i16.clamp">; | |
def int_nvvm_suld_1d_v2i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i32.clamp">; | |
def int_nvvm_suld_1d_v2i64_clamp | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i64.clamp">; | |
def int_nvvm_suld_1d_v4i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v4i8.clamp">; | |
def int_nvvm_suld_1d_v4i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v4i16.clamp">; | |
def int_nvvm_suld_1d_v4i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v4i32.clamp">; | |
def int_nvvm_suld_1d_array_i8_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i8.clamp">; | |
def int_nvvm_suld_1d_array_i16_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i16.clamp">; | |
def int_nvvm_suld_1d_array_i32_clamp | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i32.clamp">; | |
def int_nvvm_suld_1d_array_i64_clamp | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i64.clamp">; | |
def int_nvvm_suld_1d_array_v2i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i8.clamp">; | |
def int_nvvm_suld_1d_array_v2i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i16.clamp">; | |
def int_nvvm_suld_1d_array_v2i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i32.clamp">; | |
def int_nvvm_suld_1d_array_v2i64_clamp | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i64.clamp">; | |
def int_nvvm_suld_1d_array_v4i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v4i8.clamp">; | |
def int_nvvm_suld_1d_array_v4i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v4i16.clamp">; | |
def int_nvvm_suld_1d_array_v4i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v4i32.clamp">; | |
def int_nvvm_suld_2d_i8_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i8.clamp">; | |
def int_nvvm_suld_2d_i16_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i16.clamp">; | |
def int_nvvm_suld_2d_i32_clamp | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i32.clamp">; | |
def int_nvvm_suld_2d_i64_clamp | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i64.clamp">; | |
def int_nvvm_suld_2d_v2i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i8.clamp">; | |
def int_nvvm_suld_2d_v2i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i16.clamp">; | |
def int_nvvm_suld_2d_v2i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i32.clamp">; | |
def int_nvvm_suld_2d_v2i64_clamp | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i64.clamp">; | |
def int_nvvm_suld_2d_v4i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v4i8.clamp">; | |
def int_nvvm_suld_2d_v4i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v4i16.clamp">; | |
def int_nvvm_suld_2d_v4i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v4i32.clamp">; | |
def int_nvvm_suld_2d_array_i8_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i8.clamp">; | |
def int_nvvm_suld_2d_array_i16_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i16.clamp">; | |
def int_nvvm_suld_2d_array_i32_clamp | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i32.clamp">; | |
def int_nvvm_suld_2d_array_i64_clamp | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i64.clamp">; | |
def int_nvvm_suld_2d_array_v2i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i8.clamp">; | |
def int_nvvm_suld_2d_array_v2i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i16.clamp">; | |
def int_nvvm_suld_2d_array_v2i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i32.clamp">; | |
def int_nvvm_suld_2d_array_v2i64_clamp | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i64.clamp">; | |
def int_nvvm_suld_2d_array_v4i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v4i8.clamp">; | |
def int_nvvm_suld_2d_array_v4i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v4i16.clamp">; | |
def int_nvvm_suld_2d_array_v4i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v4i32.clamp">; | |
def int_nvvm_suld_3d_i8_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i8.clamp">; | |
def int_nvvm_suld_3d_i16_clamp | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i16.clamp">; | |
def int_nvvm_suld_3d_i32_clamp | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i32.clamp">; | |
def int_nvvm_suld_3d_i64_clamp | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i64.clamp">; | |
def int_nvvm_suld_3d_v2i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i8.clamp">; | |
def int_nvvm_suld_3d_v2i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i16.clamp">; | |
def int_nvvm_suld_3d_v2i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i32.clamp">; | |
def int_nvvm_suld_3d_v2i64_clamp | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i64.clamp">; | |
def int_nvvm_suld_3d_v4i8_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v4i8.clamp">; | |
def int_nvvm_suld_3d_v4i16_clamp | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v4i16.clamp">; | |
def int_nvvm_suld_3d_v4i32_clamp | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v4i32.clamp">; | |
// .trap variants | |
def int_nvvm_suld_1d_i8_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i8.trap">; | |
def int_nvvm_suld_1d_i16_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i16.trap">; | |
def int_nvvm_suld_1d_i32_trap | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i32.trap">; | |
def int_nvvm_suld_1d_i64_trap | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i64.trap">; | |
def int_nvvm_suld_1d_v2i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i8.trap">; | |
def int_nvvm_suld_1d_v2i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i16.trap">; | |
def int_nvvm_suld_1d_v2i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i32.trap">; | |
def int_nvvm_suld_1d_v2i64_trap | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i64.trap">; | |
def int_nvvm_suld_1d_v4i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v4i8.trap">; | |
def int_nvvm_suld_1d_v4i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v4i16.trap">; | |
def int_nvvm_suld_1d_v4i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v4i32.trap">; | |
def int_nvvm_suld_1d_array_i8_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i8.trap">; | |
def int_nvvm_suld_1d_array_i16_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i16.trap">; | |
def int_nvvm_suld_1d_array_i32_trap | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i32.trap">; | |
def int_nvvm_suld_1d_array_i64_trap | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i64.trap">; | |
def int_nvvm_suld_1d_array_v2i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i8.trap">; | |
def int_nvvm_suld_1d_array_v2i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i16.trap">; | |
def int_nvvm_suld_1d_array_v2i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i32.trap">; | |
def int_nvvm_suld_1d_array_v2i64_trap | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i64.trap">; | |
def int_nvvm_suld_1d_array_v4i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v4i8.trap">; | |
def int_nvvm_suld_1d_array_v4i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v4i16.trap">; | |
def int_nvvm_suld_1d_array_v4i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v4i32.trap">; | |
def int_nvvm_suld_2d_i8_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i8.trap">; | |
def int_nvvm_suld_2d_i16_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i16.trap">; | |
def int_nvvm_suld_2d_i32_trap | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i32.trap">; | |
def int_nvvm_suld_2d_i64_trap | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i64.trap">; | |
def int_nvvm_suld_2d_v2i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i8.trap">; | |
def int_nvvm_suld_2d_v2i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i16.trap">; | |
def int_nvvm_suld_2d_v2i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i32.trap">; | |
def int_nvvm_suld_2d_v2i64_trap | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i64.trap">; | |
def int_nvvm_suld_2d_v4i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v4i8.trap">; | |
def int_nvvm_suld_2d_v4i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v4i16.trap">; | |
def int_nvvm_suld_2d_v4i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v4i32.trap">; | |
def int_nvvm_suld_2d_array_i8_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i8.trap">; | |
def int_nvvm_suld_2d_array_i16_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i16.trap">; | |
def int_nvvm_suld_2d_array_i32_trap | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i32.trap">; | |
def int_nvvm_suld_2d_array_i64_trap | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i64.trap">; | |
def int_nvvm_suld_2d_array_v2i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i8.trap">; | |
def int_nvvm_suld_2d_array_v2i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i16.trap">; | |
def int_nvvm_suld_2d_array_v2i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i32.trap">; | |
def int_nvvm_suld_2d_array_v2i64_trap | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i64.trap">; | |
def int_nvvm_suld_2d_array_v4i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v4i8.trap">; | |
def int_nvvm_suld_2d_array_v4i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v4i16.trap">; | |
def int_nvvm_suld_2d_array_v4i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v4i32.trap">; | |
def int_nvvm_suld_3d_i8_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i8.trap">; | |
def int_nvvm_suld_3d_i16_trap | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i16.trap">; | |
def int_nvvm_suld_3d_i32_trap | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i32.trap">; | |
def int_nvvm_suld_3d_i64_trap | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i64.trap">; | |
def int_nvvm_suld_3d_v2i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i8.trap">; | |
def int_nvvm_suld_3d_v2i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i16.trap">; | |
def int_nvvm_suld_3d_v2i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i32.trap">; | |
def int_nvvm_suld_3d_v2i64_trap | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i64.trap">; | |
def int_nvvm_suld_3d_v4i8_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v4i8.trap">; | |
def int_nvvm_suld_3d_v4i16_trap | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v4i16.trap">; | |
def int_nvvm_suld_3d_v4i32_trap | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v4i32.trap">; | |
// .zero variants | |
def int_nvvm_suld_1d_i8_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i8.zero">; | |
def int_nvvm_suld_1d_i16_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i16.zero">; | |
def int_nvvm_suld_1d_i32_zero | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i32.zero">; | |
def int_nvvm_suld_1d_i64_zero | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.i64.zero">; | |
def int_nvvm_suld_1d_v2i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i8.zero">; | |
def int_nvvm_suld_1d_v2i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i16.zero">; | |
def int_nvvm_suld_1d_v2i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i32.zero">; | |
def int_nvvm_suld_1d_v2i64_zero | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v2i64.zero">; | |
def int_nvvm_suld_1d_v4i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v4i8.zero">; | |
def int_nvvm_suld_1d_v4i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v4i16.zero">; | |
def int_nvvm_suld_1d_v4i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.v4i32.zero">; | |
def int_nvvm_suld_1d_array_i8_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i8.zero">; | |
def int_nvvm_suld_1d_array_i16_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i16.zero">; | |
def int_nvvm_suld_1d_array_i32_zero | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i32.zero">; | |
def int_nvvm_suld_1d_array_i64_zero | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.i64.zero">; | |
def int_nvvm_suld_1d_array_v2i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i8.zero">; | |
def int_nvvm_suld_1d_array_v2i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i16.zero">; | |
def int_nvvm_suld_1d_array_v2i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i32.zero">; | |
def int_nvvm_suld_1d_array_v2i64_zero | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v2i64.zero">; | |
def int_nvvm_suld_1d_array_v4i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v4i8.zero">; | |
def int_nvvm_suld_1d_array_v4i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v4i16.zero">; | |
def int_nvvm_suld_1d_array_v4i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.1d.array.v4i32.zero">; | |
def int_nvvm_suld_2d_i8_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i8.zero">; | |
def int_nvvm_suld_2d_i16_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i16.zero">; | |
def int_nvvm_suld_2d_i32_zero | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i32.zero">; | |
def int_nvvm_suld_2d_i64_zero | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.i64.zero">; | |
def int_nvvm_suld_2d_v2i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i8.zero">; | |
def int_nvvm_suld_2d_v2i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i16.zero">; | |
def int_nvvm_suld_2d_v2i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i32.zero">; | |
def int_nvvm_suld_2d_v2i64_zero | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v2i64.zero">; | |
def int_nvvm_suld_2d_v4i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v4i8.zero">; | |
def int_nvvm_suld_2d_v4i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v4i16.zero">; | |
def int_nvvm_suld_2d_v4i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.v4i32.zero">; | |
def int_nvvm_suld_2d_array_i8_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i8.zero">; | |
def int_nvvm_suld_2d_array_i16_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i16.zero">; | |
def int_nvvm_suld_2d_array_i32_zero | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i32.zero">; | |
def int_nvvm_suld_2d_array_i64_zero | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.i64.zero">; | |
def int_nvvm_suld_2d_array_v2i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i8.zero">; | |
def int_nvvm_suld_2d_array_v2i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i16.zero">; | |
def int_nvvm_suld_2d_array_v2i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i32.zero">; | |
def int_nvvm_suld_2d_array_v2i64_zero | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v2i64.zero">; | |
def int_nvvm_suld_2d_array_v4i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v4i8.zero">; | |
def int_nvvm_suld_2d_array_v4i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v4i16.zero">; | |
def int_nvvm_suld_2d_array_v4i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.2d.array.v4i32.zero">; | |
def int_nvvm_suld_3d_i8_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i8.zero">; | |
def int_nvvm_suld_3d_i16_zero | |
: Intrinsic<[llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i16.zero">; | |
def int_nvvm_suld_3d_i32_zero | |
: Intrinsic<[llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i32.zero">; | |
def int_nvvm_suld_3d_i64_zero | |
: Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.i64.zero">; | |
def int_nvvm_suld_3d_v2i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i8.zero">; | |
def int_nvvm_suld_3d_v2i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i16.zero">; | |
def int_nvvm_suld_3d_v2i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i32.zero">; | |
def int_nvvm_suld_3d_v2i64_zero | |
: Intrinsic<[llvm_i64_ty, llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v2i64.zero">; | |
def int_nvvm_suld_3d_v4i8_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v4i8.zero">; | |
def int_nvvm_suld_3d_v4i16_zero | |
: Intrinsic<[llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v4i16.zero">; | |
def int_nvvm_suld_3d_v4i32_zero | |
: Intrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.suld.3d.v4i32.zero">; | |
//===- Texture Query ------------------------------------------------------===// | |
def int_nvvm_txq_channel_order | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.txq.channel.order">, | |
GCCBuiltin<"__nvvm_txq_channel_order">; | |
def int_nvvm_txq_channel_data_type | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.txq.channel.data.type">, | |
GCCBuiltin<"__nvvm_txq_channel_data_type">; | |
def int_nvvm_txq_width | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.txq.width">, | |
GCCBuiltin<"__nvvm_txq_width">; | |
def int_nvvm_txq_height | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.txq.height">, | |
GCCBuiltin<"__nvvm_txq_height">; | |
def int_nvvm_txq_depth | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.txq.depth">, | |
GCCBuiltin<"__nvvm_txq_depth">; | |
def int_nvvm_txq_array_size | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.txq.array.size">, | |
GCCBuiltin<"__nvvm_txq_array_size">; | |
def int_nvvm_txq_num_samples | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.txq.num.samples">, | |
GCCBuiltin<"__nvvm_txq_num_samples">; | |
def int_nvvm_txq_num_mipmap_levels | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.txq.num.mipmap.levels">, | |
GCCBuiltin<"__nvvm_txq_num_mipmap_levels">; | |
//===- Surface Query ------------------------------------------------------===// | |
def int_nvvm_suq_channel_order | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.suq.channel.order">, | |
GCCBuiltin<"__nvvm_suq_channel_order">; | |
def int_nvvm_suq_channel_data_type | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.suq.channel.data.type">, | |
GCCBuiltin<"__nvvm_suq_channel_data_type">; | |
def int_nvvm_suq_width | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.suq.width">, | |
GCCBuiltin<"__nvvm_suq_width">; | |
def int_nvvm_suq_height | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.suq.height">, | |
GCCBuiltin<"__nvvm_suq_height">; | |
def int_nvvm_suq_depth | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.suq.depth">, | |
GCCBuiltin<"__nvvm_suq_depth">; | |
def int_nvvm_suq_array_size | |
: Intrinsic<[llvm_i32_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.suq.array.size">, | |
GCCBuiltin<"__nvvm_suq_array_size">; | |
//===- Handle Query -------------------------------------------------------===// | |
def int_nvvm_istypep_sampler | |
: Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.istypep.sampler">, | |
GCCBuiltin<"__nvvm_istypep_sampler">; | |
def int_nvvm_istypep_surface | |
: Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.istypep.surface">, | |
GCCBuiltin<"__nvvm_istypep_surface">; | |
def int_nvvm_istypep_texture | |
: Intrinsic<[llvm_i1_ty], [llvm_i64_ty], [IntrNoMem], | |
"llvm.nvvm.istypep.texture">, | |
GCCBuiltin<"__nvvm_istypep_texture">; | |
//===- Surface Stores -----------------------------------------------------===// | |
// Unformatted | |
// .clamp variant | |
def int_nvvm_sust_b_1d_i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i8_clamp">; | |
def int_nvvm_sust_b_1d_i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i16_clamp">; | |
def int_nvvm_sust_b_1d_i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i32_clamp">; | |
def int_nvvm_sust_b_1d_i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i64_clamp">; | |
def int_nvvm_sust_b_1d_v2i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i8_clamp">; | |
def int_nvvm_sust_b_1d_v2i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i16_clamp">; | |
def int_nvvm_sust_b_1d_v2i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i32_clamp">; | |
def int_nvvm_sust_b_1d_v2i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i64_clamp">; | |
def int_nvvm_sust_b_1d_v4i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v4i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v4i8_clamp">; | |
def int_nvvm_sust_b_1d_v4i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v4i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v4i16_clamp">; | |
def int_nvvm_sust_b_1d_v4i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.v4i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v4i32_clamp">; | |
def int_nvvm_sust_b_1d_array_i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i8_clamp">; | |
def int_nvvm_sust_b_1d_array_i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i16_clamp">; | |
def int_nvvm_sust_b_1d_array_i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i32_clamp">; | |
def int_nvvm_sust_b_1d_array_i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i64_clamp">; | |
def int_nvvm_sust_b_1d_array_v2i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i8_clamp">; | |
def int_nvvm_sust_b_1d_array_v2i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i16_clamp">; | |
def int_nvvm_sust_b_1d_array_v2i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i32_clamp">; | |
def int_nvvm_sust_b_1d_array_v2i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i64_clamp">; | |
def int_nvvm_sust_b_1d_array_v4i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v4i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v4i8_clamp">; | |
def int_nvvm_sust_b_1d_array_v4i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v4i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v4i16_clamp">; | |
def int_nvvm_sust_b_1d_array_v4i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v4i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v4i32_clamp">; | |
def int_nvvm_sust_b_2d_i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i8_clamp">; | |
def int_nvvm_sust_b_2d_i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i16_clamp">; | |
def int_nvvm_sust_b_2d_i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i32_clamp">; | |
def int_nvvm_sust_b_2d_i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i64_clamp">; | |
def int_nvvm_sust_b_2d_v2i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i8_clamp">; | |
def int_nvvm_sust_b_2d_v2i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i16_clamp">; | |
def int_nvvm_sust_b_2d_v2i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i32_clamp">; | |
def int_nvvm_sust_b_2d_v2i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i64_clamp">; | |
def int_nvvm_sust_b_2d_v4i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v4i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v4i8_clamp">; | |
def int_nvvm_sust_b_2d_v4i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v4i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v4i16_clamp">; | |
def int_nvvm_sust_b_2d_v4i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.v4i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v4i32_clamp">; | |
def int_nvvm_sust_b_2d_array_i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i8_clamp">; | |
def int_nvvm_sust_b_2d_array_i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i16_clamp">; | |
def int_nvvm_sust_b_2d_array_i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i32_clamp">; | |
def int_nvvm_sust_b_2d_array_i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i64_clamp">; | |
def int_nvvm_sust_b_2d_array_v2i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i8_clamp">; | |
def int_nvvm_sust_b_2d_array_v2i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i16_clamp">; | |
def int_nvvm_sust_b_2d_array_v2i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i32_clamp">; | |
def int_nvvm_sust_b_2d_array_v2i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i64_clamp">; | |
def int_nvvm_sust_b_2d_array_v4i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v4i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v4i8_clamp">; | |
def int_nvvm_sust_b_2d_array_v4i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v4i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v4i16_clamp">; | |
def int_nvvm_sust_b_2d_array_v4i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v4i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v4i32_clamp">; | |
def int_nvvm_sust_b_3d_i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i8_clamp">; | |
def int_nvvm_sust_b_3d_i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i16_clamp">; | |
def int_nvvm_sust_b_3d_i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.3d.i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i32_clamp">; | |
def int_nvvm_sust_b_3d_i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.3d.i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i64_clamp">; | |
def int_nvvm_sust_b_3d_v2i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i8_clamp">; | |
def int_nvvm_sust_b_3d_v2i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i16_clamp">; | |
def int_nvvm_sust_b_3d_v2i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i32_clamp">; | |
def int_nvvm_sust_b_3d_v2i64_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i64.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i64_clamp">; | |
def int_nvvm_sust_b_3d_v4i8_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v4i8.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v4i8_clamp">; | |
def int_nvvm_sust_b_3d_v4i16_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v4i16.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v4i16_clamp">; | |
def int_nvvm_sust_b_3d_v4i32_clamp | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.3d.v4i32.clamp">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v4i32_clamp">; | |
// .trap variant | |
def int_nvvm_sust_b_1d_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i8_trap">; | |
def int_nvvm_sust_b_1d_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i16_trap">; | |
def int_nvvm_sust_b_1d_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i32_trap">; | |
def int_nvvm_sust_b_1d_i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i64_trap">; | |
def int_nvvm_sust_b_1d_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i8_trap">; | |
def int_nvvm_sust_b_1d_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i16_trap">; | |
def int_nvvm_sust_b_1d_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i32_trap">; | |
def int_nvvm_sust_b_1d_v2i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i64_trap">; | |
def int_nvvm_sust_b_1d_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v4i8_trap">; | |
def int_nvvm_sust_b_1d_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v4i16_trap">; | |
def int_nvvm_sust_b_1d_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v4i32_trap">; | |
def int_nvvm_sust_b_1d_array_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i8_trap">; | |
def int_nvvm_sust_b_1d_array_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i16_trap">; | |
def int_nvvm_sust_b_1d_array_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i32_trap">; | |
def int_nvvm_sust_b_1d_array_i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i64_trap">; | |
def int_nvvm_sust_b_1d_array_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i8_trap">; | |
def int_nvvm_sust_b_1d_array_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i16_trap">; | |
def int_nvvm_sust_b_1d_array_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i32_trap">; | |
def int_nvvm_sust_b_1d_array_v2i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i64_trap">; | |
def int_nvvm_sust_b_1d_array_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v4i8_trap">; | |
def int_nvvm_sust_b_1d_array_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v4i16_trap">; | |
def int_nvvm_sust_b_1d_array_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v4i32_trap">; | |
def int_nvvm_sust_b_2d_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i8_trap">; | |
def int_nvvm_sust_b_2d_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i16_trap">; | |
def int_nvvm_sust_b_2d_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i32_trap">; | |
def int_nvvm_sust_b_2d_i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i64_trap">; | |
def int_nvvm_sust_b_2d_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i8_trap">; | |
def int_nvvm_sust_b_2d_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i16_trap">; | |
def int_nvvm_sust_b_2d_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i32_trap">; | |
def int_nvvm_sust_b_2d_v2i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i64_trap">; | |
def int_nvvm_sust_b_2d_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v4i8_trap">; | |
def int_nvvm_sust_b_2d_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v4i16_trap">; | |
def int_nvvm_sust_b_2d_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v4i32_trap">; | |
def int_nvvm_sust_b_2d_array_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i8_trap">; | |
def int_nvvm_sust_b_2d_array_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i16_trap">; | |
def int_nvvm_sust_b_2d_array_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i32_trap">; | |
def int_nvvm_sust_b_2d_array_i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i64_trap">; | |
def int_nvvm_sust_b_2d_array_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i8_trap">; | |
def int_nvvm_sust_b_2d_array_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i16_trap">; | |
def int_nvvm_sust_b_2d_array_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i32_trap">; | |
def int_nvvm_sust_b_2d_array_v2i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i64_trap">; | |
def int_nvvm_sust_b_2d_array_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v4i8_trap">; | |
def int_nvvm_sust_b_2d_array_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v4i16_trap">; | |
def int_nvvm_sust_b_2d_array_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v4i32_trap">; | |
def int_nvvm_sust_b_3d_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i8_trap">; | |
def int_nvvm_sust_b_3d_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i16_trap">; | |
def int_nvvm_sust_b_3d_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.3d.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i32_trap">; | |
def int_nvvm_sust_b_3d_i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.3d.i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i64_trap">; | |
def int_nvvm_sust_b_3d_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i8_trap">; | |
def int_nvvm_sust_b_3d_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i16_trap">; | |
def int_nvvm_sust_b_3d_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i32_trap">; | |
def int_nvvm_sust_b_3d_v2i64_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i64.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i64_trap">; | |
def int_nvvm_sust_b_3d_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v4i8_trap">; | |
def int_nvvm_sust_b_3d_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v4i16_trap">; | |
def int_nvvm_sust_b_3d_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.3d.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v4i32_trap">; | |
// .zero variant | |
def int_nvvm_sust_b_1d_i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i8_zero">; | |
def int_nvvm_sust_b_1d_i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i16_zero">; | |
def int_nvvm_sust_b_1d_i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i32_zero">; | |
def int_nvvm_sust_b_1d_i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_i64_zero">; | |
def int_nvvm_sust_b_1d_v2i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i8_zero">; | |
def int_nvvm_sust_b_1d_v2i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i16_zero">; | |
def int_nvvm_sust_b_1d_v2i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i32_zero">; | |
def int_nvvm_sust_b_1d_v2i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.v2i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v2i64_zero">; | |
def int_nvvm_sust_b_1d_v4i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v4i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v4i8_zero">; | |
def int_nvvm_sust_b_1d_v4i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.v4i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v4i16_zero">; | |
def int_nvvm_sust_b_1d_v4i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.v4i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_v4i32_zero">; | |
def int_nvvm_sust_b_1d_array_i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i8_zero">; | |
def int_nvvm_sust_b_1d_array_i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i16_zero">; | |
def int_nvvm_sust_b_1d_array_i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i32_zero">; | |
def int_nvvm_sust_b_1d_array_i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.array.i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_i64_zero">; | |
def int_nvvm_sust_b_1d_array_v2i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i8_zero">; | |
def int_nvvm_sust_b_1d_array_v2i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i16_zero">; | |
def int_nvvm_sust_b_1d_array_v2i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i32_zero">; | |
def int_nvvm_sust_b_1d_array_v2i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v2i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v2i64_zero">; | |
def int_nvvm_sust_b_1d_array_v4i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v4i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v4i8_zero">; | |
def int_nvvm_sust_b_1d_array_v4i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v4i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v4i16_zero">; | |
def int_nvvm_sust_b_1d_array_v4i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.1d.array.v4i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_1d_array_v4i32_zero">; | |
def int_nvvm_sust_b_2d_i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i8_zero">; | |
def int_nvvm_sust_b_2d_i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i16_zero">; | |
def int_nvvm_sust_b_2d_i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i32_zero">; | |
def int_nvvm_sust_b_2d_i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_i64_zero">; | |
def int_nvvm_sust_b_2d_v2i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i8_zero">; | |
def int_nvvm_sust_b_2d_v2i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i16_zero">; | |
def int_nvvm_sust_b_2d_v2i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i32_zero">; | |
def int_nvvm_sust_b_2d_v2i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.v2i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v2i64_zero">; | |
def int_nvvm_sust_b_2d_v4i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v4i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v4i8_zero">; | |
def int_nvvm_sust_b_2d_v4i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.v4i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v4i16_zero">; | |
def int_nvvm_sust_b_2d_v4i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.v4i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_v4i32_zero">; | |
def int_nvvm_sust_b_2d_array_i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i8_zero">; | |
def int_nvvm_sust_b_2d_array_i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i16_zero">; | |
def int_nvvm_sust_b_2d_array_i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i32_zero">; | |
def int_nvvm_sust_b_2d_array_i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.array.i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_i64_zero">; | |
def int_nvvm_sust_b_2d_array_v2i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i8_zero">; | |
def int_nvvm_sust_b_2d_array_v2i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i16_zero">; | |
def int_nvvm_sust_b_2d_array_v2i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i32_zero">; | |
def int_nvvm_sust_b_2d_array_v2i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v2i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v2i64_zero">; | |
def int_nvvm_sust_b_2d_array_v4i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v4i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v4i8_zero">; | |
def int_nvvm_sust_b_2d_array_v4i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v4i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v4i16_zero">; | |
def int_nvvm_sust_b_2d_array_v4i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.2d.array.v4i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_2d_array_v4i32_zero">; | |
def int_nvvm_sust_b_3d_i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i8_zero">; | |
def int_nvvm_sust_b_3d_i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i16_zero">; | |
def int_nvvm_sust_b_3d_i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.3d.i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i32_zero">; | |
def int_nvvm_sust_b_3d_i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.3d.i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_i64_zero">; | |
def int_nvvm_sust_b_3d_v2i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i8_zero">; | |
def int_nvvm_sust_b_3d_v2i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i16_zero">; | |
def int_nvvm_sust_b_3d_v2i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i32_zero">; | |
def int_nvvm_sust_b_3d_v2i64_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i64_ty, llvm_i64_ty], [], | |
"llvm.nvvm.sust.b.3d.v2i64.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v2i64_zero">; | |
def int_nvvm_sust_b_3d_v4i8_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v4i8.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v4i8_zero">; | |
def int_nvvm_sust_b_3d_v4i16_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.b.3d.v4i16.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v4i16_zero">; | |
def int_nvvm_sust_b_3d_v4i32_zero | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.b.3d.v4i32.zero">, | |
GCCBuiltin<"__nvvm_sust_b_3d_v4i32_zero">; | |
// Formatted | |
def int_nvvm_sust_p_1d_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_i8_trap">; | |
def int_nvvm_sust_p_1d_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_i16_trap">; | |
def int_nvvm_sust_p_1d_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.1d.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_i32_trap">; | |
def int_nvvm_sust_p_1d_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_v2i8_trap">; | |
def int_nvvm_sust_p_1d_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_v2i16_trap">; | |
def int_nvvm_sust_p_1d_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.1d.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_v2i32_trap">; | |
def int_nvvm_sust_p_1d_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_v4i8_trap">; | |
def int_nvvm_sust_p_1d_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_v4i16_trap">; | |
def int_nvvm_sust_p_1d_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.1d.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_v4i32_trap">; | |
def int_nvvm_sust_p_1d_array_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.array.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_array_i8_trap">; | |
def int_nvvm_sust_p_1d_array_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.array.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_array_i16_trap">; | |
def int_nvvm_sust_p_1d_array_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.1d.array.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_array_i32_trap">; | |
def int_nvvm_sust_p_1d_array_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.array.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_array_v2i8_trap">; | |
def int_nvvm_sust_p_1d_array_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.array.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_array_v2i16_trap">; | |
def int_nvvm_sust_p_1d_array_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.1d.array.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_array_v2i32_trap">; | |
def int_nvvm_sust_p_1d_array_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.array.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_array_v4i8_trap">; | |
def int_nvvm_sust_p_1d_array_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.1d.array.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_array_v4i16_trap">; | |
def int_nvvm_sust_p_1d_array_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.1d.array.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_1d_array_v4i32_trap">; | |
def int_nvvm_sust_p_2d_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_i8_trap">; | |
def int_nvvm_sust_p_2d_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_i16_trap">; | |
def int_nvvm_sust_p_2d_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.2d.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_i32_trap">; | |
def int_nvvm_sust_p_2d_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_v2i8_trap">; | |
def int_nvvm_sust_p_2d_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_v2i16_trap">; | |
def int_nvvm_sust_p_2d_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.2d.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_v2i32_trap">; | |
def int_nvvm_sust_p_2d_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_v4i8_trap">; | |
def int_nvvm_sust_p_2d_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i16_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_v4i16_trap">; | |
def int_nvvm_sust_p_2d_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.2d.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_v4i32_trap">; | |
def int_nvvm_sust_p_2d_array_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.array.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_array_i8_trap">; | |
def int_nvvm_sust_p_2d_array_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.array.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_array_i16_trap">; | |
def int_nvvm_sust_p_2d_array_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.2d.array.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_array_i32_trap">; | |
def int_nvvm_sust_p_2d_array_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.array.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_array_v2i8_trap">; | |
def int_nvvm_sust_p_2d_array_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.array.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_array_v2i16_trap">; | |
def int_nvvm_sust_p_2d_array_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.2d.array.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_array_v2i32_trap">; | |
def int_nvvm_sust_p_2d_array_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.array.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_array_v4i8_trap">; | |
def int_nvvm_sust_p_2d_array_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.2d.array.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_array_v4i16_trap">; | |
def int_nvvm_sust_p_2d_array_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.2d.array.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_2d_array_v4i32_trap">; | |
def int_nvvm_sust_p_3d_i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.3d.i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_3d_i8_trap">; | |
def int_nvvm_sust_p_3d_i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.3d.i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_3d_i16_trap">; | |
def int_nvvm_sust_p_3d_i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.3d.i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_3d_i32_trap">; | |
def int_nvvm_sust_p_3d_v2i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.3d.v2i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_3d_v2i8_trap">; | |
def int_nvvm_sust_p_3d_v2i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.3d.v2i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_3d_v2i16_trap">; | |
def int_nvvm_sust_p_3d_v2i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.3d.v2i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_3d_v2i32_trap">; | |
def int_nvvm_sust_p_3d_v4i8_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.3d.v4i8.trap">, | |
GCCBuiltin<"__nvvm_sust_p_3d_v4i8_trap">; | |
def int_nvvm_sust_p_3d_v4i16_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i16_ty, llvm_i16_ty, llvm_i16_ty, llvm_i16_ty], [], | |
"llvm.nvvm.sust.p.3d.v4i16.trap">, | |
GCCBuiltin<"__nvvm_sust_p_3d_v4i16_trap">; | |
def int_nvvm_sust_p_3d_v4i32_trap | |
: Intrinsic<[], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [], | |
"llvm.nvvm.sust.p.3d.v4i32.trap">, | |
GCCBuiltin<"__nvvm_sust_p_3d_v4i32_trap">; | |
def int_nvvm_rotate_b32 | |
: Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem], "llvm.nvvm.rotate.b32">, | |
GCCBuiltin<"__nvvm_rotate_b32">; | |
def int_nvvm_rotate_b64 | |
:Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty], | |
[IntrNoMem], "llvm.nvvm.rotate.b64">, | |
GCCBuiltin<"__nvvm_rotate_b64">; | |
def int_nvvm_rotate_right_b64 | |
: Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty], | |
[IntrNoMem], "llvm.nvvm.rotate.right.b64">, | |
GCCBuiltin<"__nvvm_rotate_right_b64">; | |
def int_nvvm_swap_lo_hi_b64 | |
: Intrinsic<[llvm_i64_ty], [llvm_i64_ty], | |
[IntrNoMem], "llvm.nvvm.swap.lo.hi.b64">, | |
GCCBuiltin<"__nvvm_swap_lo_hi_b64">; | |
// Accessing special registers. | |
multiclass PTXReadSRegIntrinsic_v4i32<string regname> { | |
// FIXME: Do we need the 128-bit integer type version? | |
// def _r64 : Intrinsic<[llvm_i128_ty], [], [IntrNoMem]>; | |
// FIXME: Enable this once v4i32 support is enabled in back-end. | |
// def _v4i16 : Intrinsic<[llvm_v4i32_ty], [], [IntrNoMem]>; | |
def _x : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_" # regname # "_x">; | |
def _y : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_" # regname # "_y">; | |
def _z : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_" # regname # "_z">; | |
def _w : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_" # regname # "_w">; | |
} | |
class PTXReadSRegIntrinsic_r32<string name> | |
: Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_" # name>; | |
class PTXReadSRegIntrinsic_r64<string name> | |
: Intrinsic<[llvm_i64_ty], [], [IntrNoMem]>, | |
GCCBuiltin<"__nvvm_read_ptx_sreg_" # name>; | |
defm int_nvvm_read_ptx_sreg_tid : PTXReadSRegIntrinsic_v4i32<"tid">; | |
defm int_nvvm_read_ptx_sreg_ntid : PTXReadSRegIntrinsic_v4i32<"ntid">; | |
def int_nvvm_read_ptx_sreg_laneid : PTXReadSRegIntrinsic_r32<"laneid">; | |
def int_nvvm_read_ptx_sreg_warpid : PTXReadSRegIntrinsic_r32<"warpid">; | |
def int_nvvm_read_ptx_sreg_nwarpid : PTXReadSRegIntrinsic_r32<"nwarpid">; | |
defm int_nvvm_read_ptx_sreg_ctaid : PTXReadSRegIntrinsic_v4i32<"ctaid">; | |
defm int_nvvm_read_ptx_sreg_nctaid : PTXReadSRegIntrinsic_v4i32<"nctaid">; | |
def int_nvvm_read_ptx_sreg_smid : PTXReadSRegIntrinsic_r32<"smid">; | |
def int_nvvm_read_ptx_sreg_nsmid : PTXReadSRegIntrinsic_r32<"nsmid">; | |
def int_nvvm_read_ptx_sreg_gridid : PTXReadSRegIntrinsic_r32<"gridid">; | |
def int_nvvm_read_ptx_sreg_lanemask_eq : | |
PTXReadSRegIntrinsic_r32<"lanemask_eq">; | |
def int_nvvm_read_ptx_sreg_lanemask_le : | |
PTXReadSRegIntrinsic_r32<"lanemask_le">; | |
def int_nvvm_read_ptx_sreg_lanemask_lt : | |
PTXReadSRegIntrinsic_r32<"lanemask_lt">; | |
def int_nvvm_read_ptx_sreg_lanemask_ge : | |
PTXReadSRegIntrinsic_r32<"lanemask_ge">; | |
def int_nvvm_read_ptx_sreg_lanemask_gt : | |
PTXReadSRegIntrinsic_r32<"lanemask_gt">; | |
def int_nvvm_read_ptx_sreg_clock : PTXReadSRegIntrinsic_r32<"clock">; | |
def int_nvvm_read_ptx_sreg_clock64 : PTXReadSRegIntrinsic_r64<"clock64">; | |
def int_nvvm_read_ptx_sreg_pm0 : PTXReadSRegIntrinsic_r32<"pm0">; | |
def int_nvvm_read_ptx_sreg_pm1 : PTXReadSRegIntrinsic_r32<"pm1">; | |
def int_nvvm_read_ptx_sreg_pm2 : PTXReadSRegIntrinsic_r32<"pm2">; | |
def int_nvvm_read_ptx_sreg_pm3 : PTXReadSRegIntrinsic_r32<"pm3">; | |
def int_nvvm_read_ptx_sreg_warpsize : PTXReadSRegIntrinsic_r32<"warpsize">; | |
// | |
// SHUFFLE | |
// | |
// shfl.down.b32 dest, val, offset, mask_and_clamp | |
def int_nvvm_shfl_down_i32 : | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.down.i32">, | |
GCCBuiltin<"__nvvm_shfl_down_i32">; | |
def int_nvvm_shfl_down_f32 : | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.down.f32">, | |
GCCBuiltin<"__nvvm_shfl_down_f32">; | |
// shfl.up.b32 dest, val, offset, mask_and_clamp | |
def int_nvvm_shfl_up_i32 : | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.up.i32">, | |
GCCBuiltin<"__nvvm_shfl_up_i32">; | |
def int_nvvm_shfl_up_f32 : | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.up.f32">, | |
GCCBuiltin<"__nvvm_shfl_up_f32">; | |
// shfl.bfly.b32 dest, val, offset, mask_and_clamp | |
def int_nvvm_shfl_bfly_i32 : | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.bfly.i32">, | |
GCCBuiltin<"__nvvm_shfl_bfly_i32">; | |
def int_nvvm_shfl_bfly_f32 : | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.bfly.f32">, | |
GCCBuiltin<"__nvvm_shfl_bfly_f32">; | |
// shfl.idx.b32 dest, val, lane, mask_and_clamp | |
def int_nvvm_shfl_idx_i32 : | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.idx.i32">, | |
GCCBuiltin<"__nvvm_shfl_idx_i32">; | |
def int_nvvm_shfl_idx_f32 : | |
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.idx.f32">, | |
GCCBuiltin<"__nvvm_shfl_idx_f32">; | |
} | |
//===- IntrinsicsPowerPC.td - Defines PowerPC intrinsics ---*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the PowerPC-specific intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
//===----------------------------------------------------------------------===// | |
// Definitions for all PowerPC intrinsics. | |
// | |
// Non-altivec intrinsics. | |
let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.". | |
// dcba/dcbf/dcbi/dcbst/dcbt/dcbz/dcbzl(PPC970) instructions. | |
def int_ppc_dcba : Intrinsic<[], [llvm_ptr_ty], []>; | |
def int_ppc_dcbf : Intrinsic<[], [llvm_ptr_ty], []>; | |
def int_ppc_dcbi : Intrinsic<[], [llvm_ptr_ty], []>; | |
def int_ppc_dcbst : Intrinsic<[], [llvm_ptr_ty], []>; | |
def int_ppc_dcbt : Intrinsic<[], [llvm_ptr_ty], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
def int_ppc_dcbtst: Intrinsic<[], [llvm_ptr_ty], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
def int_ppc_dcbz : Intrinsic<[], [llvm_ptr_ty], []>; | |
def int_ppc_dcbzl : Intrinsic<[], [llvm_ptr_ty], []>; | |
// sync instruction (i.e. sync 0, a.k.a hwsync) | |
def int_ppc_sync : Intrinsic<[], [], []>; | |
// lwsync is sync 1 | |
def int_ppc_lwsync : Intrinsic<[], [], []>; | |
// Intrinsics used to generate ctr-based loops. These should only be | |
// generated by the PowerPC backend! | |
def int_ppc_mtctr : Intrinsic<[], [llvm_anyint_ty], []>; | |
def int_ppc_is_decremented_ctr_nonzero : Intrinsic<[llvm_i1_ty], [], []>; | |
// Intrinsics for [double]word extended forms of divide instructions | |
def int_ppc_divwe : GCCBuiltin<"__builtin_divwe">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_divweu : GCCBuiltin<"__builtin_divweu">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_divde : GCCBuiltin<"__builtin_divde">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
def int_ppc_divdeu : GCCBuiltin<"__builtin_divdeu">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
// Bit permute doubleword | |
def int_ppc_bpermd : GCCBuiltin<"__builtin_bpermd">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
} | |
let TargetPrefix = "ppc" in { // All PPC intrinsics start with "llvm.ppc.". | |
/// PowerPC_Vec_Intrinsic - Base class for all altivec intrinsics. | |
class PowerPC_Vec_Intrinsic<string GCCIntSuffix, list<LLVMType> ret_types, | |
list<LLVMType> param_types, | |
list<IntrinsicProperty> properties> | |
: GCCBuiltin<!strconcat("__builtin_altivec_", GCCIntSuffix)>, | |
Intrinsic<ret_types, param_types, properties>; | |
/// PowerPC_VSX_Intrinsic - Base class for all VSX intrinsics. | |
class PowerPC_VSX_Intrinsic<string GCCIntSuffix, list<LLVMType> ret_types, | |
list<LLVMType> param_types, | |
list<IntrinsicProperty> properties> | |
: GCCBuiltin<!strconcat("__builtin_vsx_", GCCIntSuffix)>, | |
Intrinsic<ret_types, param_types, properties>; | |
} | |
//===----------------------------------------------------------------------===// | |
// PowerPC Altivec Intrinsic Class Definitions. | |
// | |
/// PowerPC_Vec_FF_Intrinsic - A PowerPC intrinsic that takes one v4f32 | |
/// vector and returns one. These intrinsics have no side effects. | |
class PowerPC_Vec_FF_Intrinsic<string GCCIntSuffix> | |
: PowerPC_Vec_Intrinsic<GCCIntSuffix, | |
[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
/// PowerPC_Vec_FFF_Intrinsic - A PowerPC intrinsic that takes two v4f32 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_Vec_FFF_Intrinsic<string GCCIntSuffix> | |
: PowerPC_Vec_Intrinsic<GCCIntSuffix, | |
[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
/// PowerPC_Vec_BBB_Intrinsic - A PowerPC intrinsic that takes two v16i8 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_Vec_BBB_Intrinsic<string GCCIntSuffix> | |
: PowerPC_Vec_Intrinsic<GCCIntSuffix, | |
[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
/// PowerPC_Vec_HHH_Intrinsic - A PowerPC intrinsic that takes two v8i16 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_Vec_HHH_Intrinsic<string GCCIntSuffix> | |
: PowerPC_Vec_Intrinsic<GCCIntSuffix, | |
[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
/// PowerPC_Vec_WWW_Intrinsic - A PowerPC intrinsic that takes two v4i32 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_Vec_WWW_Intrinsic<string GCCIntSuffix> | |
: PowerPC_Vec_Intrinsic<GCCIntSuffix, | |
[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
/// PowerPC_Vec_DDD_Intrinsic - A PowerPC intrinsic that takes two v2i64 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_Vec_DDD_Intrinsic<string GCCIntSuffix> | |
: PowerPC_Vec_Intrinsic<GCCIntSuffix, | |
[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
/// PowerPC_Vec_QQQ_Intrinsic - A PowerPC intrinsic that takes two v1i128 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_Vec_QQQ_Intrinsic<string GCCIntSuffix> | |
: PowerPC_Vec_Intrinsic<GCCIntSuffix, | |
[llvm_v1i128_ty], [llvm_v1i128_ty, llvm_v1i128_ty], | |
[IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// PowerPC VSX Intrinsic Class Definitions. | |
// | |
/// PowerPC_VSX_Vec_DDD_Intrinsic - A PowerPC intrinsic that takes two v2f64 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_VSX_Vec_DDD_Intrinsic<string GCCIntSuffix> | |
: PowerPC_VSX_Intrinsic<GCCIntSuffix, | |
[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
/// PowerPC_VSX_Vec_FFF_Intrinsic - A PowerPC intrinsic that takes two v4f32 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_VSX_Vec_FFF_Intrinsic<string GCCIntSuffix> | |
: PowerPC_VSX_Intrinsic<GCCIntSuffix, | |
[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
/// PowerPC_VSX_Sca_DDD_Intrinsic - A PowerPC intrinsic that takes two f64 | |
/// scalars and returns one. These intrinsics have no side effects. | |
class PowerPC_VSX_Sca_DDD_Intrinsic<string GCCIntSuffix> | |
: PowerPC_VSX_Intrinsic<GCCIntSuffix, | |
[llvm_double_ty], [llvm_double_ty, llvm_double_ty], | |
[IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// PowerPC Altivec Intrinsic Definitions. | |
let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.". | |
// Data Stream Control. | |
def int_ppc_altivec_dss : GCCBuiltin<"__builtin_altivec_dss">, | |
Intrinsic<[], [llvm_i32_ty], []>; | |
def int_ppc_altivec_dssall : GCCBuiltin<"__builtin_altivec_dssall">, | |
Intrinsic<[], [], []>; | |
def int_ppc_altivec_dst : GCCBuiltin<"__builtin_altivec_dst">, | |
Intrinsic<[], | |
[llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty], | |
[]>; | |
def int_ppc_altivec_dstt : GCCBuiltin<"__builtin_altivec_dstt">, | |
Intrinsic<[], | |
[llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty], | |
[]>; | |
def int_ppc_altivec_dstst : GCCBuiltin<"__builtin_altivec_dstst">, | |
Intrinsic<[], | |
[llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty], | |
[]>; | |
def int_ppc_altivec_dststt : GCCBuiltin<"__builtin_altivec_dststt">, | |
Intrinsic<[], | |
[llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty], | |
[]>; | |
// VSCR access. | |
def int_ppc_altivec_mfvscr : GCCBuiltin<"__builtin_altivec_mfvscr">, | |
Intrinsic<[llvm_v8i16_ty], [], [IntrReadMem]>; | |
def int_ppc_altivec_mtvscr : GCCBuiltin<"__builtin_altivec_mtvscr">, | |
Intrinsic<[], [llvm_v4i32_ty], []>; | |
// Loads. These don't map directly to GCC builtins because they represent the | |
// source address with a single pointer. | |
def int_ppc_altivec_lvx : | |
Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_ppc_altivec_lvxl : | |
Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_ppc_altivec_lvebx : | |
Intrinsic<[llvm_v16i8_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_ppc_altivec_lvehx : | |
Intrinsic<[llvm_v8i16_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_ppc_altivec_lvewx : | |
Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
// Stores. These don't map directly to GCC builtins because they represent the | |
// source address with a single pointer. | |
def int_ppc_altivec_stvx : | |
Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty], | |
[IntrArgMemOnly]>; | |
def int_ppc_altivec_stvxl : | |
Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty], | |
[IntrArgMemOnly]>; | |
def int_ppc_altivec_stvebx : | |
Intrinsic<[], [llvm_v16i8_ty, llvm_ptr_ty], | |
[IntrArgMemOnly]>; | |
def int_ppc_altivec_stvehx : | |
Intrinsic<[], [llvm_v8i16_ty, llvm_ptr_ty], | |
[IntrArgMemOnly]>; | |
def int_ppc_altivec_stvewx : | |
Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty], | |
[IntrArgMemOnly]>; | |
// Comparisons setting a vector. | |
def int_ppc_altivec_vcmpbfp : GCCBuiltin<"__builtin_altivec_vcmpbfp">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpeqfp : GCCBuiltin<"__builtin_altivec_vcmpeqfp">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgefp : GCCBuiltin<"__builtin_altivec_vcmpgefp">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtfp : GCCBuiltin<"__builtin_altivec_vcmpgtfp">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpequd : GCCBuiltin<"__builtin_altivec_vcmpequd">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtsd : GCCBuiltin<"__builtin_altivec_vcmpgtsd">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtud : GCCBuiltin<"__builtin_altivec_vcmpgtud">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpequw : GCCBuiltin<"__builtin_altivec_vcmpequw">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtsw : GCCBuiltin<"__builtin_altivec_vcmpgtsw">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtuw : GCCBuiltin<"__builtin_altivec_vcmpgtuw">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpnew : GCCBuiltin<"__builtin_altivec_vcmpnew">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpnezw : GCCBuiltin<"__builtin_altivec_vcmpnezw">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpequh : GCCBuiltin<"__builtin_altivec_vcmpequh">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtsh : GCCBuiltin<"__builtin_altivec_vcmpgtsh">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtuh : GCCBuiltin<"__builtin_altivec_vcmpgtuh">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpneh : GCCBuiltin<"__builtin_altivec_vcmpneh">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpnezh : GCCBuiltin<"__builtin_altivec_vcmpnezh">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpequb : GCCBuiltin<"__builtin_altivec_vcmpequb">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtsb : GCCBuiltin<"__builtin_altivec_vcmpgtsb">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtub : GCCBuiltin<"__builtin_altivec_vcmpgtub">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpneb : GCCBuiltin<"__builtin_altivec_vcmpneb">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpnezb : GCCBuiltin<"__builtin_altivec_vcmpnezb">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
// Predicate Comparisons. The first operand specifies interpretation of CR6. | |
def int_ppc_altivec_vcmpbfp_p : GCCBuiltin<"__builtin_altivec_vcmpbfp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4f32_ty,llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpeqfp_p : GCCBuiltin<"__builtin_altivec_vcmpeqfp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4f32_ty,llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgefp_p : GCCBuiltin<"__builtin_altivec_vcmpgefp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4f32_ty,llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtfp_p : GCCBuiltin<"__builtin_altivec_vcmpgtfp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4f32_ty,llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpequd_p : GCCBuiltin<"__builtin_altivec_vcmpequd_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v2i64_ty,llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtsd_p : GCCBuiltin<"__builtin_altivec_vcmpgtsd_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v2i64_ty,llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtud_p : GCCBuiltin<"__builtin_altivec_vcmpgtud_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v2i64_ty,llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpequw_p : GCCBuiltin<"__builtin_altivec_vcmpequw_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4i32_ty,llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtsw_p : GCCBuiltin<"__builtin_altivec_vcmpgtsw_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4i32_ty,llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtuw_p : GCCBuiltin<"__builtin_altivec_vcmpgtuw_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4i32_ty,llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpnew_p : GCCBuiltin<"__builtin_altivec_vcmpnew_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4i32_ty,llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpnezw_p : GCCBuiltin<"__builtin_altivec_vcmpnezw_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4i32_ty,llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpequh_p : GCCBuiltin<"__builtin_altivec_vcmpequh_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v8i16_ty,llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtsh_p : GCCBuiltin<"__builtin_altivec_vcmpgtsh_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v8i16_ty,llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtuh_p : GCCBuiltin<"__builtin_altivec_vcmpgtuh_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v8i16_ty,llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpneh_p : GCCBuiltin<"__builtin_altivec_vcmpneh_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v8i16_ty,llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpnezh_p : GCCBuiltin<"__builtin_altivec_vcmpnezh_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v8i16_ty,llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpequb_p : GCCBuiltin<"__builtin_altivec_vcmpequb_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v16i8_ty,llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtsb_p : GCCBuiltin<"__builtin_altivec_vcmpgtsb_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v16i8_ty,llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpgtub_p : GCCBuiltin<"__builtin_altivec_vcmpgtub_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v16i8_ty,llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpneb_p : GCCBuiltin<"__builtin_altivec_vcmpneb_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v16i8_ty,llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcmpnezb_p : GCCBuiltin<"__builtin_altivec_vcmpnezb_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v16i8_ty,llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vclzlsbb : GCCBuiltin<"__builtin_altivec_vclzlsbb">, | |
Intrinsic<[llvm_i32_ty],[llvm_v16i8_ty],[IntrNoMem]>; | |
def int_ppc_altivec_vctzlsbb : GCCBuiltin<"__builtin_altivec_vctzlsbb">, | |
Intrinsic<[llvm_i32_ty],[llvm_v16i8_ty],[IntrNoMem]>; | |
def int_ppc_altivec_vprtybw : GCCBuiltin<"__builtin_altivec_vprtybw">, | |
Intrinsic<[llvm_v4i32_ty],[llvm_v4i32_ty],[IntrNoMem]>; | |
def int_ppc_altivec_vprtybd : GCCBuiltin<"__builtin_altivec_vprtybd">, | |
Intrinsic<[llvm_v2i64_ty],[llvm_v2i64_ty],[IntrNoMem]>; | |
def int_ppc_altivec_vprtybq : GCCBuiltin<"__builtin_altivec_vprtybq">, | |
Intrinsic<[llvm_v1i128_ty],[llvm_v1i128_ty],[IntrNoMem]>; | |
} | |
// Vector average. | |
def int_ppc_altivec_vavgsb : PowerPC_Vec_BBB_Intrinsic<"vavgsb">; | |
def int_ppc_altivec_vavgsh : PowerPC_Vec_HHH_Intrinsic<"vavgsh">; | |
def int_ppc_altivec_vavgsw : PowerPC_Vec_WWW_Intrinsic<"vavgsw">; | |
def int_ppc_altivec_vavgub : PowerPC_Vec_BBB_Intrinsic<"vavgub">; | |
def int_ppc_altivec_vavguh : PowerPC_Vec_HHH_Intrinsic<"vavguh">; | |
def int_ppc_altivec_vavguw : PowerPC_Vec_WWW_Intrinsic<"vavguw">; | |
// Vector maximum. | |
def int_ppc_altivec_vmaxfp : PowerPC_Vec_FFF_Intrinsic<"vmaxfp">; | |
def int_ppc_altivec_vmaxsb : PowerPC_Vec_BBB_Intrinsic<"vmaxsb">; | |
def int_ppc_altivec_vmaxsh : PowerPC_Vec_HHH_Intrinsic<"vmaxsh">; | |
def int_ppc_altivec_vmaxsw : PowerPC_Vec_WWW_Intrinsic<"vmaxsw">; | |
def int_ppc_altivec_vmaxsd : PowerPC_Vec_DDD_Intrinsic<"vmaxsd">; | |
def int_ppc_altivec_vmaxub : PowerPC_Vec_BBB_Intrinsic<"vmaxub">; | |
def int_ppc_altivec_vmaxuh : PowerPC_Vec_HHH_Intrinsic<"vmaxuh">; | |
def int_ppc_altivec_vmaxuw : PowerPC_Vec_WWW_Intrinsic<"vmaxuw">; | |
def int_ppc_altivec_vmaxud : PowerPC_Vec_DDD_Intrinsic<"vmaxud">; | |
// Vector minimum. | |
def int_ppc_altivec_vminfp : PowerPC_Vec_FFF_Intrinsic<"vminfp">; | |
def int_ppc_altivec_vminsb : PowerPC_Vec_BBB_Intrinsic<"vminsb">; | |
def int_ppc_altivec_vminsh : PowerPC_Vec_HHH_Intrinsic<"vminsh">; | |
def int_ppc_altivec_vminsw : PowerPC_Vec_WWW_Intrinsic<"vminsw">; | |
def int_ppc_altivec_vminsd : PowerPC_Vec_DDD_Intrinsic<"vminsd">; | |
def int_ppc_altivec_vminub : PowerPC_Vec_BBB_Intrinsic<"vminub">; | |
def int_ppc_altivec_vminuh : PowerPC_Vec_HHH_Intrinsic<"vminuh">; | |
def int_ppc_altivec_vminuw : PowerPC_Vec_WWW_Intrinsic<"vminuw">; | |
def int_ppc_altivec_vminud : PowerPC_Vec_DDD_Intrinsic<"vminud">; | |
// Saturating adds. | |
def int_ppc_altivec_vaddubs : PowerPC_Vec_BBB_Intrinsic<"vaddubs">; | |
def int_ppc_altivec_vaddsbs : PowerPC_Vec_BBB_Intrinsic<"vaddsbs">; | |
def int_ppc_altivec_vadduhs : PowerPC_Vec_HHH_Intrinsic<"vadduhs">; | |
def int_ppc_altivec_vaddshs : PowerPC_Vec_HHH_Intrinsic<"vaddshs">; | |
def int_ppc_altivec_vadduws : PowerPC_Vec_WWW_Intrinsic<"vadduws">; | |
def int_ppc_altivec_vaddsws : PowerPC_Vec_WWW_Intrinsic<"vaddsws">; | |
def int_ppc_altivec_vaddcuw : PowerPC_Vec_WWW_Intrinsic<"vaddcuw">; | |
def int_ppc_altivec_vaddcuq : PowerPC_Vec_QQQ_Intrinsic<"vaddcuq">; | |
// Saturating subs. | |
def int_ppc_altivec_vsububs : PowerPC_Vec_BBB_Intrinsic<"vsububs">; | |
def int_ppc_altivec_vsubsbs : PowerPC_Vec_BBB_Intrinsic<"vsubsbs">; | |
def int_ppc_altivec_vsubuhs : PowerPC_Vec_HHH_Intrinsic<"vsubuhs">; | |
def int_ppc_altivec_vsubshs : PowerPC_Vec_HHH_Intrinsic<"vsubshs">; | |
def int_ppc_altivec_vsubuws : PowerPC_Vec_WWW_Intrinsic<"vsubuws">; | |
def int_ppc_altivec_vsubsws : PowerPC_Vec_WWW_Intrinsic<"vsubsws">; | |
def int_ppc_altivec_vsubcuw : PowerPC_Vec_WWW_Intrinsic<"vsubcuw">; | |
def int_ppc_altivec_vsubcuq : PowerPC_Vec_QQQ_Intrinsic<"vsubcuq">; | |
let TargetPrefix = "ppc" in { // All PPC intrinsics start with "llvm.ppc.". | |
// Saturating multiply-adds. | |
def int_ppc_altivec_vmhaddshs : GCCBuiltin<"__builtin_altivec_vmhaddshs">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vmhraddshs : GCCBuiltin<"__builtin_altivec_vmhraddshs">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vmaddfp : GCCBuiltin<"__builtin_altivec_vmaddfp">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vnmsubfp : GCCBuiltin<"__builtin_altivec_vnmsubfp">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
// Vector Multiply Sum Intructions. | |
def int_ppc_altivec_vmsummbm : GCCBuiltin<"__builtin_altivec_vmsummbm">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v16i8_ty, llvm_v16i8_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vmsumshm : GCCBuiltin<"__builtin_altivec_vmsumshm">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vmsumshs : GCCBuiltin<"__builtin_altivec_vmsumshs">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vmsumubm : GCCBuiltin<"__builtin_altivec_vmsumubm">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v16i8_ty, llvm_v16i8_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vmsumuhm : GCCBuiltin<"__builtin_altivec_vmsumuhm">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vmsumuhs : GCCBuiltin<"__builtin_altivec_vmsumuhs">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
// Vector Multiply Intructions. | |
def int_ppc_altivec_vmulesb : GCCBuiltin<"__builtin_altivec_vmulesb">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmulesh : GCCBuiltin<"__builtin_altivec_vmulesh">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmulesw : GCCBuiltin<"__builtin_altivec_vmulesw">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmuleub : GCCBuiltin<"__builtin_altivec_vmuleub">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmuleuh : GCCBuiltin<"__builtin_altivec_vmuleuh">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmuleuw : GCCBuiltin<"__builtin_altivec_vmuleuw">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmulosb : GCCBuiltin<"__builtin_altivec_vmulosb">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmulosh : GCCBuiltin<"__builtin_altivec_vmulosh">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmulosw : GCCBuiltin<"__builtin_altivec_vmulosw">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmuloub : GCCBuiltin<"__builtin_altivec_vmuloub">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmulouh : GCCBuiltin<"__builtin_altivec_vmulouh">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vmulouw : GCCBuiltin<"__builtin_altivec_vmulouw">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
// Vector Sum Intructions. | |
def int_ppc_altivec_vsumsws : GCCBuiltin<"__builtin_altivec_vsumsws">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vsum2sws : GCCBuiltin<"__builtin_altivec_vsum2sws">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vsum4sbs : GCCBuiltin<"__builtin_altivec_vsum4sbs">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v16i8_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vsum4shs : GCCBuiltin<"__builtin_altivec_vsum4shs">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vsum4ubs : GCCBuiltin<"__builtin_altivec_vsum4ubs">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v16i8_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
// Other multiplies. | |
def int_ppc_altivec_vmladduhm : GCCBuiltin<"__builtin_altivec_vmladduhm">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
// Packs. | |
def int_ppc_altivec_vpkpx : GCCBuiltin<"__builtin_altivec_vpkpx">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vpkshss : GCCBuiltin<"__builtin_altivec_vpkshss">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vpkshus : GCCBuiltin<"__builtin_altivec_vpkshus">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vpkswss : GCCBuiltin<"__builtin_altivec_vpkswss">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vpkswus : GCCBuiltin<"__builtin_altivec_vpkswus">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vpksdss : GCCBuiltin<"__builtin_altivec_vpksdss">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vpksdus : GCCBuiltin<"__builtin_altivec_vpksdus">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
// vpkuhum is lowered to a shuffle. | |
def int_ppc_altivec_vpkuhus : GCCBuiltin<"__builtin_altivec_vpkuhus">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
// vpkuwum is lowered to a shuffle. | |
def int_ppc_altivec_vpkuwus : GCCBuiltin<"__builtin_altivec_vpkuwus">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
// vpkudum is lowered to a shuffle. | |
def int_ppc_altivec_vpkudus : GCCBuiltin<"__builtin_altivec_vpkudus">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
// Unpacks. | |
def int_ppc_altivec_vupkhpx : GCCBuiltin<"__builtin_altivec_vupkhpx">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vupkhsb : GCCBuiltin<"__builtin_altivec_vupkhsb">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vupkhsh : GCCBuiltin<"__builtin_altivec_vupkhsh">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vupkhsw : GCCBuiltin<"__builtin_altivec_vupkhsw">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vupklpx : GCCBuiltin<"__builtin_altivec_vupklpx">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vupklsb : GCCBuiltin<"__builtin_altivec_vupklsb">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vupklsh : GCCBuiltin<"__builtin_altivec_vupklsh">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vupklsw : GCCBuiltin<"__builtin_altivec_vupklsw">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
// FP <-> integer conversion. | |
def int_ppc_altivec_vcfsx : GCCBuiltin<"__builtin_altivec_vcfsx">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vcfux : GCCBuiltin<"__builtin_altivec_vcfux">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vctsxs : GCCBuiltin<"__builtin_altivec_vctsxs">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vctuxs : GCCBuiltin<"__builtin_altivec_vctuxs">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vrfim : GCCBuiltin<"__builtin_altivec_vrfim">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vrfin : GCCBuiltin<"__builtin_altivec_vrfin">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vrfip : GCCBuiltin<"__builtin_altivec_vrfip">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vrfiz : GCCBuiltin<"__builtin_altivec_vrfiz">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
// Add Extended Quadword | |
def int_ppc_altivec_vaddeuqm : GCCBuiltin<"__builtin_altivec_vaddeuqm">, | |
Intrinsic<[llvm_v1i128_ty], | |
[llvm_v1i128_ty, llvm_v1i128_ty, llvm_v1i128_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vaddecuq : GCCBuiltin<"__builtin_altivec_vaddecuq">, | |
Intrinsic<[llvm_v1i128_ty], | |
[llvm_v1i128_ty, llvm_v1i128_ty, llvm_v1i128_ty], | |
[IntrNoMem]>; | |
// Sub Extended Quadword | |
def int_ppc_altivec_vsubeuqm : GCCBuiltin<"__builtin_altivec_vsubeuqm">, | |
Intrinsic<[llvm_v1i128_ty], | |
[llvm_v1i128_ty, llvm_v1i128_ty, llvm_v1i128_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vsubecuq : GCCBuiltin<"__builtin_altivec_vsubecuq">, | |
Intrinsic<[llvm_v1i128_ty], | |
[llvm_v1i128_ty, llvm_v1i128_ty, llvm_v1i128_ty], | |
[IntrNoMem]>; | |
} | |
def int_ppc_altivec_vsl : PowerPC_Vec_WWW_Intrinsic<"vsl">; | |
def int_ppc_altivec_vslo : PowerPC_Vec_WWW_Intrinsic<"vslo">; | |
def int_ppc_altivec_vslb : PowerPC_Vec_BBB_Intrinsic<"vslb">; | |
def int_ppc_altivec_vslv : PowerPC_Vec_BBB_Intrinsic<"vslv">; | |
def int_ppc_altivec_vsrv : PowerPC_Vec_BBB_Intrinsic<"vsrv">; | |
def int_ppc_altivec_vslh : PowerPC_Vec_HHH_Intrinsic<"vslh">; | |
def int_ppc_altivec_vslw : PowerPC_Vec_WWW_Intrinsic<"vslw">; | |
// Right Shifts. | |
def int_ppc_altivec_vsr : PowerPC_Vec_WWW_Intrinsic<"vsr">; | |
def int_ppc_altivec_vsro : PowerPC_Vec_WWW_Intrinsic<"vsro">; | |
def int_ppc_altivec_vsrb : PowerPC_Vec_BBB_Intrinsic<"vsrb">; | |
def int_ppc_altivec_vsrh : PowerPC_Vec_HHH_Intrinsic<"vsrh">; | |
def int_ppc_altivec_vsrw : PowerPC_Vec_WWW_Intrinsic<"vsrw">; | |
def int_ppc_altivec_vsrab : PowerPC_Vec_BBB_Intrinsic<"vsrab">; | |
def int_ppc_altivec_vsrah : PowerPC_Vec_HHH_Intrinsic<"vsrah">; | |
def int_ppc_altivec_vsraw : PowerPC_Vec_WWW_Intrinsic<"vsraw">; | |
// Rotates. | |
def int_ppc_altivec_vrlb : PowerPC_Vec_BBB_Intrinsic<"vrlb">; | |
def int_ppc_altivec_vrlh : PowerPC_Vec_HHH_Intrinsic<"vrlh">; | |
def int_ppc_altivec_vrlw : PowerPC_Vec_WWW_Intrinsic<"vrlw">; | |
def int_ppc_altivec_vrld : PowerPC_Vec_DDD_Intrinsic<"vrld">; | |
let TargetPrefix = "ppc" in { // All PPC intrinsics start with "llvm.ppc.". | |
// Miscellaneous. | |
def int_ppc_altivec_lvsl : | |
Intrinsic<[llvm_v16i8_ty], [llvm_ptr_ty], [IntrNoMem]>; | |
def int_ppc_altivec_lvsr : | |
Intrinsic<[llvm_v16i8_ty], [llvm_ptr_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vperm : GCCBuiltin<"__builtin_altivec_vperm_4si">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vsel : GCCBuiltin<"__builtin_altivec_vsel_4si">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vgbbd : GCCBuiltin<"__builtin_altivec_vgbbd">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vbpermq : GCCBuiltin<"__builtin_altivec_vbpermq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
} | |
def int_ppc_altivec_vexptefp : PowerPC_Vec_FF_Intrinsic<"vexptefp">; | |
def int_ppc_altivec_vlogefp : PowerPC_Vec_FF_Intrinsic<"vlogefp">; | |
def int_ppc_altivec_vrefp : PowerPC_Vec_FF_Intrinsic<"vrefp">; | |
def int_ppc_altivec_vrsqrtefp : PowerPC_Vec_FF_Intrinsic<"vrsqrtefp">; | |
// Power8 Intrinsics | |
// Crypto | |
let TargetPrefix = "ppc" in { // All PPC intrinsics start with "llvm.ppc.". | |
def int_ppc_altivec_crypto_vsbox : | |
GCCBuiltin<"__builtin_altivec_crypto_vsbox">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; | |
def int_ppc_altivec_crypto_vpermxor : | |
GCCBuiltin<"__builtin_altivec_crypto_vpermxor">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_ppc_altivec_crypto_vshasigmad : | |
GCCBuiltin<"__builtin_altivec_crypto_vshasigmad">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_crypto_vshasigmaw : | |
GCCBuiltin<"__builtin_altivec_crypto_vshasigmaw">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
} | |
def int_ppc_altivec_crypto_vcipher : | |
PowerPC_Vec_DDD_Intrinsic<"crypto_vcipher">; | |
def int_ppc_altivec_crypto_vcipherlast : | |
PowerPC_Vec_DDD_Intrinsic<"crypto_vcipherlast">; | |
def int_ppc_altivec_crypto_vncipher : | |
PowerPC_Vec_DDD_Intrinsic<"crypto_vncipher">; | |
def int_ppc_altivec_crypto_vncipherlast : | |
PowerPC_Vec_DDD_Intrinsic<"crypto_vncipherlast">; | |
def int_ppc_altivec_crypto_vpmsumb : | |
PowerPC_Vec_BBB_Intrinsic<"crypto_vpmsumb">; | |
def int_ppc_altivec_crypto_vpmsumh : | |
PowerPC_Vec_HHH_Intrinsic<"crypto_vpmsumh">; | |
def int_ppc_altivec_crypto_vpmsumw : | |
PowerPC_Vec_WWW_Intrinsic<"crypto_vpmsumw">; | |
def int_ppc_altivec_crypto_vpmsumd : | |
PowerPC_Vec_DDD_Intrinsic<"crypto_vpmsumd">; | |
// Absolute Difference intrinsics | |
def int_ppc_altivec_vabsdub : PowerPC_Vec_BBB_Intrinsic<"vabsdub">; | |
def int_ppc_altivec_vabsduh : PowerPC_Vec_HHH_Intrinsic<"vabsduh">; | |
def int_ppc_altivec_vabsduw : PowerPC_Vec_WWW_Intrinsic<"vabsduw">; | |
// Vector rotates | |
def int_ppc_altivec_vrlwnm : | |
PowerPC_Vec_Intrinsic<"vrlwnm", [llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vrlwmi : | |
PowerPC_Vec_Intrinsic<"vrlwmi", [llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_altivec_vrldnm : | |
PowerPC_Vec_Intrinsic<"vrldnm", [llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
def int_ppc_altivec_vrldmi : | |
PowerPC_Vec_Intrinsic<"vrldmi", [llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
//===----------------------------------------------------------------------===// | |
// PowerPC VSX Intrinsic Definitions. | |
let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.". | |
// Vector load. | |
def int_ppc_vsx_lxvw4x : | |
Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_ppc_vsx_lxvd2x : | |
Intrinsic<[llvm_v2f64_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_ppc_vsx_lxvw4x_be : | |
Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_ppc_vsx_lxvd2x_be : | |
Intrinsic<[llvm_v2f64_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
def int_ppc_vsx_lxvl : | |
Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty, llvm_i64_ty], [IntrReadMem, | |
IntrArgMemOnly]>; | |
def int_ppc_vsx_lxvll : | |
Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty, llvm_i64_ty], [IntrReadMem, | |
IntrArgMemOnly]>; | |
def int_ppc_vsx_stxvl : | |
Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty, llvm_i64_ty], | |
[IntrArgMemOnly]>; | |
def int_ppc_vsx_stxvll : | |
Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty, llvm_i64_ty], | |
[IntrArgMemOnly]>; | |
// Vector store. | |
def int_ppc_vsx_stxvw4x : | |
Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty], [IntrArgMemOnly]>; | |
def int_ppc_vsx_stxvd2x : | |
Intrinsic<[], [llvm_v2f64_ty, llvm_ptr_ty], [IntrArgMemOnly]>; | |
def int_ppc_vsx_stxvw4x_be : | |
Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty], [IntrArgMemOnly]>; | |
def int_ppc_vsx_stxvd2x_be : | |
Intrinsic<[], [llvm_v2f64_ty, llvm_ptr_ty], [IntrArgMemOnly]>; | |
// Vector and scalar maximum. | |
def int_ppc_vsx_xvmaxdp : PowerPC_VSX_Vec_DDD_Intrinsic<"xvmaxdp">; | |
def int_ppc_vsx_xvmaxsp : PowerPC_VSX_Vec_FFF_Intrinsic<"xvmaxsp">; | |
def int_ppc_vsx_xsmaxdp : PowerPC_VSX_Sca_DDD_Intrinsic<"xsmaxdp">; | |
// Vector and scalar minimum. | |
def int_ppc_vsx_xvmindp : PowerPC_VSX_Vec_DDD_Intrinsic<"xvmindp">; | |
def int_ppc_vsx_xvminsp : PowerPC_VSX_Vec_FFF_Intrinsic<"xvminsp">; | |
def int_ppc_vsx_xsmindp : PowerPC_VSX_Sca_DDD_Intrinsic<"xsmindp">; | |
// Vector divide. | |
def int_ppc_vsx_xvdivdp : PowerPC_VSX_Vec_DDD_Intrinsic<"xvdivdp">; | |
def int_ppc_vsx_xvdivsp : PowerPC_VSX_Vec_FFF_Intrinsic<"xvdivsp">; | |
// Vector round-to-infinity (ceil) | |
def int_ppc_vsx_xvrspip : | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvrdpip : | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
// Vector reciprocal estimate | |
def int_ppc_vsx_xvresp : GCCBuiltin<"__builtin_vsx_xvresp">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvredp : GCCBuiltin<"__builtin_vsx_xvredp">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
// Vector rsqrte | |
def int_ppc_vsx_xvrsqrtesp : GCCBuiltin<"__builtin_vsx_xvrsqrtesp">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvrsqrtedp : GCCBuiltin<"__builtin_vsx_xvrsqrtedp">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
// Vector compare | |
def int_ppc_vsx_xvcmpeqdp : | |
PowerPC_VSX_Intrinsic<"xvcmpeqdp", [llvm_v2i64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcmpeqdp_p : GCCBuiltin<"__builtin_vsx_xvcmpeqdp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v2f64_ty,llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_ppc_vsx_xvcmpeqsp : | |
PowerPC_VSX_Intrinsic<"xvcmpeqsp", [llvm_v4i32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcmpeqsp_p : GCCBuiltin<"__builtin_vsx_xvcmpeqsp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4f32_ty,llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_vsx_xvcmpgedp : | |
PowerPC_VSX_Intrinsic<"xvcmpgedp", [llvm_v2i64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcmpgedp_p : GCCBuiltin<"__builtin_vsx_xvcmpgedp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v2f64_ty,llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_ppc_vsx_xvcmpgesp : | |
PowerPC_VSX_Intrinsic<"xvcmpgesp", [llvm_v4i32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcmpgesp_p : GCCBuiltin<"__builtin_vsx_xvcmpgesp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4f32_ty,llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_vsx_xvcmpgtdp : | |
PowerPC_VSX_Intrinsic<"xvcmpgtdp", [llvm_v2i64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcmpgtdp_p : GCCBuiltin<"__builtin_vsx_xvcmpgtdp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v2f64_ty,llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_ppc_vsx_xvcmpgtsp : | |
PowerPC_VSX_Intrinsic<"xvcmpgtsp", [llvm_v4i32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcmpgtsp_p : GCCBuiltin<"__builtin_vsx_xvcmpgtsp_p">, | |
Intrinsic<[llvm_i32_ty],[llvm_i32_ty,llvm_v4f32_ty,llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_ppc_vsx_xxleqv : | |
PowerPC_VSX_Intrinsic<"xxleqv", [llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xviexpdp : | |
PowerPC_VSX_Intrinsic<"xviexpdp",[llvm_v2f64_ty], | |
[llvm_v2i64_ty, llvm_v2i64_ty],[IntrNoMem]>; | |
def int_ppc_vsx_xviexpsp : | |
PowerPC_VSX_Intrinsic<"xviexpsp",[llvm_v4f32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty],[IntrNoMem]>; | |
def int_ppc_vsx_xvcvdpsxws : | |
PowerPC_VSX_Intrinsic<"xvcvdpsxws", [llvm_v4i32_ty], | |
[llvm_v2f64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcvdpuxws : | |
PowerPC_VSX_Intrinsic<"xvcvdpuxws", [llvm_v4i32_ty], | |
[llvm_v2f64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcvsxwdp : | |
PowerPC_VSX_Intrinsic<"xvcvsxwdp", [llvm_v2f64_ty], | |
[llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcvuxwdp : | |
PowerPC_VSX_Intrinsic<"xvcvuxwdp", [llvm_v2f64_ty], | |
[llvm_v4i32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcvspdp : | |
PowerPC_VSX_Intrinsic<"xvcvspdp", [llvm_v2f64_ty], | |
[llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcvsxdsp : | |
PowerPC_VSX_Intrinsic<"xvcvsxdsp", [llvm_v4f32_ty], | |
[llvm_v2i64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcvuxdsp : | |
PowerPC_VSX_Intrinsic<"xvcvuxdsp", [llvm_v4f32_ty], | |
[llvm_v2i64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcvdpsp : | |
PowerPC_VSX_Intrinsic<"xvcvdpsp", [llvm_v4f32_ty], | |
[llvm_v2f64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcvsphp : | |
PowerPC_VSX_Intrinsic<"xvcvsphp", [llvm_v4f32_ty], | |
[llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvxexpdp : | |
PowerPC_VSX_Intrinsic<"xvxexpdp", [llvm_v2i64_ty], | |
[llvm_v2f64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvxexpsp : | |
PowerPC_VSX_Intrinsic<"xvxexpsp", [llvm_v4i32_ty], | |
[llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvxsigdp : | |
PowerPC_VSX_Intrinsic<"xvxsigdp", [llvm_v2i64_ty], | |
[llvm_v2f64_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvxsigsp : | |
PowerPC_VSX_Intrinsic<"xvxsigsp", [llvm_v4i32_ty], | |
[llvm_v4f32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvtstdcdp : | |
PowerPC_VSX_Intrinsic<"xvtstdcdp", [llvm_v2i64_ty], | |
[llvm_v2f64_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvtstdcsp : | |
PowerPC_VSX_Intrinsic<"xvtstdcsp", [llvm_v4i32_ty], | |
[llvm_v4f32_ty,llvm_i32_ty], [IntrNoMem]>; | |
def int_ppc_vsx_xvcvhpsp : | |
PowerPC_VSX_Intrinsic<"xvcvhpsp", [llvm_v4f32_ty], | |
[llvm_v8i16_ty],[IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// PowerPC QPX Intrinsics. | |
// | |
let TargetPrefix = "ppc" in { // All PPC intrinsics start with "llvm.ppc.". | |
/// PowerPC_QPX_Intrinsic - Base class for all QPX intrinsics. | |
class PowerPC_QPX_Intrinsic<string GCCIntSuffix, list<LLVMType> ret_types, | |
list<LLVMType> param_types, | |
list<IntrinsicProperty> properties> | |
: GCCBuiltin<!strconcat("__builtin_qpx_", GCCIntSuffix)>, | |
Intrinsic<ret_types, param_types, properties>; | |
} | |
//===----------------------------------------------------------------------===// | |
// PowerPC QPX Intrinsic Class Definitions. | |
// | |
/// PowerPC_QPX_FF_Intrinsic - A PowerPC intrinsic that takes one v4f64 | |
/// vector and returns one. These intrinsics have no side effects. | |
class PowerPC_QPX_FF_Intrinsic<string GCCIntSuffix> | |
: PowerPC_QPX_Intrinsic<GCCIntSuffix, | |
[llvm_v4f64_ty], [llvm_v4f64_ty], [IntrNoMem]>; | |
/// PowerPC_QPX_FFF_Intrinsic - A PowerPC intrinsic that takes two v4f64 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_QPX_FFF_Intrinsic<string GCCIntSuffix> | |
: PowerPC_QPX_Intrinsic<GCCIntSuffix, | |
[llvm_v4f64_ty], [llvm_v4f64_ty, llvm_v4f64_ty], | |
[IntrNoMem]>; | |
/// PowerPC_QPX_FFFF_Intrinsic - A PowerPC intrinsic that takes three v4f64 | |
/// vectors and returns one. These intrinsics have no side effects. | |
class PowerPC_QPX_FFFF_Intrinsic<string GCCIntSuffix> | |
: PowerPC_QPX_Intrinsic<GCCIntSuffix, | |
[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty], | |
[IntrNoMem]>; | |
/// PowerPC_QPX_Load_Intrinsic - A PowerPC intrinsic that takes a pointer | |
/// and returns a v4f64. | |
class PowerPC_QPX_Load_Intrinsic<string GCCIntSuffix> | |
: PowerPC_QPX_Intrinsic<GCCIntSuffix, | |
[llvm_v4f64_ty], [llvm_ptr_ty], [IntrReadMem, IntrArgMemOnly]>; | |
/// PowerPC_QPX_LoadPerm_Intrinsic - A PowerPC intrinsic that takes a pointer | |
/// and returns a v4f64 permutation. | |
class PowerPC_QPX_LoadPerm_Intrinsic<string GCCIntSuffix> | |
: PowerPC_QPX_Intrinsic<GCCIntSuffix, | |
[llvm_v4f64_ty], [llvm_ptr_ty], [IntrNoMem]>; | |
/// PowerPC_QPX_Store_Intrinsic - A PowerPC intrinsic that takes a pointer | |
/// and stores a v4f64. | |
class PowerPC_QPX_Store_Intrinsic<string GCCIntSuffix> | |
: PowerPC_QPX_Intrinsic<GCCIntSuffix, | |
[], [llvm_v4f64_ty, llvm_ptr_ty], | |
[IntrArgMemOnly]>; | |
//===----------------------------------------------------------------------===// | |
// PowerPC QPX Intrinsic Definitions. | |
let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.". | |
// Add Instructions | |
def int_ppc_qpx_qvfadd : PowerPC_QPX_FFF_Intrinsic<"qvfadd">; | |
def int_ppc_qpx_qvfadds : PowerPC_QPX_FFF_Intrinsic<"qvfadds">; | |
def int_ppc_qpx_qvfsub : PowerPC_QPX_FFF_Intrinsic<"qvfsub">; | |
def int_ppc_qpx_qvfsubs : PowerPC_QPX_FFF_Intrinsic<"qvfsubs">; | |
// Estimate Instructions | |
def int_ppc_qpx_qvfre : PowerPC_QPX_FF_Intrinsic<"qvfre">; | |
def int_ppc_qpx_qvfres : PowerPC_QPX_FF_Intrinsic<"qvfres">; | |
def int_ppc_qpx_qvfrsqrte : PowerPC_QPX_FF_Intrinsic<"qvfrsqrte">; | |
def int_ppc_qpx_qvfrsqrtes : PowerPC_QPX_FF_Intrinsic<"qvfrsqrtes">; | |
// Multiply Instructions | |
def int_ppc_qpx_qvfmul : PowerPC_QPX_FFF_Intrinsic<"qvfmul">; | |
def int_ppc_qpx_qvfmuls : PowerPC_QPX_FFF_Intrinsic<"qvfmuls">; | |
def int_ppc_qpx_qvfxmul : PowerPC_QPX_FFF_Intrinsic<"qvfxmul">; | |
def int_ppc_qpx_qvfxmuls : PowerPC_QPX_FFF_Intrinsic<"qvfxmuls">; | |
// Multiply-add instructions | |
def int_ppc_qpx_qvfmadd : PowerPC_QPX_FFFF_Intrinsic<"qvfmadd">; | |
def int_ppc_qpx_qvfmadds : PowerPC_QPX_FFFF_Intrinsic<"qvfmadds">; | |
def int_ppc_qpx_qvfnmadd : PowerPC_QPX_FFFF_Intrinsic<"qvfnmadd">; | |
def int_ppc_qpx_qvfnmadds : PowerPC_QPX_FFFF_Intrinsic<"qvfnmadds">; | |
def int_ppc_qpx_qvfmsub : PowerPC_QPX_FFFF_Intrinsic<"qvfmsub">; | |
def int_ppc_qpx_qvfmsubs : PowerPC_QPX_FFFF_Intrinsic<"qvfmsubs">; | |
def int_ppc_qpx_qvfnmsub : PowerPC_QPX_FFFF_Intrinsic<"qvfnmsub">; | |
def int_ppc_qpx_qvfnmsubs : PowerPC_QPX_FFFF_Intrinsic<"qvfnmsubs">; | |
def int_ppc_qpx_qvfxmadd : PowerPC_QPX_FFFF_Intrinsic<"qvfxmadd">; | |
def int_ppc_qpx_qvfxmadds : PowerPC_QPX_FFFF_Intrinsic<"qvfxmadds">; | |
def int_ppc_qpx_qvfxxnpmadd : PowerPC_QPX_FFFF_Intrinsic<"qvfxxnpmadd">; | |
def int_ppc_qpx_qvfxxnpmadds : PowerPC_QPX_FFFF_Intrinsic<"qvfxxnpmadds">; | |
def int_ppc_qpx_qvfxxcpnmadd : PowerPC_QPX_FFFF_Intrinsic<"qvfxxcpnmadd">; | |
def int_ppc_qpx_qvfxxcpnmadds : PowerPC_QPX_FFFF_Intrinsic<"qvfxxcpnmadds">; | |
def int_ppc_qpx_qvfxxmadd : PowerPC_QPX_FFFF_Intrinsic<"qvfxxmadd">; | |
def int_ppc_qpx_qvfxxmadds : PowerPC_QPX_FFFF_Intrinsic<"qvfxxmadds">; | |
// Select Instruction | |
def int_ppc_qpx_qvfsel : PowerPC_QPX_FFFF_Intrinsic<"qvfsel">; | |
// Permute Instruction | |
def int_ppc_qpx_qvfperm : PowerPC_QPX_FFFF_Intrinsic<"qvfperm">; | |
// Convert and Round Instructions | |
def int_ppc_qpx_qvfctid : PowerPC_QPX_FF_Intrinsic<"qvfctid">; | |
def int_ppc_qpx_qvfctidu : PowerPC_QPX_FF_Intrinsic<"qvfctidu">; | |
def int_ppc_qpx_qvfctidz : PowerPC_QPX_FF_Intrinsic<"qvfctidz">; | |
def int_ppc_qpx_qvfctiduz : PowerPC_QPX_FF_Intrinsic<"qvfctiduz">; | |
def int_ppc_qpx_qvfctiw : PowerPC_QPX_FF_Intrinsic<"qvfctiw">; | |
def int_ppc_qpx_qvfctiwu : PowerPC_QPX_FF_Intrinsic<"qvfctiwu">; | |
def int_ppc_qpx_qvfctiwz : PowerPC_QPX_FF_Intrinsic<"qvfctiwz">; | |
def int_ppc_qpx_qvfctiwuz : PowerPC_QPX_FF_Intrinsic<"qvfctiwuz">; | |
def int_ppc_qpx_qvfcfid : PowerPC_QPX_FF_Intrinsic<"qvfcfid">; | |
def int_ppc_qpx_qvfcfidu : PowerPC_QPX_FF_Intrinsic<"qvfcfidu">; | |
def int_ppc_qpx_qvfcfids : PowerPC_QPX_FF_Intrinsic<"qvfcfids">; | |
def int_ppc_qpx_qvfcfidus : PowerPC_QPX_FF_Intrinsic<"qvfcfidus">; | |
def int_ppc_qpx_qvfrsp : PowerPC_QPX_FF_Intrinsic<"qvfrsp">; | |
def int_ppc_qpx_qvfriz : PowerPC_QPX_FF_Intrinsic<"qvfriz">; | |
def int_ppc_qpx_qvfrin : PowerPC_QPX_FF_Intrinsic<"qvfrin">; | |
def int_ppc_qpx_qvfrip : PowerPC_QPX_FF_Intrinsic<"qvfrip">; | |
def int_ppc_qpx_qvfrim : PowerPC_QPX_FF_Intrinsic<"qvfrim">; | |
// Move Instructions | |
def int_ppc_qpx_qvfneg : PowerPC_QPX_FF_Intrinsic<"qvfneg">; | |
def int_ppc_qpx_qvfabs : PowerPC_QPX_FF_Intrinsic<"qvfabs">; | |
def int_ppc_qpx_qvfnabs : PowerPC_QPX_FF_Intrinsic<"qvfnabs">; | |
def int_ppc_qpx_qvfcpsgn : PowerPC_QPX_FFF_Intrinsic<"qvfcpsgn">; | |
// Compare Instructions | |
def int_ppc_qpx_qvftstnan : PowerPC_QPX_FFF_Intrinsic<"qvftstnan">; | |
def int_ppc_qpx_qvfcmplt : PowerPC_QPX_FFF_Intrinsic<"qvfcmplt">; | |
def int_ppc_qpx_qvfcmpgt : PowerPC_QPX_FFF_Intrinsic<"qvfcmpgt">; | |
def int_ppc_qpx_qvfcmpeq : PowerPC_QPX_FFF_Intrinsic<"qvfcmpeq">; | |
// Load instructions | |
def int_ppc_qpx_qvlfd : PowerPC_QPX_Load_Intrinsic<"qvlfd">; | |
def int_ppc_qpx_qvlfda : PowerPC_QPX_Load_Intrinsic<"qvlfda">; | |
def int_ppc_qpx_qvlfs : PowerPC_QPX_Load_Intrinsic<"qvlfs">; | |
def int_ppc_qpx_qvlfsa : PowerPC_QPX_Load_Intrinsic<"qvlfsa">; | |
def int_ppc_qpx_qvlfcda : PowerPC_QPX_Load_Intrinsic<"qvlfcda">; | |
def int_ppc_qpx_qvlfcd : PowerPC_QPX_Load_Intrinsic<"qvlfcd">; | |
def int_ppc_qpx_qvlfcsa : PowerPC_QPX_Load_Intrinsic<"qvlfcsa">; | |
def int_ppc_qpx_qvlfcs : PowerPC_QPX_Load_Intrinsic<"qvlfcs">; | |
def int_ppc_qpx_qvlfiwaa : PowerPC_QPX_Load_Intrinsic<"qvlfiwaa">; | |
def int_ppc_qpx_qvlfiwa : PowerPC_QPX_Load_Intrinsic<"qvlfiwa">; | |
def int_ppc_qpx_qvlfiwza : PowerPC_QPX_Load_Intrinsic<"qvlfiwza">; | |
def int_ppc_qpx_qvlfiwz : PowerPC_QPX_Load_Intrinsic<"qvlfiwz">; | |
def int_ppc_qpx_qvlpcld : PowerPC_QPX_LoadPerm_Intrinsic<"qvlpcld">; | |
def int_ppc_qpx_qvlpcls : PowerPC_QPX_LoadPerm_Intrinsic<"qvlpcls">; | |
def int_ppc_qpx_qvlpcrd : PowerPC_QPX_LoadPerm_Intrinsic<"qvlpcrd">; | |
def int_ppc_qpx_qvlpcrs : PowerPC_QPX_LoadPerm_Intrinsic<"qvlpcrs">; | |
// Store instructions | |
def int_ppc_qpx_qvstfd : PowerPC_QPX_Store_Intrinsic<"qvstfd">; | |
def int_ppc_qpx_qvstfda : PowerPC_QPX_Store_Intrinsic<"qvstfda">; | |
def int_ppc_qpx_qvstfs : PowerPC_QPX_Store_Intrinsic<"qvstfs">; | |
def int_ppc_qpx_qvstfsa : PowerPC_QPX_Store_Intrinsic<"qvstfsa">; | |
def int_ppc_qpx_qvstfcda : PowerPC_QPX_Store_Intrinsic<"qvstfcda">; | |
def int_ppc_qpx_qvstfcd : PowerPC_QPX_Store_Intrinsic<"qvstfcd">; | |
def int_ppc_qpx_qvstfcsa : PowerPC_QPX_Store_Intrinsic<"qvstfcsa">; | |
def int_ppc_qpx_qvstfcs : PowerPC_QPX_Store_Intrinsic<"qvstfcs">; | |
def int_ppc_qpx_qvstfiwa : PowerPC_QPX_Store_Intrinsic<"qvstfiwa">; | |
def int_ppc_qpx_qvstfiw : PowerPC_QPX_Store_Intrinsic<"qvstfiw">; | |
// Logical and permutation formation | |
def int_ppc_qpx_qvflogical : PowerPC_QPX_Intrinsic<"qvflogical", | |
[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_ppc_qpx_qvgpci : PowerPC_QPX_Intrinsic<"qvgpci", | |
[llvm_v4f64_ty], [llvm_i32_ty], [IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// PowerPC HTM Intrinsic Definitions. | |
let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.". | |
def int_ppc_tbegin : GCCBuiltin<"__builtin_tbegin">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>; | |
def int_ppc_tend : GCCBuiltin<"__builtin_tend">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>; | |
def int_ppc_tabort : GCCBuiltin<"__builtin_tabort">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>; | |
def int_ppc_tabortwc : GCCBuiltin<"__builtin_tabortwc">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
def int_ppc_tabortwci : GCCBuiltin<"__builtin_tabortwci">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
def int_ppc_tabortdc : GCCBuiltin<"__builtin_tabortdc">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
def int_ppc_tabortdci : GCCBuiltin<"__builtin_tabortdci">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
def int_ppc_tcheck : GCCBuiltin<"__builtin_tcheck">, | |
Intrinsic<[llvm_i32_ty], [], []>; | |
def int_ppc_treclaim : GCCBuiltin<"__builtin_treclaim">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>; | |
def int_ppc_trechkpt : GCCBuiltin<"__builtin_trechkpt">, | |
Intrinsic<[llvm_i32_ty], [], []>; | |
def int_ppc_tsr : GCCBuiltin<"__builtin_tsr">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>; | |
def int_ppc_get_texasr : GCCBuiltin<"__builtin_get_texasr">, | |
Intrinsic<[llvm_i64_ty], [], []>; | |
def int_ppc_get_texasru : GCCBuiltin<"__builtin_get_texasru">, | |
Intrinsic<[llvm_i64_ty], [], []>; | |
def int_ppc_get_tfhar : GCCBuiltin<"__builtin_get_tfhar">, | |
Intrinsic<[llvm_i64_ty], [], []>; | |
def int_ppc_get_tfiar : GCCBuiltin<"__builtin_get_tfiar">, | |
Intrinsic<[llvm_i64_ty], [], []>; | |
def int_ppc_set_texasr : GCCBuiltin<"__builtin_set_texasr">, | |
Intrinsic<[], [llvm_i64_ty], []>; | |
def int_ppc_set_texasru : GCCBuiltin<"__builtin_set_texasru">, | |
Intrinsic<[], [llvm_i64_ty], []>; | |
def int_ppc_set_tfhar : GCCBuiltin<"__builtin_set_tfhar">, | |
Intrinsic<[], [llvm_i64_ty], []>; | |
def int_ppc_set_tfiar : GCCBuiltin<"__builtin_set_tfiar">, | |
Intrinsic<[], [llvm_i64_ty], []>; | |
// Extended mnemonics | |
def int_ppc_tendall : GCCBuiltin<"__builtin_tendall">, | |
Intrinsic<[llvm_i32_ty], [], []>; | |
def int_ppc_tresume : GCCBuiltin<"__builtin_tresume">, | |
Intrinsic<[llvm_i32_ty], [], []>; | |
def int_ppc_tsuspend : GCCBuiltin<"__builtin_tsuspend">, | |
Intrinsic<[llvm_i32_ty], [], []>; | |
def int_ppc_ttest : GCCBuiltin<"__builtin_ttest">, | |
Intrinsic<[llvm_i64_ty], [], []>; | |
} | |
//===- IntrinsicsSystemZ.td - Defines SystemZ intrinsics ---*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the SystemZ-specific intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
class SystemZUnaryConv<string name, LLVMType result, LLVMType arg> | |
: GCCBuiltin<"__builtin_s390_" ## name>, | |
Intrinsic<[result], [arg], [IntrNoMem]>; | |
class SystemZUnary<string name, LLVMType type> | |
: SystemZUnaryConv<name, type, type>; | |
class SystemZUnaryConvCC<LLVMType result, LLVMType arg> | |
: Intrinsic<[result, llvm_i32_ty], [arg], [IntrNoMem]>; | |
class SystemZUnaryCC<LLVMType type> | |
: SystemZUnaryConvCC<type, type>; | |
class SystemZBinaryConv<string name, LLVMType result, LLVMType arg> | |
: GCCBuiltin<"__builtin_s390_" ## name>, | |
Intrinsic<[result], [arg, arg], [IntrNoMem]>; | |
class SystemZBinary<string name, LLVMType type> | |
: SystemZBinaryConv<name, type, type>; | |
class SystemZBinaryInt<string name, LLVMType type> | |
: GCCBuiltin<"__builtin_s390_" ## name>, | |
Intrinsic<[type], [type, llvm_i32_ty], [IntrNoMem]>; | |
class SystemZBinaryConvCC<LLVMType result, LLVMType arg> | |
: Intrinsic<[result, llvm_i32_ty], [arg, arg], [IntrNoMem]>; | |
class SystemZBinaryConvIntCC<LLVMType result, LLVMType arg> | |
: Intrinsic<[result, llvm_i32_ty], [arg, llvm_i32_ty], [IntrNoMem]>; | |
class SystemZBinaryCC<LLVMType type> | |
: SystemZBinaryConvCC<type, type>; | |
class SystemZTernaryConv<string name, LLVMType result, LLVMType arg> | |
: GCCBuiltin<"__builtin_s390_" ## name>, | |
Intrinsic<[result], [arg, arg, result], [IntrNoMem]>; | |
class SystemZTernary<string name, LLVMType type> | |
: SystemZTernaryConv<name, type, type>; | |
class SystemZTernaryInt<string name, LLVMType type> | |
: GCCBuiltin<"__builtin_s390_" ## name>, | |
Intrinsic<[type], [type, type, llvm_i32_ty], [IntrNoMem]>; | |
class SystemZTernaryIntCC<LLVMType type> | |
: Intrinsic<[type, llvm_i32_ty], [type, type, llvm_i32_ty], [IntrNoMem]>; | |
class SystemZQuaternaryInt<string name, LLVMType type> | |
: GCCBuiltin<"__builtin_s390_" ## name>, | |
Intrinsic<[type], [type, type, type, llvm_i32_ty], [IntrNoMem]>; | |
class SystemZQuaternaryIntCC<LLVMType type> | |
: Intrinsic<[type, llvm_i32_ty], [type, type, type, llvm_i32_ty], | |
[IntrNoMem]>; | |
multiclass SystemZUnaryExtBHF<string name> { | |
def b : SystemZUnaryConv<name##"b", llvm_v8i16_ty, llvm_v16i8_ty>; | |
def h : SystemZUnaryConv<name##"h", llvm_v4i32_ty, llvm_v8i16_ty>; | |
def f : SystemZUnaryConv<name##"f", llvm_v2i64_ty, llvm_v4i32_ty>; | |
} | |
multiclass SystemZUnaryExtBHWF<string name> { | |
def b : SystemZUnaryConv<name##"b", llvm_v8i16_ty, llvm_v16i8_ty>; | |
def hw : SystemZUnaryConv<name##"hw", llvm_v4i32_ty, llvm_v8i16_ty>; | |
def f : SystemZUnaryConv<name##"f", llvm_v2i64_ty, llvm_v4i32_ty>; | |
} | |
multiclass SystemZUnaryBHF<string name> { | |
def b : SystemZUnary<name##"b", llvm_v16i8_ty>; | |
def h : SystemZUnary<name##"h", llvm_v8i16_ty>; | |
def f : SystemZUnary<name##"f", llvm_v4i32_ty>; | |
} | |
multiclass SystemZUnaryBHFG<string name> : SystemZUnaryBHF<name> { | |
def g : SystemZUnary<name##"g", llvm_v2i64_ty>; | |
} | |
multiclass SystemZUnaryCCBHF { | |
def bs : SystemZUnaryCC<llvm_v16i8_ty>; | |
def hs : SystemZUnaryCC<llvm_v8i16_ty>; | |
def fs : SystemZUnaryCC<llvm_v4i32_ty>; | |
} | |
multiclass SystemZBinaryTruncHFG<string name> { | |
def h : SystemZBinaryConv<name##"h", llvm_v16i8_ty, llvm_v8i16_ty>; | |
def f : SystemZBinaryConv<name##"f", llvm_v8i16_ty, llvm_v4i32_ty>; | |
def g : SystemZBinaryConv<name##"g", llvm_v4i32_ty, llvm_v2i64_ty>; | |
} | |
multiclass SystemZBinaryTruncCCHFG { | |
def hs : SystemZBinaryConvCC<llvm_v16i8_ty, llvm_v8i16_ty>; | |
def fs : SystemZBinaryConvCC<llvm_v8i16_ty, llvm_v4i32_ty>; | |
def gs : SystemZBinaryConvCC<llvm_v4i32_ty, llvm_v2i64_ty>; | |
} | |
multiclass SystemZBinaryExtBHF<string name> { | |
def b : SystemZBinaryConv<name##"b", llvm_v8i16_ty, llvm_v16i8_ty>; | |
def h : SystemZBinaryConv<name##"h", llvm_v4i32_ty, llvm_v8i16_ty>; | |
def f : SystemZBinaryConv<name##"f", llvm_v2i64_ty, llvm_v4i32_ty>; | |
} | |
multiclass SystemZBinaryExtBHFG<string name> : SystemZBinaryExtBHF<name> { | |
def g : SystemZBinaryConv<name##"g", llvm_v16i8_ty, llvm_v2i64_ty>; | |
} | |
multiclass SystemZBinaryBHF<string name> { | |
def b : SystemZBinary<name##"b", llvm_v16i8_ty>; | |
def h : SystemZBinary<name##"h", llvm_v8i16_ty>; | |
def f : SystemZBinary<name##"f", llvm_v4i32_ty>; | |
} | |
multiclass SystemZBinaryBHFG<string name> : SystemZBinaryBHF<name> { | |
def g : SystemZBinary<name##"g", llvm_v2i64_ty>; | |
} | |
multiclass SystemZBinaryIntBHFG<string name> { | |
def b : SystemZBinaryInt<name##"b", llvm_v16i8_ty>; | |
def h : SystemZBinaryInt<name##"h", llvm_v8i16_ty>; | |
def f : SystemZBinaryInt<name##"f", llvm_v4i32_ty>; | |
def g : SystemZBinaryInt<name##"g", llvm_v2i64_ty>; | |
} | |
multiclass SystemZBinaryCCBHF { | |
def bs : SystemZBinaryCC<llvm_v16i8_ty>; | |
def hs : SystemZBinaryCC<llvm_v8i16_ty>; | |
def fs : SystemZBinaryCC<llvm_v4i32_ty>; | |
} | |
multiclass SystemZCompareBHFG<string name> { | |
def bs : SystemZBinaryCC<llvm_v16i8_ty>; | |
def hs : SystemZBinaryCC<llvm_v8i16_ty>; | |
def fs : SystemZBinaryCC<llvm_v4i32_ty>; | |
def gs : SystemZBinaryCC<llvm_v2i64_ty>; | |
} | |
multiclass SystemZTernaryExtBHF<string name> { | |
def b : SystemZTernaryConv<name##"b", llvm_v8i16_ty, llvm_v16i8_ty>; | |
def h : SystemZTernaryConv<name##"h", llvm_v4i32_ty, llvm_v8i16_ty>; | |
def f : SystemZTernaryConv<name##"f", llvm_v2i64_ty, llvm_v4i32_ty>; | |
} | |
multiclass SystemZTernaryExtBHFG<string name> : SystemZTernaryExtBHF<name> { | |
def g : SystemZTernaryConv<name##"g", llvm_v16i8_ty, llvm_v2i64_ty>; | |
} | |
multiclass SystemZTernaryBHF<string name> { | |
def b : SystemZTernary<name##"b", llvm_v16i8_ty>; | |
def h : SystemZTernary<name##"h", llvm_v8i16_ty>; | |
def f : SystemZTernary<name##"f", llvm_v4i32_ty>; | |
} | |
multiclass SystemZTernaryIntBHF<string name> { | |
def b : SystemZTernaryInt<name##"b", llvm_v16i8_ty>; | |
def h : SystemZTernaryInt<name##"h", llvm_v8i16_ty>; | |
def f : SystemZTernaryInt<name##"f", llvm_v4i32_ty>; | |
} | |
multiclass SystemZTernaryIntCCBHF { | |
def bs : SystemZTernaryIntCC<llvm_v16i8_ty>; | |
def hs : SystemZTernaryIntCC<llvm_v8i16_ty>; | |
def fs : SystemZTernaryIntCC<llvm_v4i32_ty>; | |
} | |
multiclass SystemZQuaternaryIntBHF<string name> { | |
def b : SystemZQuaternaryInt<name##"b", llvm_v16i8_ty>; | |
def h : SystemZQuaternaryInt<name##"h", llvm_v8i16_ty>; | |
def f : SystemZQuaternaryInt<name##"f", llvm_v4i32_ty>; | |
} | |
multiclass SystemZQuaternaryIntBHFG<string name> : SystemZQuaternaryIntBHF<name> { | |
def g : SystemZQuaternaryInt<name##"g", llvm_v2i64_ty>; | |
} | |
multiclass SystemZQuaternaryIntCCBHF { | |
def bs : SystemZQuaternaryIntCC<llvm_v16i8_ty>; | |
def hs : SystemZQuaternaryIntCC<llvm_v8i16_ty>; | |
def fs : SystemZQuaternaryIntCC<llvm_v4i32_ty>; | |
} | |
//===----------------------------------------------------------------------===// | |
// | |
// Transactional-execution intrinsics | |
// | |
//===----------------------------------------------------------------------===// | |
let TargetPrefix = "s390" in { | |
def int_s390_tbegin : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_i32_ty], | |
[IntrNoDuplicate]>; | |
def int_s390_tbegin_nofloat : Intrinsic<[llvm_i32_ty], | |
[llvm_ptr_ty, llvm_i32_ty], | |
[IntrNoDuplicate]>; | |
def int_s390_tbeginc : Intrinsic<[], [llvm_ptr_ty, llvm_i32_ty], | |
[IntrNoDuplicate]>; | |
def int_s390_tabort : Intrinsic<[], [llvm_i64_ty], | |
[IntrNoReturn, Throws]>; | |
def int_s390_tend : GCCBuiltin<"__builtin_tend">, | |
Intrinsic<[llvm_i32_ty], []>; | |
def int_s390_etnd : GCCBuiltin<"__builtin_tx_nesting_depth">, | |
Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>; | |
def int_s390_ntstg : Intrinsic<[], [llvm_i64_ty, llvm_ptr64_ty], | |
[IntrArgMemOnly]>; | |
def int_s390_ppa_txassist : GCCBuiltin<"__builtin_tx_assist">, | |
Intrinsic<[], [llvm_i32_ty]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// | |
// Vector intrinsics | |
// | |
//===----------------------------------------------------------------------===// | |
let TargetPrefix = "s390" in { | |
def int_s390_lcbb : GCCBuiltin<"__builtin_s390_lcbb">, | |
Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_s390_vlbb : GCCBuiltin<"__builtin_s390_vlbb">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_ptr_ty, llvm_i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_s390_vll : GCCBuiltin<"__builtin_s390_vll">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_i32_ty, llvm_ptr_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_s390_vpdi : GCCBuiltin<"__builtin_s390_vpdi">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_v2i64_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_s390_vperm : GCCBuiltin<"__builtin_s390_vperm">, | |
Intrinsic<[llvm_v16i8_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
defm int_s390_vpks : SystemZBinaryTruncHFG<"vpks">; | |
defm int_s390_vpks : SystemZBinaryTruncCCHFG; | |
defm int_s390_vpkls : SystemZBinaryTruncHFG<"vpkls">; | |
defm int_s390_vpkls : SystemZBinaryTruncCCHFG; | |
def int_s390_vstl : GCCBuiltin<"__builtin_s390_vstl">, | |
Intrinsic<[], [llvm_v16i8_ty, llvm_i32_ty, llvm_ptr_ty], | |
// In fact write-only but there's no property | |
// for that. | |
[IntrArgMemOnly]>; | |
defm int_s390_vupl : SystemZUnaryExtBHWF<"vupl">; | |
defm int_s390_vupll : SystemZUnaryExtBHF<"vupll">; | |
defm int_s390_vuph : SystemZUnaryExtBHF<"vuph">; | |
defm int_s390_vuplh : SystemZUnaryExtBHF<"vuplh">; | |
defm int_s390_vacc : SystemZBinaryBHFG<"vacc">; | |
def int_s390_vaq : SystemZBinary<"vaq", llvm_v16i8_ty>; | |
def int_s390_vacq : SystemZTernary<"vacq", llvm_v16i8_ty>; | |
def int_s390_vaccq : SystemZBinary<"vaccq", llvm_v16i8_ty>; | |
def int_s390_vacccq : SystemZTernary<"vacccq", llvm_v16i8_ty>; | |
defm int_s390_vavg : SystemZBinaryBHFG<"vavg">; | |
defm int_s390_vavgl : SystemZBinaryBHFG<"vavgl">; | |
def int_s390_vcksm : SystemZBinary<"vcksm", llvm_v4i32_ty>; | |
defm int_s390_vgfm : SystemZBinaryExtBHFG<"vgfm">; | |
defm int_s390_vgfma : SystemZTernaryExtBHFG<"vgfma">; | |
defm int_s390_vmah : SystemZTernaryBHF<"vmah">; | |
defm int_s390_vmalh : SystemZTernaryBHF<"vmalh">; | |
defm int_s390_vmae : SystemZTernaryExtBHF<"vmae">; | |
defm int_s390_vmale : SystemZTernaryExtBHF<"vmale">; | |
defm int_s390_vmao : SystemZTernaryExtBHF<"vmao">; | |
defm int_s390_vmalo : SystemZTernaryExtBHF<"vmalo">; | |
defm int_s390_vmh : SystemZBinaryBHF<"vmh">; | |
defm int_s390_vmlh : SystemZBinaryBHF<"vmlh">; | |
defm int_s390_vme : SystemZBinaryExtBHF<"vme">; | |
defm int_s390_vmle : SystemZBinaryExtBHF<"vmle">; | |
defm int_s390_vmo : SystemZBinaryExtBHF<"vmo">; | |
defm int_s390_vmlo : SystemZBinaryExtBHF<"vmlo">; | |
defm int_s390_verllv : SystemZBinaryBHFG<"verllv">; | |
defm int_s390_verll : SystemZBinaryIntBHFG<"verll">; | |
defm int_s390_verim : SystemZQuaternaryIntBHFG<"verim">; | |
def int_s390_vsl : SystemZBinary<"vsl", llvm_v16i8_ty>; | |
def int_s390_vslb : SystemZBinary<"vslb", llvm_v16i8_ty>; | |
def int_s390_vsra : SystemZBinary<"vsra", llvm_v16i8_ty>; | |
def int_s390_vsrab : SystemZBinary<"vsrab", llvm_v16i8_ty>; | |
def int_s390_vsrl : SystemZBinary<"vsrl", llvm_v16i8_ty>; | |
def int_s390_vsrlb : SystemZBinary<"vsrlb", llvm_v16i8_ty>; | |
def int_s390_vsldb : GCCBuiltin<"__builtin_s390_vsldb">, | |
Intrinsic<[llvm_v16i8_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
defm int_s390_vscbi : SystemZBinaryBHFG<"vscbi">; | |
def int_s390_vsq : SystemZBinary<"vsq", llvm_v16i8_ty>; | |
def int_s390_vsbiq : SystemZTernary<"vsbiq", llvm_v16i8_ty>; | |
def int_s390_vscbiq : SystemZBinary<"vscbiq", llvm_v16i8_ty>; | |
def int_s390_vsbcbiq : SystemZTernary<"vsbcbiq", llvm_v16i8_ty>; | |
def int_s390_vsumb : SystemZBinaryConv<"vsumb", llvm_v4i32_ty, llvm_v16i8_ty>; | |
def int_s390_vsumh : SystemZBinaryConv<"vsumh", llvm_v4i32_ty, llvm_v8i16_ty>; | |
def int_s390_vsumgh : SystemZBinaryConv<"vsumgh", llvm_v2i64_ty, | |
llvm_v8i16_ty>; | |
def int_s390_vsumgf : SystemZBinaryConv<"vsumgf", llvm_v2i64_ty, | |
llvm_v4i32_ty>; | |
def int_s390_vsumqf : SystemZBinaryConv<"vsumqf", llvm_v16i8_ty, | |
llvm_v4i32_ty>; | |
def int_s390_vsumqg : SystemZBinaryConv<"vsumqg", llvm_v16i8_ty, | |
llvm_v2i64_ty>; | |
def int_s390_vtm : SystemZBinaryConv<"vtm", llvm_i32_ty, llvm_v16i8_ty>; | |
defm int_s390_vceq : SystemZCompareBHFG<"vceq">; | |
defm int_s390_vch : SystemZCompareBHFG<"vch">; | |
defm int_s390_vchl : SystemZCompareBHFG<"vchl">; | |
defm int_s390_vfae : SystemZTernaryIntBHF<"vfae">; | |
defm int_s390_vfae : SystemZTernaryIntCCBHF; | |
defm int_s390_vfaez : SystemZTernaryIntBHF<"vfaez">; | |
defm int_s390_vfaez : SystemZTernaryIntCCBHF; | |
defm int_s390_vfee : SystemZBinaryBHF<"vfee">; | |
defm int_s390_vfee : SystemZBinaryCCBHF; | |
defm int_s390_vfeez : SystemZBinaryBHF<"vfeez">; | |
defm int_s390_vfeez : SystemZBinaryCCBHF; | |
defm int_s390_vfene : SystemZBinaryBHF<"vfene">; | |
defm int_s390_vfene : SystemZBinaryCCBHF; | |
defm int_s390_vfenez : SystemZBinaryBHF<"vfenez">; | |
defm int_s390_vfenez : SystemZBinaryCCBHF; | |
defm int_s390_vistr : SystemZUnaryBHF<"vistr">; | |
defm int_s390_vistr : SystemZUnaryCCBHF; | |
defm int_s390_vstrc : SystemZQuaternaryIntBHF<"vstrc">; | |
defm int_s390_vstrc : SystemZQuaternaryIntCCBHF; | |
defm int_s390_vstrcz : SystemZQuaternaryIntBHF<"vstrcz">; | |
defm int_s390_vstrcz : SystemZQuaternaryIntCCBHF; | |
def int_s390_vfcedbs : SystemZBinaryConvCC<llvm_v2i64_ty, llvm_v2f64_ty>; | |
def int_s390_vfchdbs : SystemZBinaryConvCC<llvm_v2i64_ty, llvm_v2f64_ty>; | |
def int_s390_vfchedbs : SystemZBinaryConvCC<llvm_v2i64_ty, llvm_v2f64_ty>; | |
def int_s390_vftcidb : SystemZBinaryConvIntCC<llvm_v2i64_ty, llvm_v2f64_ty>; | |
def int_s390_vfidb : Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// | |
// Misc intrinsics | |
// | |
//===----------------------------------------------------------------------===// | |
let TargetPrefix = "s390" in { | |
def int_s390_tdc : Intrinsic<[llvm_i32_ty], [llvm_anyfloat_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
} | |
//===- Intrinsics.td - Defines all LLVM intrinsics ---------*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines properties of all LLVM intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
include "llvm/CodeGen/ValueTypes.td" | |
//===----------------------------------------------------------------------===// | |
// Properties we keep track of for intrinsics. | |
//===----------------------------------------------------------------------===// | |
class IntrinsicProperty; | |
// Intr*Mem - Memory properties. If no property is set, the worst case | |
// is assumed (it may read and write any memory it can get access to and it may | |
// have other side effects). | |
// IntrNoMem - The intrinsic does not access memory or have any other side | |
// effects. It may be CSE'd deleted if dead, etc. | |
def IntrNoMem : IntrinsicProperty; | |
// IntrReadMem - This intrinsic only reads from memory. It does not write to | |
// memory and has no other side effects. Therefore, it cannot be moved across | |
// potentially aliasing stores. However, it can be reordered otherwise and can | |
// be deleted if dead. | |
def IntrReadMem : IntrinsicProperty; | |
// IntrWriteMem - This intrinsic only writes to memory, but does not read from | |
// memory, and has no other side effects. This means dead stores before calls | |
// to this intrinsics may be removed. | |
def IntrWriteMem : IntrinsicProperty; | |
// IntrArgMemOnly - This intrinsic only accesses memory that its pointer-typed | |
// argument(s) points to, but may access an unspecified amount. Other than | |
// reads from and (possibly volatile) writes to memory, it has no side effects. | |
def IntrArgMemOnly : IntrinsicProperty; | |
// IntrInaccessibleMemOnly -- This intrinsic only accesses memory that is not | |
// accessible by the module being compiled. This is a weaker form of IntrNoMem. | |
def IntrInaccessibleMemOnly : IntrinsicProperty; | |
// IntrInaccessibleMemOrArgMemOnly -- This intrinsic only accesses memory that | |
// its pointer-typed arguments point to or memory that is not accessible | |
// by the module being compiled. This is a weaker form of IntrArgMemOnly. | |
def IntrInaccessibleMemOrArgMemOnly : IntrinsicProperty; | |
// Commutative - This intrinsic is commutative: X op Y == Y op X. | |
def Commutative : IntrinsicProperty; | |
// Throws - This intrinsic can throw. | |
def Throws : IntrinsicProperty; | |
// NoCapture - The specified argument pointer is not captured by the intrinsic. | |
class NoCapture<int argNo> : IntrinsicProperty { | |
int ArgNo = argNo; | |
} | |
// Returned - The specified argument is always the return value of the | |
// intrinsic. | |
class Returned<int argNo> : IntrinsicProperty { | |
int ArgNo = argNo; | |
} | |
// ReadOnly - The specified argument pointer is not written to through the | |
// pointer by the intrinsic. | |
class ReadOnly<int argNo> : IntrinsicProperty { | |
int ArgNo = argNo; | |
} | |
// WriteOnly - The intrinsic does not read memory through the specified | |
// argument pointer. | |
class WriteOnly<int argNo> : IntrinsicProperty { | |
int ArgNo = argNo; | |
} | |
// ReadNone - The specified argument pointer is not dereferenced by the | |
// intrinsic. | |
class ReadNone<int argNo> : IntrinsicProperty { | |
int ArgNo = argNo; | |
} | |
def IntrNoReturn : IntrinsicProperty; | |
// IntrNoduplicate - Calls to this intrinsic cannot be duplicated. | |
// Parallels the noduplicate attribute on LLVM IR functions. | |
def IntrNoDuplicate : IntrinsicProperty; | |
// IntrConvergent - Calls to this intrinsic are convergent and may not be made | |
// control-dependent on any additional values. | |
// Parallels the convergent attribute on LLVM IR functions. | |
def IntrConvergent : IntrinsicProperty; | |
//===----------------------------------------------------------------------===// | |
// Types used by intrinsics. | |
//===----------------------------------------------------------------------===// | |
class LLVMType<ValueType vt> { | |
ValueType VT = vt; | |
} | |
class LLVMQualPointerType<LLVMType elty, int addrspace> | |
: LLVMType<iPTR>{ | |
LLVMType ElTy = elty; | |
int AddrSpace = addrspace; | |
} | |
class LLVMPointerType<LLVMType elty> | |
: LLVMQualPointerType<elty, 0>; | |
class LLVMAnyPointerType<LLVMType elty> | |
: LLVMType<iPTRAny>{ | |
LLVMType ElTy = elty; | |
} | |
// Match the type of another intrinsic parameter. Number is an index into the | |
// list of overloaded types for the intrinsic, excluding all the fixed types. | |
// The Number value must refer to a previously listed type. For example: | |
// Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_anyfloat_ty, LLVMMatchType<0>]> | |
// has two overloaded types, the 2nd and 3rd arguments. LLVMMatchType<0> | |
// refers to the first overloaded type, which is the 2nd argument. | |
class LLVMMatchType<int num> | |
: LLVMType<OtherVT>{ | |
int Number = num; | |
} | |
// Match the type of another intrinsic parameter that is expected to be based on | |
// an integral type (i.e. either iN or <N x iM>), but change the scalar size to | |
// be twice as wide or half as wide as the other type. This is only useful when | |
// the intrinsic is overloaded, so the matched type should be declared as iAny. | |
class LLVMExtendedType<int num> : LLVMMatchType<num>; | |
class LLVMTruncatedType<int num> : LLVMMatchType<num>; | |
class LLVMVectorSameWidth<int num, LLVMType elty> | |
: LLVMMatchType<num> { | |
ValueType ElTy = elty.VT; | |
} | |
class LLVMPointerTo<int num> : LLVMMatchType<num>; | |
class LLVMPointerToElt<int num> : LLVMMatchType<num>; | |
class LLVMVectorOfPointersToElt<int num> : LLVMMatchType<num>; | |
// Match the type of another intrinsic parameter that is expected to be a | |
// vector type, but change the element count to be half as many | |
class LLVMHalfElementsVectorType<int num> : LLVMMatchType<num>; | |
def llvm_void_ty : LLVMType<isVoid>; | |
def llvm_any_ty : LLVMType<Any>; | |
def llvm_anyint_ty : LLVMType<iAny>; | |
def llvm_anyfloat_ty : LLVMType<fAny>; | |
def llvm_anyvector_ty : LLVMType<vAny>; | |
def llvm_i1_ty : LLVMType<i1>; | |
def llvm_i8_ty : LLVMType<i8>; | |
def llvm_i16_ty : LLVMType<i16>; | |
def llvm_i32_ty : LLVMType<i32>; | |
def llvm_i64_ty : LLVMType<i64>; | |
def llvm_half_ty : LLVMType<f16>; | |
def llvm_float_ty : LLVMType<f32>; | |
def llvm_double_ty : LLVMType<f64>; | |
def llvm_f80_ty : LLVMType<f80>; | |
def llvm_f128_ty : LLVMType<f128>; | |
def llvm_ppcf128_ty : LLVMType<ppcf128>; | |
def llvm_ptr_ty : LLVMPointerType<llvm_i8_ty>; // i8* | |
def llvm_ptrptr_ty : LLVMPointerType<llvm_ptr_ty>; // i8** | |
def llvm_anyptr_ty : LLVMAnyPointerType<llvm_i8_ty>; // (space)i8* | |
def llvm_empty_ty : LLVMType<OtherVT>; // { } | |
def llvm_descriptor_ty : LLVMPointerType<llvm_empty_ty>; // { }* | |
def llvm_metadata_ty : LLVMType<MetadataVT>; // !{...} | |
def llvm_token_ty : LLVMType<token>; // token | |
def llvm_x86mmx_ty : LLVMType<x86mmx>; | |
def llvm_ptrx86mmx_ty : LLVMPointerType<llvm_x86mmx_ty>; // <1 x i64>* | |
def llvm_v2i1_ty : LLVMType<v2i1>; // 2 x i1 | |
def llvm_v4i1_ty : LLVMType<v4i1>; // 4 x i1 | |
def llvm_v8i1_ty : LLVMType<v8i1>; // 8 x i1 | |
def llvm_v16i1_ty : LLVMType<v16i1>; // 16 x i1 | |
def llvm_v32i1_ty : LLVMType<v32i1>; // 32 x i1 | |
def llvm_v64i1_ty : LLVMType<v64i1>; // 64 x i1 | |
def llvm_v512i1_ty : LLVMType<v512i1>; // 512 x i1 | |
def llvm_v1024i1_ty : LLVMType<v1024i1>; //1024 x i1 | |
def llvm_v1i8_ty : LLVMType<v1i8>; // 1 x i8 | |
def llvm_v2i8_ty : LLVMType<v2i8>; // 2 x i8 | |
def llvm_v4i8_ty : LLVMType<v4i8>; // 4 x i8 | |
def llvm_v8i8_ty : LLVMType<v8i8>; // 8 x i8 | |
def llvm_v16i8_ty : LLVMType<v16i8>; // 16 x i8 | |
def llvm_v32i8_ty : LLVMType<v32i8>; // 32 x i8 | |
def llvm_v64i8_ty : LLVMType<v64i8>; // 64 x i8 | |
def llvm_v128i8_ty : LLVMType<v128i8>; //128 x i8 | |
def llvm_v256i8_ty : LLVMType<v256i8>; //256 x i8 | |
def llvm_v1i16_ty : LLVMType<v1i16>; // 1 x i16 | |
def llvm_v2i16_ty : LLVMType<v2i16>; // 2 x i16 | |
def llvm_v4i16_ty : LLVMType<v4i16>; // 4 x i16 | |
def llvm_v8i16_ty : LLVMType<v8i16>; // 8 x i16 | |
def llvm_v16i16_ty : LLVMType<v16i16>; // 16 x i16 | |
def llvm_v32i16_ty : LLVMType<v32i16>; // 32 x i16 | |
def llvm_v64i16_ty : LLVMType<v64i16>; // 64 x i16 | |
def llvm_v128i16_ty : LLVMType<v128i16>; //128 x i16 | |
def llvm_v1i32_ty : LLVMType<v1i32>; // 1 x i32 | |
def llvm_v2i32_ty : LLVMType<v2i32>; // 2 x i32 | |
def llvm_v4i32_ty : LLVMType<v4i32>; // 4 x i32 | |
def llvm_v8i32_ty : LLVMType<v8i32>; // 8 x i32 | |
def llvm_v16i32_ty : LLVMType<v16i32>; // 16 x i32 | |
def llvm_v32i32_ty : LLVMType<v32i32>; // 32 x i32 | |
def llvm_v64i32_ty : LLVMType<v64i32>; // 64 x i32 | |
def llvm_v1i64_ty : LLVMType<v1i64>; // 1 x i64 | |
def llvm_v2i64_ty : LLVMType<v2i64>; // 2 x i64 | |
def llvm_v4i64_ty : LLVMType<v4i64>; // 4 x i64 | |
def llvm_v8i64_ty : LLVMType<v8i64>; // 8 x i64 | |
def llvm_v16i64_ty : LLVMType<v16i64>; // 16 x i64 | |
def llvm_v32i64_ty : LLVMType<v32i64>; // 32 x i64 | |
def llvm_v1i128_ty : LLVMType<v1i128>; // 1 x i128 | |
def llvm_v2f16_ty : LLVMType<v2f16>; // 2 x half (__fp16) | |
def llvm_v4f16_ty : LLVMType<v4f16>; // 4 x half (__fp16) | |
def llvm_v8f16_ty : LLVMType<v8f16>; // 8 x half (__fp16) | |
def llvm_v1f32_ty : LLVMType<v1f32>; // 1 x float | |
def llvm_v2f32_ty : LLVMType<v2f32>; // 2 x float | |
def llvm_v4f32_ty : LLVMType<v4f32>; // 4 x float | |
def llvm_v8f32_ty : LLVMType<v8f32>; // 8 x float | |
def llvm_v16f32_ty : LLVMType<v16f32>; // 16 x float | |
def llvm_v1f64_ty : LLVMType<v1f64>; // 1 x double | |
def llvm_v2f64_ty : LLVMType<v2f64>; // 2 x double | |
def llvm_v4f64_ty : LLVMType<v4f64>; // 4 x double | |
def llvm_v8f64_ty : LLVMType<v8f64>; // 8 x double | |
def llvm_vararg_ty : LLVMType<isVoid>; // this means vararg here | |
//===----------------------------------------------------------------------===// | |
// Intrinsic Definitions. | |
//===----------------------------------------------------------------------===// | |
// Intrinsic class - This is used to define one LLVM intrinsic. The name of the | |
// intrinsic definition should start with "int_", then match the LLVM intrinsic | |
// name with the "llvm." prefix removed, and all "."s turned into "_"s. For | |
// example, llvm.bswap.i16 -> int_bswap_i16. | |
// | |
// * RetTypes is a list containing the return types expected for the | |
// intrinsic. | |
// * ParamTypes is a list containing the parameter types expected for the | |
// intrinsic. | |
// * Properties can be set to describe the behavior of the intrinsic. | |
// | |
class SDPatternOperator; | |
class Intrinsic<list<LLVMType> ret_types, | |
list<LLVMType> param_types = [], | |
list<IntrinsicProperty> properties = [], | |
string name = ""> : SDPatternOperator { | |
string LLVMName = name; | |
string TargetPrefix = ""; // Set to a prefix for target-specific intrinsics. | |
list<LLVMType> RetTypes = ret_types; | |
list<LLVMType> ParamTypes = param_types; | |
list<IntrinsicProperty> IntrProperties = properties; | |
bit isTarget = 0; | |
} | |
/// GCCBuiltin - If this intrinsic exactly corresponds to a GCC builtin, this | |
/// specifies the name of the builtin. This provides automatic CBE and CFE | |
/// support. | |
class GCCBuiltin<string name> { | |
string GCCBuiltinName = name; | |
} | |
class MSBuiltin<string name> { | |
string MSBuiltinName = name; | |
} | |
//===--------------- Variable Argument Handling Intrinsics ----------------===// | |
// | |
def int_vastart : Intrinsic<[], [llvm_ptr_ty], [], "llvm.va_start">; | |
def int_vacopy : Intrinsic<[], [llvm_ptr_ty, llvm_ptr_ty], [], | |
"llvm.va_copy">; | |
def int_vaend : Intrinsic<[], [llvm_ptr_ty], [], "llvm.va_end">; | |
//===------------------- Garbage Collection Intrinsics --------------------===// | |
// | |
def int_gcroot : Intrinsic<[], | |
[llvm_ptrptr_ty, llvm_ptr_ty]>; | |
def int_gcread : Intrinsic<[llvm_ptr_ty], | |
[llvm_ptr_ty, llvm_ptrptr_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_gcwrite : Intrinsic<[], | |
[llvm_ptr_ty, llvm_ptr_ty, llvm_ptrptr_ty], | |
[IntrArgMemOnly, NoCapture<1>, NoCapture<2>]>; | |
//===--------------------- Code Generator Intrinsics ----------------------===// | |
// | |
def int_returnaddress : Intrinsic<[llvm_ptr_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_addressofreturnaddress : Intrinsic<[llvm_ptr_ty], [], [IntrNoMem]>; | |
def int_frameaddress : Intrinsic<[llvm_ptr_ty], [llvm_i32_ty], [IntrNoMem]>; | |
def int_read_register : Intrinsic<[llvm_anyint_ty], [llvm_metadata_ty], | |
[IntrReadMem], "llvm.read_register">; | |
def int_write_register : Intrinsic<[], [llvm_metadata_ty, llvm_anyint_ty], | |
[], "llvm.write_register">; | |
// Gets the address of the local variable area. This is typically a copy of the | |
// stack, frame, or base pointer depending on the type of prologue. | |
def int_localaddress : Intrinsic<[llvm_ptr_ty], [], [IntrNoMem]>; | |
// Escapes local variables to allow access from other functions. | |
def int_localescape : Intrinsic<[], [llvm_vararg_ty]>; | |
// Given a function and the localaddress of a parent frame, returns a pointer | |
// to an escaped allocation indicated by the index. | |
def int_localrecover : Intrinsic<[llvm_ptr_ty], | |
[llvm_ptr_ty, llvm_ptr_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
// Note: we treat stacksave/stackrestore as writemem because we don't otherwise | |
// model their dependencies on allocas. | |
def int_stacksave : Intrinsic<[llvm_ptr_ty]>, | |
GCCBuiltin<"__builtin_stack_save">; | |
def int_stackrestore : Intrinsic<[], [llvm_ptr_ty]>, | |
GCCBuiltin<"__builtin_stack_restore">; | |
def int_get_dynamic_area_offset : Intrinsic<[llvm_anyint_ty]>; | |
def int_thread_pointer : Intrinsic<[llvm_ptr_ty], [], [IntrNoMem]>, | |
GCCBuiltin<"__builtin_thread_pointer">; | |
// IntrArgMemOnly is more pessimistic than strictly necessary for prefetch, | |
// however it does conveniently prevent the prefetch from being reordered | |
// with respect to nearby accesses to the same memory. | |
def int_prefetch : Intrinsic<[], | |
[llvm_ptr_ty, llvm_i32_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[IntrArgMemOnly, NoCapture<0>]>; | |
def int_pcmarker : Intrinsic<[], [llvm_i32_ty]>; | |
def int_readcyclecounter : Intrinsic<[llvm_i64_ty]>; | |
// The assume intrinsic is marked as arbitrarily writing so that proper | |
// control dependencies will be maintained. | |
def int_assume : Intrinsic<[], [llvm_i1_ty], []>; | |
// Stack Protector Intrinsic - The stackprotector intrinsic writes the stack | |
// guard to the correct place on the stack frame. | |
def int_stackprotector : Intrinsic<[], [llvm_ptr_ty, llvm_ptrptr_ty], []>; | |
def int_stackguard : Intrinsic<[llvm_ptr_ty], [], []>; | |
// A counter increment for instrumentation based profiling. | |
def int_instrprof_increment : Intrinsic<[], | |
[llvm_ptr_ty, llvm_i64_ty, | |
llvm_i32_ty, llvm_i32_ty], | |
[]>; | |
// A counter increment with step for instrumentation based profiling. | |
def int_instrprof_increment_step : Intrinsic<[], | |
[llvm_ptr_ty, llvm_i64_ty, | |
llvm_i32_ty, llvm_i32_ty, llvm_i64_ty], | |
[]>; | |
// A call to profile runtime for value profiling of target expressions | |
// through instrumentation based profiling. | |
def int_instrprof_value_profile : Intrinsic<[], | |
[llvm_ptr_ty, llvm_i64_ty, | |
llvm_i64_ty, llvm_i32_ty, | |
llvm_i32_ty], | |
[]>; | |
//===------------------- Standard C Library Intrinsics --------------------===// | |
// | |
def int_memcpy : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_anyptr_ty, llvm_anyint_ty, | |
llvm_i32_ty, llvm_i1_ty], | |
[IntrArgMemOnly, NoCapture<0>, NoCapture<1>, | |
WriteOnly<0>, ReadOnly<1>]>; | |
def int_memmove : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_anyptr_ty, llvm_anyint_ty, | |
llvm_i32_ty, llvm_i1_ty], | |
[IntrArgMemOnly, NoCapture<0>, NoCapture<1>, | |
ReadOnly<1>]>; | |
def int_memset : Intrinsic<[], | |
[llvm_anyptr_ty, llvm_i8_ty, llvm_anyint_ty, | |
llvm_i32_ty, llvm_i1_ty], | |
[IntrArgMemOnly, NoCapture<0>, WriteOnly<0>]>; | |
let IntrProperties = [IntrNoMem] in { | |
def int_fma : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>, | |
LLVMMatchType<0>]>; | |
def int_fmuladd : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>, | |
LLVMMatchType<0>]>; | |
// These functions do not read memory, but are sensitive to the | |
// rounding mode. LLVM purposely does not model changes to the FP | |
// environment so they can be treated as readnone. | |
def int_sqrt : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_powi : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, llvm_i32_ty]>; | |
def int_sin : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_cos : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_pow : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>]>; | |
def int_log : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_log10: Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_log2 : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_exp : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_exp2 : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_fabs : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_copysign : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>]>; | |
def int_floor : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_ceil : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_trunc : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_rint : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_nearbyint : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_round : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>; | |
def int_canonicalize : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>], | |
[IntrNoMem]>; | |
} | |
def int_minnum : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>], [IntrNoMem, Commutative] | |
>; | |
def int_maxnum : Intrinsic<[llvm_anyfloat_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>], [IntrNoMem, Commutative] | |
>; | |
// NOTE: these are internal interfaces. | |
def int_setjmp : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty]>; | |
def int_longjmp : Intrinsic<[], [llvm_ptr_ty, llvm_i32_ty], [IntrNoReturn]>; | |
def int_sigsetjmp : Intrinsic<[llvm_i32_ty] , [llvm_ptr_ty, llvm_i32_ty]>; | |
def int_siglongjmp : Intrinsic<[], [llvm_ptr_ty, llvm_i32_ty], [IntrNoReturn]>; | |
// Internal interface for object size checking | |
def int_objectsize : Intrinsic<[llvm_anyint_ty], [llvm_anyptr_ty, llvm_i1_ty], | |
[IntrNoMem]>, | |
GCCBuiltin<"__builtin_object_size">; | |
//===------------------------- Expect Intrinsics --------------------------===// | |
// | |
def int_expect : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>, | |
LLVMMatchType<0>], [IntrNoMem]>; | |
//===-------------------- Bit Manipulation Intrinsics ---------------------===// | |
// | |
// None of these intrinsics accesses memory at all. | |
let IntrProperties = [IntrNoMem] in { | |
def int_bswap: Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>]>; | |
def int_ctpop: Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>]>; | |
def int_ctlz : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>, llvm_i1_ty]>; | |
def int_cttz : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>, llvm_i1_ty]>; | |
def int_bitreverse : Intrinsic<[llvm_anyint_ty], [LLVMMatchType<0>]>; | |
} | |
//===------------------------ Debugger Intrinsics -------------------------===// | |
// | |
// None of these intrinsics accesses memory at all...but that doesn't mean the | |
// optimizers can change them aggressively. Special handling needed in a few | |
// places. | |
let IntrProperties = [IntrNoMem] in { | |
def int_dbg_declare : Intrinsic<[], | |
[llvm_metadata_ty, | |
llvm_metadata_ty, | |
llvm_metadata_ty]>; | |
def int_dbg_value : Intrinsic<[], | |
[llvm_metadata_ty, llvm_i64_ty, | |
llvm_metadata_ty, | |
llvm_metadata_ty]>; | |
} | |
//===------------------ Exception Handling Intrinsics----------------------===// | |
// | |
// The result of eh.typeid.for depends on the enclosing function, but inside a | |
// given function it is 'const' and may be CSE'd etc. | |
def int_eh_typeid_for : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty], [IntrNoMem]>; | |
def int_eh_return_i32 : Intrinsic<[], [llvm_i32_ty, llvm_ptr_ty]>; | |
def int_eh_return_i64 : Intrinsic<[], [llvm_i64_ty, llvm_ptr_ty]>; | |
// eh.exceptionpointer returns the pointer to the exception caught by | |
// the given `catchpad`. | |
def int_eh_exceptionpointer : Intrinsic<[llvm_anyptr_ty], [llvm_token_ty], | |
[IntrNoMem]>; | |
// Gets the exception code from a catchpad token. Only used on some platforms. | |
def int_eh_exceptioncode : Intrinsic<[llvm_i32_ty], [llvm_token_ty], [IntrNoMem]>; | |
// __builtin_unwind_init is an undocumented GCC intrinsic that causes all | |
// callee-saved registers to be saved and restored (regardless of whether they | |
// are used) in the calling function. It is used by libgcc_eh. | |
def int_eh_unwind_init: Intrinsic<[]>, | |
GCCBuiltin<"__builtin_unwind_init">; | |
def int_eh_dwarf_cfa : Intrinsic<[llvm_ptr_ty], [llvm_i32_ty]>; | |
let IntrProperties = [IntrNoMem] in { | |
def int_eh_sjlj_lsda : Intrinsic<[llvm_ptr_ty]>; | |
def int_eh_sjlj_callsite : Intrinsic<[], [llvm_i32_ty]>; | |
} | |
def int_eh_sjlj_functioncontext : Intrinsic<[], [llvm_ptr_ty]>; | |
def int_eh_sjlj_setjmp : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty]>; | |
def int_eh_sjlj_longjmp : Intrinsic<[], [llvm_ptr_ty], [IntrNoReturn]>; | |
def int_eh_sjlj_setup_dispatch : Intrinsic<[], []>; | |
//===---------------- Generic Variable Attribute Intrinsics----------------===// | |
// | |
def int_var_annotation : Intrinsic<[], | |
[llvm_ptr_ty, llvm_ptr_ty, | |
llvm_ptr_ty, llvm_i32_ty], | |
[], "llvm.var.annotation">; | |
def int_ptr_annotation : Intrinsic<[LLVMAnyPointerType<llvm_anyint_ty>], | |
[LLVMMatchType<0>, llvm_ptr_ty, llvm_ptr_ty, | |
llvm_i32_ty], | |
[], "llvm.ptr.annotation">; | |
def int_annotation : Intrinsic<[llvm_anyint_ty], | |
[LLVMMatchType<0>, llvm_ptr_ty, | |
llvm_ptr_ty, llvm_i32_ty], | |
[], "llvm.annotation">; | |
//===------------------------ Trampoline Intrinsics -----------------------===// | |
// | |
def int_init_trampoline : Intrinsic<[], | |
[llvm_ptr_ty, llvm_ptr_ty, llvm_ptr_ty], | |
[IntrArgMemOnly, NoCapture<0>]>, | |
GCCBuiltin<"__builtin_init_trampoline">; | |
def int_adjust_trampoline : Intrinsic<[llvm_ptr_ty], [llvm_ptr_ty], | |
[IntrReadMem, IntrArgMemOnly]>, | |
GCCBuiltin<"__builtin_adjust_trampoline">; | |
//===------------------------ Overflow Intrinsics -------------------------===// | |
// | |
// Expose the carry flag from add operations on two integrals. | |
def int_sadd_with_overflow : Intrinsic<[llvm_anyint_ty, llvm_i1_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
def int_uadd_with_overflow : Intrinsic<[llvm_anyint_ty, llvm_i1_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
def int_ssub_with_overflow : Intrinsic<[llvm_anyint_ty, llvm_i1_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
def int_usub_with_overflow : Intrinsic<[llvm_anyint_ty, llvm_i1_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
def int_smul_with_overflow : Intrinsic<[llvm_anyint_ty, llvm_i1_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
def int_umul_with_overflow : Intrinsic<[llvm_anyint_ty, llvm_i1_ty], | |
[LLVMMatchType<0>, LLVMMatchType<0>], | |
[IntrNoMem]>; | |
//===------------------------- Memory Use Markers -------------------------===// | |
// | |
def int_lifetime_start : Intrinsic<[], | |
[llvm_i64_ty, llvm_ptr_ty], | |
[IntrArgMemOnly, NoCapture<1>]>; | |
def int_lifetime_end : Intrinsic<[], | |
[llvm_i64_ty, llvm_ptr_ty], | |
[IntrArgMemOnly, NoCapture<1>]>; | |
def int_invariant_start : Intrinsic<[llvm_descriptor_ty], | |
[llvm_i64_ty, llvm_anyptr_ty], | |
[IntrArgMemOnly, NoCapture<1>]>; | |
def int_invariant_end : Intrinsic<[], | |
[llvm_descriptor_ty, llvm_i64_ty, | |
llvm_anyptr_ty], | |
[IntrArgMemOnly, NoCapture<2>]>; | |
def int_invariant_group_barrier : Intrinsic<[llvm_ptr_ty], | |
[llvm_ptr_ty], | |
[IntrNoMem]>; | |
//===------------------------ Stackmap Intrinsics -------------------------===// | |
// | |
def int_experimental_stackmap : Intrinsic<[], | |
[llvm_i64_ty, llvm_i32_ty, llvm_vararg_ty], | |
[Throws]>; | |
def int_experimental_patchpoint_void : Intrinsic<[], | |
[llvm_i64_ty, llvm_i32_ty, | |
llvm_ptr_ty, llvm_i32_ty, | |
llvm_vararg_ty], | |
[Throws]>; | |
def int_experimental_patchpoint_i64 : Intrinsic<[llvm_i64_ty], | |
[llvm_i64_ty, llvm_i32_ty, | |
llvm_ptr_ty, llvm_i32_ty, | |
llvm_vararg_ty], | |
[Throws]>; | |
//===------------------------ Garbage Collection Intrinsics ---------------===// | |
// These are documented in docs/Statepoint.rst | |
def int_experimental_gc_statepoint : Intrinsic<[llvm_token_ty], | |
[llvm_i64_ty, llvm_i32_ty, | |
llvm_anyptr_ty, llvm_i32_ty, | |
llvm_i32_ty, llvm_vararg_ty], | |
[Throws]>; | |
def int_experimental_gc_result : Intrinsic<[llvm_any_ty], [llvm_token_ty], | |
[IntrReadMem]>; | |
def int_experimental_gc_relocate : Intrinsic<[llvm_any_ty], | |
[llvm_token_ty, llvm_i32_ty, llvm_i32_ty], | |
[IntrReadMem]>; | |
//===------------------------ Coroutine Intrinsics ---------------===// | |
// These are documented in docs/Coroutines.rst | |
// Coroutine Structure Intrinsics. | |
def int_coro_id : Intrinsic<[llvm_token_ty], [llvm_i32_ty, llvm_ptr_ty, | |
llvm_ptr_ty, llvm_ptr_ty], | |
[IntrArgMemOnly, IntrReadMem, | |
ReadNone<1>, ReadOnly<2>, NoCapture<2>]>; | |
def int_coro_alloc : Intrinsic<[llvm_i1_ty], [llvm_token_ty], []>; | |
def int_coro_begin : Intrinsic<[llvm_ptr_ty], [llvm_token_ty, llvm_ptr_ty], | |
[WriteOnly<1>]>; | |
def int_coro_free : Intrinsic<[llvm_ptr_ty], [llvm_token_ty, llvm_ptr_ty], | |
[IntrReadMem, IntrArgMemOnly, ReadOnly<1>, | |
NoCapture<1>]>; | |
def int_coro_end : Intrinsic<[], [llvm_ptr_ty, llvm_i1_ty], []>; | |
def int_coro_frame : Intrinsic<[llvm_ptr_ty], [], [IntrNoMem]>; | |
def int_coro_size : Intrinsic<[llvm_anyint_ty], [], [IntrNoMem]>; | |
def int_coro_save : Intrinsic<[llvm_token_ty], [llvm_ptr_ty], []>; | |
def int_coro_suspend : Intrinsic<[llvm_i8_ty], [llvm_token_ty, llvm_i1_ty], []>; | |
def int_coro_param : Intrinsic<[llvm_i1_ty], [llvm_ptr_ty, llvm_ptr_ty], | |
[IntrNoMem, ReadNone<0>, ReadNone<1>]>; | |
// Coroutine Manipulation Intrinsics. | |
def int_coro_resume : Intrinsic<[], [llvm_ptr_ty], [Throws]>; | |
def int_coro_destroy : Intrinsic<[], [llvm_ptr_ty], [Throws]>; | |
def int_coro_done : Intrinsic<[llvm_i1_ty], [llvm_ptr_ty], | |
[IntrArgMemOnly, ReadOnly<0>, NoCapture<0>]>; | |
def int_coro_promise : Intrinsic<[llvm_ptr_ty], | |
[llvm_ptr_ty, llvm_i32_ty, llvm_i1_ty], | |
[IntrNoMem, NoCapture<0>]>; | |
// Coroutine Lowering Intrinsics. Used internally by coroutine passes. | |
def int_coro_subfn_addr : Intrinsic<[llvm_ptr_ty], [llvm_ptr_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly, ReadOnly<0>, | |
NoCapture<0>]>; | |
///===-------------------------- Other Intrinsics --------------------------===// | |
// | |
def int_flt_rounds : Intrinsic<[llvm_i32_ty]>, | |
GCCBuiltin<"__builtin_flt_rounds">; | |
def int_trap : Intrinsic<[], [], [IntrNoReturn]>, | |
GCCBuiltin<"__builtin_trap">; | |
def int_debugtrap : Intrinsic<[]>, | |
GCCBuiltin<"__builtin_debugtrap">; | |
// Support for dynamic deoptimization (or de-specialization) | |
def int_experimental_deoptimize : Intrinsic<[llvm_any_ty], [llvm_vararg_ty], | |
[Throws]>; | |
// Support for speculative runtime guards | |
def int_experimental_guard : Intrinsic<[], [llvm_i1_ty, llvm_vararg_ty], | |
[Throws]>; | |
// NOP: calls/invokes to this intrinsic are removed by codegen | |
def int_donothing : Intrinsic<[], [], [IntrNoMem]>; | |
// Intrisics to support half precision floating point format | |
let IntrProperties = [IntrNoMem] in { | |
def int_convert_to_fp16 : Intrinsic<[llvm_i16_ty], [llvm_anyfloat_ty]>; | |
def int_convert_from_fp16 : Intrinsic<[llvm_anyfloat_ty], [llvm_i16_ty]>; | |
} | |
// These convert intrinsics are to support various conversions between | |
// various types with rounding and saturation. NOTE: avoid using these | |
// intrinsics as they might be removed sometime in the future and | |
// most targets don't support them. | |
def int_convertff : Intrinsic<[llvm_anyfloat_ty], | |
[llvm_anyfloat_ty, llvm_i32_ty, llvm_i32_ty]>; | |
def int_convertfsi : Intrinsic<[llvm_anyfloat_ty], | |
[llvm_anyint_ty, llvm_i32_ty, llvm_i32_ty]>; | |
def int_convertfui : Intrinsic<[llvm_anyfloat_ty], | |
[llvm_anyint_ty, llvm_i32_ty, llvm_i32_ty]>; | |
def int_convertsif : Intrinsic<[llvm_anyint_ty], | |
[llvm_anyfloat_ty, llvm_i32_ty, llvm_i32_ty]>; | |
def int_convertuif : Intrinsic<[llvm_anyint_ty], | |
[llvm_anyfloat_ty, llvm_i32_ty, llvm_i32_ty]>; | |
def int_convertss : Intrinsic<[llvm_anyint_ty], | |
[llvm_anyint_ty, llvm_i32_ty, llvm_i32_ty]>; | |
def int_convertsu : Intrinsic<[llvm_anyint_ty], | |
[llvm_anyint_ty, llvm_i32_ty, llvm_i32_ty]>; | |
def int_convertus : Intrinsic<[llvm_anyint_ty], | |
[llvm_anyint_ty, llvm_i32_ty, llvm_i32_ty]>; | |
def int_convertuu : Intrinsic<[llvm_anyint_ty], | |
[llvm_anyint_ty, llvm_i32_ty, llvm_i32_ty]>; | |
// Clear cache intrinsic, default to ignore (ie. emit nothing) | |
// maps to void __clear_cache() on supporting platforms | |
def int_clear_cache : Intrinsic<[], [llvm_ptr_ty, llvm_ptr_ty], | |
[], "llvm.clear_cache">; | |
//===-------------------------- Masked Intrinsics -------------------------===// | |
// | |
def int_masked_store : Intrinsic<[], [llvm_anyvector_ty, | |
LLVMAnyPointerType<LLVMMatchType<0>>, | |
llvm_i32_ty, | |
LLVMVectorSameWidth<0, llvm_i1_ty>], | |
[IntrArgMemOnly]>; | |
def int_masked_load : Intrinsic<[llvm_anyvector_ty], | |
[LLVMAnyPointerType<LLVMMatchType<0>>, llvm_i32_ty, | |
LLVMVectorSameWidth<0, llvm_i1_ty>, LLVMMatchType<0>], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_masked_gather: Intrinsic<[llvm_anyvector_ty], | |
[LLVMVectorOfPointersToElt<0>, llvm_i32_ty, | |
LLVMVectorSameWidth<0, llvm_i1_ty>, | |
LLVMMatchType<0>], | |
[IntrReadMem]>; | |
def int_masked_scatter: Intrinsic<[], | |
[llvm_anyvector_ty, | |
LLVMVectorOfPointersToElt<0>, llvm_i32_ty, | |
LLVMVectorSameWidth<0, llvm_i1_ty>]>; | |
def int_masked_expandload: Intrinsic<[llvm_anyvector_ty], | |
[LLVMPointerToElt<0>, | |
LLVMVectorSameWidth<0, llvm_i1_ty>, | |
LLVMMatchType<0>], | |
[IntrReadMem]>; | |
def int_masked_compressstore: Intrinsic<[], | |
[llvm_anyvector_ty, | |
LLVMPointerToElt<0>, | |
LLVMVectorSameWidth<0, llvm_i1_ty>], | |
[IntrArgMemOnly]>; | |
// Test whether a pointer is associated with a type metadata identifier. | |
def int_type_test : Intrinsic<[llvm_i1_ty], [llvm_ptr_ty, llvm_metadata_ty], | |
[IntrNoMem]>; | |
// Safely loads a function pointer from a virtual table pointer using type metadata. | |
def int_type_checked_load : Intrinsic<[llvm_ptr_ty, llvm_i1_ty], | |
[llvm_ptr_ty, llvm_i32_ty, llvm_metadata_ty], | |
[IntrNoMem]>; | |
def int_load_relative: Intrinsic<[llvm_ptr_ty], [llvm_ptr_ty, llvm_anyint_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
//===----------------------------------------------------------------------===// | |
// Target-specific intrinsics | |
//===----------------------------------------------------------------------===// | |
include "llvm/IR/IntrinsicsPowerPC.td" | |
include "llvm/IR/IntrinsicsX86.td" | |
include "llvm/IR/IntrinsicsARM.td" | |
include "llvm/IR/IntrinsicsAArch64.td" | |
include "llvm/IR/IntrinsicsXCore.td" | |
include "llvm/IR/IntrinsicsHexagon.td" | |
include "llvm/IR/IntrinsicsNVVM.td" | |
include "llvm/IR/IntrinsicsMips.td" | |
include "llvm/IR/IntrinsicsAMDGPU.td" | |
include "llvm/IR/IntrinsicsBPF.td" | |
include "llvm/IR/IntrinsicsSystemZ.td" | |
include "llvm/IR/IntrinsicsWebAssembly.td" | |
//===- IntrinsicsWebAssembly.td - Defines wasm intrinsics --*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
/// | |
/// \file | |
/// \brief This file defines all of the WebAssembly-specific intrinsics. | |
/// | |
//===----------------------------------------------------------------------===// | |
let TargetPrefix = "wasm" in { // All intrinsics start with "llvm.wasm.". | |
// Note that current_memory is not IntrNoMem because it must be sequenced with | |
// respect to grow_memory calls. | |
def int_wasm_current_memory : Intrinsic<[llvm_anyint_ty], [], [IntrReadMem]>; | |
def int_wasm_grow_memory : Intrinsic<[], [llvm_anyint_ty], []>; | |
} | |
//===- IntrinsicsX86.td - Defines X86 intrinsics -----------*- tablegen -*-===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is distributed under the University of Illinois Open Source | |
// License. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// | |
// This file defines all of the X86-specific intrinsics. | |
// | |
//===----------------------------------------------------------------------===// | |
//===----------------------------------------------------------------------===// | |
// Interrupt traps | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_int : Intrinsic<[], [llvm_i8_ty]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// SEH intrinsics for Windows | |
let TargetPrefix = "x86" in { | |
def int_x86_seh_lsda : Intrinsic<[llvm_ptr_ty], [llvm_ptr_ty], [IntrNoMem]>; | |
// Marks the EH registration node created in LLVM IR prior to code generation. | |
def int_x86_seh_ehregnode : Intrinsic<[], [llvm_ptr_ty], []>; | |
// Marks the EH guard slot node created in LLVM IR prior to code generation. | |
def int_x86_seh_ehguard : Intrinsic<[], [llvm_ptr_ty], []>; | |
// Given a pointer to the end of an EH registration object, returns the true | |
// parent frame address that can be used with llvm.localrecover. | |
def int_x86_seh_recoverfp : Intrinsic<[llvm_ptr_ty], | |
[llvm_ptr_ty, llvm_ptr_ty], | |
[IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// FLAGS. | |
let TargetPrefix = "x86" in { | |
def int_x86_flags_read_u32 : GCCBuiltin<"__builtin_ia32_readeflags_u32">, | |
Intrinsic<[llvm_i32_ty], [], []>; | |
def int_x86_flags_read_u64 : GCCBuiltin<"__builtin_ia32_readeflags_u64">, | |
Intrinsic<[llvm_i64_ty], [], []>; | |
def int_x86_flags_write_u32 : GCCBuiltin<"__builtin_ia32_writeeflags_u32">, | |
Intrinsic<[], [llvm_i32_ty], []>; | |
def int_x86_flags_write_u64 : GCCBuiltin<"__builtin_ia32_writeeflags_u64">, | |
Intrinsic<[], [llvm_i64_ty], []>; | |
} | |
//===----------------------------------------------------------------------===// | |
// Read Time Stamp Counter. | |
let TargetPrefix = "x86" in { | |
def int_x86_rdtsc : GCCBuiltin<"__builtin_ia32_rdtsc">, | |
Intrinsic<[llvm_i64_ty], [], []>; | |
def int_x86_rdtscp : GCCBuiltin<"__builtin_ia32_rdtscp">, | |
Intrinsic<[llvm_i64_ty], [llvm_ptr_ty], [IntrArgMemOnly]>; | |
} | |
// Read Performance-Monitoring Counter. | |
let TargetPrefix = "x86" in { | |
def int_x86_rdpmc : GCCBuiltin<"__builtin_ia32_rdpmc">, | |
Intrinsic<[llvm_i64_ty], [llvm_i32_ty], []>; | |
} | |
//===----------------------------------------------------------------------===// | |
// 3DNow! | |
let TargetPrefix = "x86" in { | |
def int_x86_3dnow_pavgusb : GCCBuiltin<"__builtin_ia32_pavgusb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pf2id : GCCBuiltin<"__builtin_ia32_pf2id">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_3dnow_pfacc : GCCBuiltin<"__builtin_ia32_pfacc">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfadd : GCCBuiltin<"__builtin_ia32_pfadd">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfcmpeq : GCCBuiltin<"__builtin_ia32_pfcmpeq">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfcmpge : GCCBuiltin<"__builtin_ia32_pfcmpge">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfcmpgt : GCCBuiltin<"__builtin_ia32_pfcmpgt">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfmax : GCCBuiltin<"__builtin_ia32_pfmax">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfmin : GCCBuiltin<"__builtin_ia32_pfmin">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfmul : GCCBuiltin<"__builtin_ia32_pfmul">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfrcp : GCCBuiltin<"__builtin_ia32_pfrcp">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_3dnow_pfrcpit1 : GCCBuiltin<"__builtin_ia32_pfrcpit1">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfrcpit2 : GCCBuiltin<"__builtin_ia32_pfrcpit2">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfrsqrt : GCCBuiltin<"__builtin_ia32_pfrsqrt">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_3dnow_pfrsqit1 : GCCBuiltin<"__builtin_ia32_pfrsqit1">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfsub : GCCBuiltin<"__builtin_ia32_pfsub">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pfsubr : GCCBuiltin<"__builtin_ia32_pfsubr">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnow_pi2fd : GCCBuiltin<"__builtin_ia32_pi2fd">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_3dnow_pmulhrw : GCCBuiltin<"__builtin_ia32_pmulhrw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// 3DNow! extensions | |
let TargetPrefix = "x86" in { | |
def int_x86_3dnowa_pf2iw : GCCBuiltin<"__builtin_ia32_pf2iw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_3dnowa_pfnacc : GCCBuiltin<"__builtin_ia32_pfnacc">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnowa_pfpnacc : GCCBuiltin<"__builtin_ia32_pfpnacc">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_3dnowa_pi2fw : GCCBuiltin<"__builtin_ia32_pi2fw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_3dnowa_pswapd : | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// SSE1 | |
// Arithmetic ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse_sqrt_ss : GCCBuiltin<"__builtin_ia32_sqrtss">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_sse_sqrt_ps : GCCBuiltin<"__builtin_ia32_sqrtps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_sse_rcp_ss : GCCBuiltin<"__builtin_ia32_rcpss">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_sse_rcp_ps : GCCBuiltin<"__builtin_ia32_rcpps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_sse_rsqrt_ss : GCCBuiltin<"__builtin_ia32_rsqrtss">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_sse_rsqrt_ps : GCCBuiltin<"__builtin_ia32_rsqrtps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_sse_min_ss : GCCBuiltin<"__builtin_ia32_minss">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_min_ps : GCCBuiltin<"__builtin_ia32_minps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_max_ss : GCCBuiltin<"__builtin_ia32_maxss">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_max_ps : GCCBuiltin<"__builtin_ia32_maxps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
} | |
// Comparison ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse_cmp_ss : GCCBuiltin<"__builtin_ia32_cmpss">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_sse_cmp_ps : | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_sse_comieq_ss : GCCBuiltin<"__builtin_ia32_comieq">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_comilt_ss : GCCBuiltin<"__builtin_ia32_comilt">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_comile_ss : GCCBuiltin<"__builtin_ia32_comile">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_comigt_ss : GCCBuiltin<"__builtin_ia32_comigt">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_comige_ss : GCCBuiltin<"__builtin_ia32_comige">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_comineq_ss : GCCBuiltin<"__builtin_ia32_comineq">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_ucomieq_ss : GCCBuiltin<"__builtin_ia32_ucomieq">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_ucomilt_ss : GCCBuiltin<"__builtin_ia32_ucomilt">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_ucomile_ss : GCCBuiltin<"__builtin_ia32_ucomile">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_ucomigt_ss : GCCBuiltin<"__builtin_ia32_ucomigt">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_ucomige_ss : GCCBuiltin<"__builtin_ia32_ucomige">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_ucomineq_ss : GCCBuiltin<"__builtin_ia32_ucomineq">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
} | |
// Conversion ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse_cvtss2si : GCCBuiltin<"__builtin_ia32_cvtss2si">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_cvtss2si64 : GCCBuiltin<"__builtin_ia32_cvtss2si64">, | |
Intrinsic<[llvm_i64_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_cvttss2si : GCCBuiltin<"__builtin_ia32_cvttss2si">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_cvttss2si64 : GCCBuiltin<"__builtin_ia32_cvttss2si64">, | |
Intrinsic<[llvm_i64_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_cvtsi2ss : // TODO: Remove this intrinsic. | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse_cvtsi642ss : // TODO: Remove this intrinsic. | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_i64_ty], [IntrNoMem]>; | |
def int_x86_sse_cvtps2pi : GCCBuiltin<"__builtin_ia32_cvtps2pi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_cvttps2pi: GCCBuiltin<"__builtin_ia32_cvttps2pi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_cvtpi2ps : GCCBuiltin<"__builtin_ia32_cvtpi2ps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
} | |
// Cacheability support ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse_sfence : GCCBuiltin<"__builtin_ia32_sfence">, | |
Intrinsic<[], [], []>; | |
} | |
// Control register. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse_stmxcsr : | |
Intrinsic<[], [llvm_ptr_ty], []>; | |
def int_x86_sse_ldmxcsr : | |
Intrinsic<[], [llvm_ptr_ty], []>; | |
} | |
// Misc. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse_movmsk_ps : GCCBuiltin<"__builtin_ia32_movmskps">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// SSE2 | |
// FP arithmetic ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse2_sqrt_sd : GCCBuiltin<"__builtin_ia32_sqrtsd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_sse2_sqrt_pd : GCCBuiltin<"__builtin_ia32_sqrtpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_sse2_min_sd : GCCBuiltin<"__builtin_ia32_minsd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_min_pd : GCCBuiltin<"__builtin_ia32_minpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_max_sd : GCCBuiltin<"__builtin_ia32_maxsd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_max_pd : GCCBuiltin<"__builtin_ia32_maxpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
} | |
// FP comparison ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse2_cmp_sd : GCCBuiltin<"__builtin_ia32_cmpsd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_sse2_cmp_pd : | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_sse2_comieq_sd : GCCBuiltin<"__builtin_ia32_comisdeq">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_comilt_sd : GCCBuiltin<"__builtin_ia32_comisdlt">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_comile_sd : GCCBuiltin<"__builtin_ia32_comisdle">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_comigt_sd : GCCBuiltin<"__builtin_ia32_comisdgt">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_comige_sd : GCCBuiltin<"__builtin_ia32_comisdge">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_comineq_sd : GCCBuiltin<"__builtin_ia32_comisdneq">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_ucomieq_sd : GCCBuiltin<"__builtin_ia32_ucomisdeq">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_ucomilt_sd : GCCBuiltin<"__builtin_ia32_ucomisdlt">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_ucomile_sd : GCCBuiltin<"__builtin_ia32_ucomisdle">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_ucomigt_sd : GCCBuiltin<"__builtin_ia32_ucomisdgt">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_ucomige_sd : GCCBuiltin<"__builtin_ia32_ucomisdge">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_ucomineq_sd : GCCBuiltin<"__builtin_ia32_ucomisdneq">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
} | |
// Integer arithmetic ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse2_padds_b : GCCBuiltin<"__builtin_ia32_paddsb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_padds_w : GCCBuiltin<"__builtin_ia32_paddsw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_paddus_b : GCCBuiltin<"__builtin_ia32_paddusb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_paddus_w : GCCBuiltin<"__builtin_ia32_paddusw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_psubs_b : GCCBuiltin<"__builtin_ia32_psubsb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_sse2_psubs_w : GCCBuiltin<"__builtin_ia32_psubsw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_sse2_psubus_b : GCCBuiltin<"__builtin_ia32_psubusb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_sse2_psubus_w : GCCBuiltin<"__builtin_ia32_psubusw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_sse2_pmulhu_w : GCCBuiltin<"__builtin_ia32_pmulhuw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_pmulh_w : GCCBuiltin<"__builtin_ia32_pmulhw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_pmulu_dq : GCCBuiltin<"__builtin_ia32_pmuludq128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_pmadd_wd : GCCBuiltin<"__builtin_ia32_pmaddwd128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_pavg_b : GCCBuiltin<"__builtin_ia32_pavgb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_pavg_w : GCCBuiltin<"__builtin_ia32_pavgw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_sse2_psad_bw : GCCBuiltin<"__builtin_ia32_psadbw128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty], [IntrNoMem, Commutative]>; | |
} | |
// Integer shift ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse2_psll_w : GCCBuiltin<"__builtin_ia32_psllw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_sse2_psll_d : GCCBuiltin<"__builtin_ia32_pslld128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_psll_q : GCCBuiltin<"__builtin_ia32_psllq128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_sse2_psrl_w : GCCBuiltin<"__builtin_ia32_psrlw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_sse2_psrl_d : GCCBuiltin<"__builtin_ia32_psrld128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_psrl_q : GCCBuiltin<"__builtin_ia32_psrlq128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_sse2_psra_w : GCCBuiltin<"__builtin_ia32_psraw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_sse2_psra_d : GCCBuiltin<"__builtin_ia32_psrad128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_pslli_w : GCCBuiltin<"__builtin_ia32_psllwi128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_pslli_d : GCCBuiltin<"__builtin_ia32_pslldi128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_pslli_q : GCCBuiltin<"__builtin_ia32_psllqi128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_psrli_w : GCCBuiltin<"__builtin_ia32_psrlwi128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_psrli_d : GCCBuiltin<"__builtin_ia32_psrldi128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_psrli_q : GCCBuiltin<"__builtin_ia32_psrlqi128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_psrai_w : GCCBuiltin<"__builtin_ia32_psrawi128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_psrai_d : GCCBuiltin<"__builtin_ia32_psradi128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
} | |
// Conversion ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse2_cvtdq2ps : GCCBuiltin<"__builtin_ia32_cvtdq2ps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvtpd2dq : GCCBuiltin<"__builtin_ia32_cvtpd2dq">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvttpd2dq : GCCBuiltin<"__builtin_ia32_cvttpd2dq">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvtpd2ps : GCCBuiltin<"__builtin_ia32_cvtpd2ps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvtps2dq : GCCBuiltin<"__builtin_ia32_cvtps2dq">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvttps2dq : GCCBuiltin<"__builtin_ia32_cvttps2dq">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvtsd2si : GCCBuiltin<"__builtin_ia32_cvtsd2si">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvtsd2si64 : GCCBuiltin<"__builtin_ia32_cvtsd2si64">, | |
Intrinsic<[llvm_i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvttsd2si : GCCBuiltin<"__builtin_ia32_cvttsd2si">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvttsd2si64 : GCCBuiltin<"__builtin_ia32_cvttsd2si64">, | |
Intrinsic<[llvm_i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvtsi2sd : // TODO: Remove this intrinsic. | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvtsi642sd : // TODO: Remove this intrinsic. | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_i64_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvtsd2ss : GCCBuiltin<"__builtin_ia32_cvtsd2ss">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_cvtss2sd : // TODO: Remove this intrinsic. | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse_cvtpd2pi : GCCBuiltin<"__builtin_ia32_cvtpd2pi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse_cvttpd2pi: GCCBuiltin<"__builtin_ia32_cvttpd2pi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse_cvtpi2pd : GCCBuiltin<"__builtin_ia32_cvtpi2pd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
} | |
// Misc. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse2_packsswb_128 : GCCBuiltin<"__builtin_ia32_packsswb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_sse2_packssdw_128 : GCCBuiltin<"__builtin_ia32_packssdw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_sse2_packuswb_128 : GCCBuiltin<"__builtin_ia32_packuswb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_sse2_movmsk_pd : GCCBuiltin<"__builtin_ia32_movmskpd">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse2_pmovmskb_128 : GCCBuiltin<"__builtin_ia32_pmovmskb128">, | |
Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_sse2_maskmov_dqu : GCCBuiltin<"__builtin_ia32_maskmovdqu">, | |
Intrinsic<[], [llvm_v16i8_ty, | |
llvm_v16i8_ty, llvm_ptr_ty], []>; | |
def int_x86_sse2_clflush : GCCBuiltin<"__builtin_ia32_clflush">, | |
Intrinsic<[], [llvm_ptr_ty], []>; | |
def int_x86_sse2_lfence : GCCBuiltin<"__builtin_ia32_lfence">, | |
Intrinsic<[], [], []>; | |
def int_x86_sse2_mfence : GCCBuiltin<"__builtin_ia32_mfence">, | |
Intrinsic<[], [], []>; | |
def int_x86_sse2_pause : GCCBuiltin<"__builtin_ia32_pause">, | |
Intrinsic<[], [], []>; | |
} | |
//===----------------------------------------------------------------------===// | |
// SSE3 | |
// Addition / subtraction ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse3_addsub_ps : GCCBuiltin<"__builtin_ia32_addsubps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse3_addsub_pd : GCCBuiltin<"__builtin_ia32_addsubpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
} | |
// Horizontal ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse3_hadd_ps : GCCBuiltin<"__builtin_ia32_haddps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse3_hadd_pd : GCCBuiltin<"__builtin_ia32_haddpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_sse3_hsub_ps : GCCBuiltin<"__builtin_ia32_hsubps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_sse3_hsub_pd : GCCBuiltin<"__builtin_ia32_hsubpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
} | |
// Specialized unaligned load. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse3_ldu_dq : GCCBuiltin<"__builtin_ia32_lddqu">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_ptr_ty], [IntrReadMem]>; | |
} | |
// Thread synchronization ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse3_monitor : GCCBuiltin<"__builtin_ia32_monitor">, | |
Intrinsic<[], [llvm_ptr_ty, | |
llvm_i32_ty, llvm_i32_ty], []>; | |
def int_x86_sse3_mwait : GCCBuiltin<"__builtin_ia32_mwait">, | |
Intrinsic<[], [llvm_i32_ty, | |
llvm_i32_ty], []>; | |
} | |
//===----------------------------------------------------------------------===// | |
// SSSE3 | |
// Horizontal arithmetic ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_ssse3_phadd_w : GCCBuiltin<"__builtin_ia32_phaddw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phadd_w_128 : GCCBuiltin<"__builtin_ia32_phaddw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phadd_d : GCCBuiltin<"__builtin_ia32_phaddd">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phadd_d_128 : GCCBuiltin<"__builtin_ia32_phaddd128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phadd_sw : GCCBuiltin<"__builtin_ia32_phaddsw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phadd_sw_128 : GCCBuiltin<"__builtin_ia32_phaddsw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phsub_w : GCCBuiltin<"__builtin_ia32_phsubw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phsub_w_128 : GCCBuiltin<"__builtin_ia32_phsubw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phsub_d : GCCBuiltin<"__builtin_ia32_phsubd">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phsub_d_128 : GCCBuiltin<"__builtin_ia32_phsubd128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phsub_sw : GCCBuiltin<"__builtin_ia32_phsubsw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_phsub_sw_128 : GCCBuiltin<"__builtin_ia32_phsubsw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_ssse3_pmadd_ub_sw : GCCBuiltin<"__builtin_ia32_pmaddubsw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_pmadd_ub_sw_128 : GCCBuiltin<"__builtin_ia32_pmaddubsw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty], [IntrNoMem]>; | |
} | |
// Packed multiply high with round and scale | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_ssse3_pmul_hr_sw : GCCBuiltin<"__builtin_ia32_pmulhrsw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_ssse3_pmul_hr_sw_128 : GCCBuiltin<"__builtin_ia32_pmulhrsw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem, Commutative]>; | |
} | |
// Shuffle ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_ssse3_pshuf_b : GCCBuiltin<"__builtin_ia32_pshufb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_pshuf_b_128 : GCCBuiltin<"__builtin_ia32_pshufb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_sse_pshuf_w : GCCBuiltin<"__builtin_ia32_pshufw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
} | |
// Sign ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_ssse3_psign_b : GCCBuiltin<"__builtin_ia32_psignb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_psign_b_128 : GCCBuiltin<"__builtin_ia32_psignb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_ssse3_psign_w : GCCBuiltin<"__builtin_ia32_psignw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_psign_w_128 : GCCBuiltin<"__builtin_ia32_psignw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_ssse3_psign_d : GCCBuiltin<"__builtin_ia32_psignd">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_psign_d_128 : GCCBuiltin<"__builtin_ia32_psignd128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
} | |
// Absolute value ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_ssse3_pabs_b : GCCBuiltin<"__builtin_ia32_pabsb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_pabs_b_128 : GCCBuiltin<"__builtin_ia32_pabsb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_ssse3_pabs_w : GCCBuiltin<"__builtin_ia32_pabsw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_pabs_w_128 : GCCBuiltin<"__builtin_ia32_pabsw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_ssse3_pabs_d : GCCBuiltin<"__builtin_ia32_pabsd">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_ssse3_pabs_d_128 : GCCBuiltin<"__builtin_ia32_pabsd128">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// SSE4.1 | |
// FP rounding ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_round_ss : GCCBuiltin<"__builtin_ia32_roundss">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse41_round_ps : GCCBuiltin<"__builtin_ia32_roundps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse41_round_sd : GCCBuiltin<"__builtin_ia32_roundsd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_sse41_round_pd : GCCBuiltin<"__builtin_ia32_roundpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
} | |
// Vector min element | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_phminposuw : GCCBuiltin<"__builtin_ia32_phminposuw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], | |
[IntrNoMem]>; | |
} | |
// Advanced Encryption Standard (AES) Instructions | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_aesni_aesimc : GCCBuiltin<"__builtin_ia32_aesimc128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_aesni_aesenc : GCCBuiltin<"__builtin_ia32_aesenc128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_aesni_aesenclast : GCCBuiltin<"__builtin_ia32_aesenclast128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_aesni_aesdec : GCCBuiltin<"__builtin_ia32_aesdec128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_aesni_aesdeclast : GCCBuiltin<"__builtin_ia32_aesdeclast128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_aesni_aeskeygenassist : | |
GCCBuiltin<"__builtin_ia32_aeskeygenassist128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
} | |
// PCLMUL instruction | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_pclmulqdq : GCCBuiltin<"__builtin_ia32_pclmulqdq128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
} | |
// Vector pack | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_packusdw : GCCBuiltin<"__builtin_ia32_packusdw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
} | |
// Vector multiply | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_pmuldq : GCCBuiltin<"__builtin_ia32_pmuldq128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem, Commutative]>; | |
} | |
// Vector insert | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_insertps : GCCBuiltin<"__builtin_ia32_insertps128">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
} | |
// Vector blend | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_pblendvb : GCCBuiltin<"__builtin_ia32_pblendvb128">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty,llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse41_blendvpd : GCCBuiltin<"__builtin_ia32_blendvpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty,llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_sse41_blendvps : GCCBuiltin<"__builtin_ia32_blendvps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty,llvm_v4f32_ty], | |
[IntrNoMem]>; | |
} | |
// Vector dot product | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_dppd : GCCBuiltin<"__builtin_ia32_dppd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem, Commutative]>; | |
def int_x86_sse41_dpps : GCCBuiltin<"__builtin_ia32_dpps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem, Commutative]>; | |
} | |
// Vector sum of absolute differences | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_mpsadbw : GCCBuiltin<"__builtin_ia32_mpsadbw128">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty,llvm_i8_ty], | |
[IntrNoMem, Commutative]>; | |
} | |
// Cacheability support ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_movntdqa : GCCBuiltin<"__builtin_ia32_movntdqa">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_ptr_ty], [IntrReadMem]>; | |
} | |
// Test instruction with bitwise comparison. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse41_ptestz : GCCBuiltin<"__builtin_ia32_ptestz128">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_sse41_ptestc : GCCBuiltin<"__builtin_ia32_ptestc128">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_sse41_ptestnzc : GCCBuiltin<"__builtin_ia32_ptestnzc128">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// SSE4.2 | |
// Miscellaneous | |
// CRC Instruction | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse42_crc32_32_8 : GCCBuiltin<"__builtin_ia32_crc32qi">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_crc32_32_16 : GCCBuiltin<"__builtin_ia32_crc32hi">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_crc32_32_32 : GCCBuiltin<"__builtin_ia32_crc32si">, | |
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_crc32_64_64 : GCCBuiltin<"__builtin_ia32_crc32di">, | |
Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
} | |
// String/text processing ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse42_pcmpistrm128 : GCCBuiltin<"__builtin_ia32_pcmpistrm128">, | |
Intrinsic<[llvm_v16i8_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpistri128 : GCCBuiltin<"__builtin_ia32_pcmpistri128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpistria128 : GCCBuiltin<"__builtin_ia32_pcmpistria128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpistric128 : GCCBuiltin<"__builtin_ia32_pcmpistric128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpistrio128 : GCCBuiltin<"__builtin_ia32_pcmpistrio128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpistris128 : GCCBuiltin<"__builtin_ia32_pcmpistris128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpistriz128 : GCCBuiltin<"__builtin_ia32_pcmpistriz128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpestrm128 : GCCBuiltin<"__builtin_ia32_pcmpestrm128">, | |
Intrinsic<[llvm_v16i8_ty], | |
[llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty, llvm_i32_ty, | |
llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpestri128 : GCCBuiltin<"__builtin_ia32_pcmpestri128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty, llvm_i32_ty, | |
llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpestria128 : GCCBuiltin<"__builtin_ia32_pcmpestria128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty, llvm_i32_ty, | |
llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpestric128 : GCCBuiltin<"__builtin_ia32_pcmpestric128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty, llvm_i32_ty, | |
llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpestrio128 : GCCBuiltin<"__builtin_ia32_pcmpestrio128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty, llvm_i32_ty, | |
llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpestris128 : GCCBuiltin<"__builtin_ia32_pcmpestris128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty, llvm_i32_ty, | |
llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse42_pcmpestriz128 : GCCBuiltin<"__builtin_ia32_pcmpestriz128">, | |
Intrinsic<[llvm_i32_ty], | |
[llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty, llvm_i32_ty, | |
llvm_i8_ty], | |
[IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// SSE4A | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_sse4a_extrqi : GCCBuiltin<"__builtin_ia32_extrqi">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i8_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_sse4a_extrq : GCCBuiltin<"__builtin_ia32_extrq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_sse4a_insertqi : GCCBuiltin<"__builtin_ia32_insertqi">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, | |
llvm_i8_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_sse4a_insertq : GCCBuiltin<"__builtin_ia32_insertq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// AVX | |
// Arithmetic ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_addsub_pd_256 : GCCBuiltin<"__builtin_ia32_addsubpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_addsub_ps_256 : GCCBuiltin<"__builtin_ia32_addsubps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_max_pd_256 : GCCBuiltin<"__builtin_ia32_maxpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_max_ps_256 : GCCBuiltin<"__builtin_ia32_maxps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_min_pd_256 : GCCBuiltin<"__builtin_ia32_minpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_min_ps_256 : GCCBuiltin<"__builtin_ia32_minps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_sqrt_pd_256 : GCCBuiltin<"__builtin_ia32_sqrtpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_sqrt_ps_256 : GCCBuiltin<"__builtin_ia32_sqrtps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_rsqrt_ps_256 : GCCBuiltin<"__builtin_ia32_rsqrtps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_rcp_ps_256 : GCCBuiltin<"__builtin_ia32_rcpps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_round_pd_256 : GCCBuiltin<"__builtin_ia32_roundpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx_round_ps_256 : GCCBuiltin<"__builtin_ia32_roundps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
} | |
// Horizontal ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_hadd_pd_256 : GCCBuiltin<"__builtin_ia32_haddpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_hsub_ps_256 : GCCBuiltin<"__builtin_ia32_hsubps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_hsub_pd_256 : GCCBuiltin<"__builtin_ia32_hsubpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_hadd_ps_256 : GCCBuiltin<"__builtin_ia32_haddps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty], [IntrNoMem]>; | |
} | |
// Vector permutation | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_vpermilvar_pd : GCCBuiltin<"__builtin_ia32_vpermilvarpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_avx_vpermilvar_ps : GCCBuiltin<"__builtin_ia32_vpermilvarps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_avx_vpermilvar_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vpermilvarpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, llvm_v4i64_ty], [IntrNoMem]>; | |
def int_x86_avx_vpermilvar_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vpermilvarps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, llvm_v8i32_ty], [IntrNoMem]>; | |
def int_x86_avx_vperm2f128_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vperm2f128_pd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx_vperm2f128_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vperm2f128_ps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx_vperm2f128_si_256 : | |
GCCBuiltin<"__builtin_ia32_vperm2f128_si256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_d_128 : | |
GCCBuiltin<"__builtin_ia32_vpermi2vard128_mask">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_d_256 : | |
GCCBuiltin<"__builtin_ia32_vpermi2vard256_mask">, | |
Intrinsic<[llvm_v8i32_ty], | |
[llvm_v8i32_ty, llvm_v8i32_ty, llvm_v8i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_d_512 : | |
GCCBuiltin<"__builtin_ia32_vpermi2vard512_mask">, | |
Intrinsic<[llvm_v16i32_ty], | |
[llvm_v16i32_ty, llvm_v16i32_ty, llvm_v16i32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_hi_128 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varhi128_mask">, | |
Intrinsic<[llvm_v8i16_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_hi_256 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varhi256_mask">, | |
Intrinsic<[llvm_v16i16_ty], | |
[llvm_v16i16_ty, llvm_v16i16_ty, llvm_v16i16_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_hi_512 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varhi512_mask">, | |
Intrinsic<[llvm_v32i16_ty], | |
[llvm_v32i16_ty, llvm_v32i16_ty, llvm_v32i16_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varpd128_mask">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2i64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varpd256_mask">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4i64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varpd512_mask">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8i64_ty, llvm_v8f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varps128_mask">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4i32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varps256_mask">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8i32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varps512_mask">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16i32_ty, llvm_v16f32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_q_128 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varq128_mask">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_q_256 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varq256_mask">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_v4i64_ty, llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_q_512 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varq512_mask">, | |
Intrinsic<[llvm_v8i64_ty], | |
[llvm_v8i64_ty, llvm_v8i64_ty, llvm_v8i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_d_512: | |
GCCBuiltin<"__builtin_ia32_vpermt2vard512_mask">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_v16i32_ty, llvm_v16i32_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_q_512: | |
GCCBuiltin<"__builtin_ia32_vpermt2varq512_mask">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_v8i64_ty, llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_ps_512: | |
GCCBuiltin<"__builtin_ia32_vpermt2varps512_mask">, | |
Intrinsic<[llvm_v16f32_ty], [llvm_v16i32_ty, | |
llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_pd_512: | |
GCCBuiltin<"__builtin_ia32_vpermt2varpd512_mask">, | |
Intrinsic<[llvm_v8f64_ty], [llvm_v8i64_ty, | |
llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_d_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2vard128_mask">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_d_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2vard128_maskz">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_d_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2vard256_mask">, | |
Intrinsic<[llvm_v8i32_ty], | |
[llvm_v8i32_ty, llvm_v8i32_ty, llvm_v8i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_d_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2vard256_maskz">, | |
Intrinsic<[llvm_v8i32_ty], | |
[llvm_v8i32_ty, llvm_v8i32_ty, llvm_v8i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_d_512 : | |
GCCBuiltin<"__builtin_ia32_vpermt2vard512_maskz">, | |
Intrinsic<[llvm_v16i32_ty], | |
[llvm_v16i32_ty, llvm_v16i32_ty, llvm_v16i32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_hi_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varhi128_mask">, | |
Intrinsic<[llvm_v8i16_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_hi_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varhi128_maskz">, | |
Intrinsic<[llvm_v8i16_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_hi_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varhi256_mask">, | |
Intrinsic<[llvm_v16i16_ty], | |
[llvm_v16i16_ty, llvm_v16i16_ty, llvm_v16i16_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_hi_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varhi256_maskz">, | |
Intrinsic<[llvm_v16i16_ty], | |
[llvm_v16i16_ty, llvm_v16i16_ty, llvm_v16i16_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_hi_512 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varhi512_mask">, | |
Intrinsic<[llvm_v32i16_ty], | |
[llvm_v32i16_ty, llvm_v32i16_ty, llvm_v32i16_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_hi_512 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varhi512_maskz">, | |
Intrinsic<[llvm_v32i16_ty], | |
[llvm_v32i16_ty, llvm_v32i16_ty, llvm_v32i16_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varpd128_mask">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2i64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varpd128_maskz">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2i64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varpd256_mask">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4i64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varpd256_maskz">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4i64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varpd512_maskz">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8i64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varps128_mask">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4i32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varps128_maskz">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4i32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varps256_mask">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8i32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varps256_maskz">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8i32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varps512_maskz">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16i32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_q_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varq128_mask">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_q_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varq128_maskz">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_q_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varq256_mask">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_v4i64_ty, llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_q_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varq256_maskz">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_v4i64_ty, llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_q_512 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varq512_maskz">, | |
Intrinsic<[llvm_v8i64_ty], | |
[llvm_v8i64_ty, llvm_v8i64_ty, llvm_v8i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_qi_128 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varqi128_mask">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty, llvm_v16i8_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_qi_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varqi128_mask">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty, llvm_v16i8_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_qi_128 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varqi128_maskz">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty, llvm_v16i8_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_qi_256 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varqi256_mask">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty, llvm_v32i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_qi_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varqi256_mask">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty, llvm_v32i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_qi_256 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varqi256_maskz">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty, llvm_v32i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermi2var_qi_512 : | |
GCCBuiltin<"__builtin_ia32_vpermi2varqi512_mask">, | |
Intrinsic<[llvm_v64i8_ty], [llvm_v64i8_ty, | |
llvm_v64i8_ty, llvm_v64i8_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermt2var_qi_512 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varqi512_mask">, | |
Intrinsic<[llvm_v64i8_ty], [llvm_v64i8_ty, | |
llvm_v64i8_ty, llvm_v64i8_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vpermt2var_qi_512 : | |
GCCBuiltin<"__builtin_ia32_vpermt2varqi512_maskz">, | |
Intrinsic<[llvm_v64i8_ty], [llvm_v64i8_ty, | |
llvm_v64i8_ty, llvm_v64i8_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermilvar_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vpermilvarpd256_mask">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4i64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermilvar_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vpermilvarpd512_mask">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8i64_ty, llvm_v8f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermilvar_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vpermilvarpd_mask">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2i64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermilvar_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vpermilvarps256_mask">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8i32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermilvar_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vpermilvarps512_mask">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16i32_ty, llvm_v16f32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vpermilvar_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vpermilvarps_mask">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4i32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pshuf_b_512 : | |
GCCBuiltin<"__builtin_ia32_pshufb512_mask">, | |
Intrinsic<[llvm_v64i8_ty], | |
[llvm_v64i8_ty, llvm_v64i8_ty, llvm_v64i8_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_shuf_f32x4_256 : | |
GCCBuiltin<"__builtin_ia32_shuf_f32x4_256_mask">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_i32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_shuf_f32x4 : | |
GCCBuiltin<"__builtin_ia32_shuf_f32x4_mask">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_i32_ty, llvm_v16f32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_shuf_f64x2_256 : | |
GCCBuiltin<"__builtin_ia32_shuf_f64x2_256_mask">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_i32_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_shuf_f64x2 : | |
GCCBuiltin<"__builtin_ia32_shuf_f64x2_mask">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_i32_ty, llvm_v8f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_shuf_i32x4_256 : | |
GCCBuiltin<"__builtin_ia32_shuf_i32x4_256_mask">, | |
Intrinsic<[llvm_v8i32_ty], | |
[llvm_v8i32_ty, llvm_v8i32_ty, llvm_i32_ty, llvm_v8i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_shuf_i32x4 : | |
GCCBuiltin<"__builtin_ia32_shuf_i32x4_mask">, | |
Intrinsic<[llvm_v16i32_ty], | |
[llvm_v16i32_ty, llvm_v16i32_ty, llvm_i32_ty, llvm_v16i32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_shuf_i64x2_256 : | |
GCCBuiltin<"__builtin_ia32_shuf_i64x2_256_mask">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_v4i64_ty, llvm_v4i64_ty, llvm_i32_ty, llvm_v4i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_shuf_i64x2 : | |
GCCBuiltin<"__builtin_ia32_shuf_i64x2_mask">, | |
Intrinsic<[llvm_v8i64_ty], | |
[llvm_v8i64_ty, llvm_v8i64_ty, llvm_i32_ty, llvm_v8i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
} | |
// Vector blend | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_blendv_pd_256 : GCCBuiltin<"__builtin_ia32_blendvpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty, llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_blendv_ps_256 : GCCBuiltin<"__builtin_ia32_blendvps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty, llvm_v8f32_ty], [IntrNoMem]>; | |
} | |
// Vector dot product | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_dp_ps_256 : GCCBuiltin<"__builtin_ia32_dpps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty, llvm_i8_ty], [IntrNoMem]>; | |
} | |
// Vector compare | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_cmp_pd_256 : | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx_cmp_ps_256 : | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty, llvm_i8_ty], [IntrNoMem]>; | |
} | |
// Vector convert | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_cvtdq2_ps_256 : GCCBuiltin<"__builtin_ia32_cvtdq2ps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8i32_ty], [IntrNoMem]>; | |
def int_x86_avx_cvt_pd2_ps_256 : GCCBuiltin<"__builtin_ia32_cvtpd2ps256">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_cvt_ps2dq_256 : GCCBuiltin<"__builtin_ia32_cvtps2dq256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_cvtt_pd2dq_256 : GCCBuiltin<"__builtin_ia32_cvttpd2dq256">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_cvt_pd2dq_256 : GCCBuiltin<"__builtin_ia32_cvtpd2dq256">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_cvtt_ps2dq_256 : GCCBuiltin<"__builtin_ia32_cvttps2dq256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8f32_ty], [IntrNoMem]>; | |
} | |
// Vector bit test | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_vtestz_pd : GCCBuiltin<"__builtin_ia32_vtestzpd">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestc_pd : GCCBuiltin<"__builtin_ia32_vtestcpd">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestnzc_pd : GCCBuiltin<"__builtin_ia32_vtestnzcpd">, | |
Intrinsic<[llvm_i32_ty], [llvm_v2f64_ty, | |
llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestz_ps : GCCBuiltin<"__builtin_ia32_vtestzps">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestc_ps : GCCBuiltin<"__builtin_ia32_vtestcps">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestnzc_ps : GCCBuiltin<"__builtin_ia32_vtestnzcps">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty, | |
llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestz_pd_256 : GCCBuiltin<"__builtin_ia32_vtestzpd256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestc_pd_256 : GCCBuiltin<"__builtin_ia32_vtestcpd256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestnzc_pd_256 : GCCBuiltin<"__builtin_ia32_vtestnzcpd256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f64_ty, | |
llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestz_ps_256 : GCCBuiltin<"__builtin_ia32_vtestzps256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestc_ps_256 : GCCBuiltin<"__builtin_ia32_vtestcps256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_vtestnzc_ps_256 : GCCBuiltin<"__builtin_ia32_vtestnzcps256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v8f32_ty, | |
llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_avx_ptestz_256 : GCCBuiltin<"__builtin_ia32_ptestz256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i64_ty, | |
llvm_v4i64_ty], [IntrNoMem]>; | |
def int_x86_avx_ptestc_256 : GCCBuiltin<"__builtin_ia32_ptestc256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i64_ty, | |
llvm_v4i64_ty], [IntrNoMem]>; | |
def int_x86_avx_ptestnzc_256 : GCCBuiltin<"__builtin_ia32_ptestnzc256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4i64_ty, | |
llvm_v4i64_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_d_512 : GCCBuiltin<"__builtin_ia32_ptestmd512">, | |
Intrinsic<[llvm_i16_ty], [llvm_v16i32_ty, llvm_v16i32_ty, | |
llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_q_512 : GCCBuiltin<"__builtin_ia32_ptestmq512">, | |
Intrinsic<[llvm_i8_ty], [llvm_v8i64_ty, llvm_v8i64_ty, | |
llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_b_128 : GCCBuiltin<"__builtin_ia32_ptestmb128">, | |
Intrinsic<[llvm_i16_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_b_256 : GCCBuiltin<"__builtin_ia32_ptestmb256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_b_512 : GCCBuiltin<"__builtin_ia32_ptestmb512">, | |
Intrinsic<[llvm_i64_ty], [llvm_v64i8_ty, | |
llvm_v64i8_ty, llvm_i64_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_d_128 : GCCBuiltin<"__builtin_ia32_ptestmd128">, | |
Intrinsic<[llvm_i8_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_d_256 : GCCBuiltin<"__builtin_ia32_ptestmd256">, | |
Intrinsic<[llvm_i8_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_q_128 : GCCBuiltin<"__builtin_ia32_ptestmq128">, | |
Intrinsic<[llvm_i8_ty], [llvm_v2i64_ty, | |
llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_q_256 : GCCBuiltin<"__builtin_ia32_ptestmq256">, | |
Intrinsic<[llvm_i8_ty], [llvm_v4i64_ty, | |
llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_w_128 : GCCBuiltin<"__builtin_ia32_ptestmw128">, | |
Intrinsic<[llvm_i8_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_w_256 : GCCBuiltin<"__builtin_ia32_ptestmw256">, | |
Intrinsic<[llvm_i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestm_w_512 : GCCBuiltin<"__builtin_ia32_ptestmw512">, | |
Intrinsic<[llvm_i32_ty], [llvm_v32i16_ty, | |
llvm_v32i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_b_128 : GCCBuiltin<"__builtin_ia32_ptestnmb128">, | |
Intrinsic<[llvm_i16_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_b_256 : GCCBuiltin<"__builtin_ia32_ptestnmb256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_b_512 : GCCBuiltin<"__builtin_ia32_ptestnmb512">, | |
Intrinsic<[llvm_i64_ty], [llvm_v64i8_ty, | |
llvm_v64i8_ty, llvm_i64_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_d_128 : GCCBuiltin<"__builtin_ia32_ptestnmd128">, | |
Intrinsic<[llvm_i8_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_d_256 : GCCBuiltin<"__builtin_ia32_ptestnmd256">, | |
Intrinsic<[llvm_i8_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_d_512 : GCCBuiltin<"__builtin_ia32_ptestnmd512">, | |
Intrinsic<[llvm_i16_ty], [llvm_v16i32_ty, | |
llvm_v16i32_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_q_128 : GCCBuiltin<"__builtin_ia32_ptestnmq128">, | |
Intrinsic<[llvm_i8_ty], [llvm_v2i64_ty, | |
llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_q_256 : GCCBuiltin<"__builtin_ia32_ptestnmq256">, | |
Intrinsic<[llvm_i8_ty], [llvm_v4i64_ty, | |
llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_q_512 : GCCBuiltin<"__builtin_ia32_ptestnmq512">, | |
Intrinsic<[llvm_i8_ty], [llvm_v8i64_ty, | |
llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_w_128 : GCCBuiltin<"__builtin_ia32_ptestnmw128">, | |
Intrinsic<[llvm_i8_ty], [llvm_v8i16_ty, | |
llvm_v8i16_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_w_256 : GCCBuiltin<"__builtin_ia32_ptestnmw256">, | |
Intrinsic<[llvm_i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_ptestnm_w_512 : GCCBuiltin<"__builtin_ia32_ptestnmw512">, | |
Intrinsic<[llvm_i32_ty], [llvm_v32i16_ty, | |
llvm_v32i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_fpclass_pd_128 : | |
GCCBuiltin<"__builtin_ia32_fpclasspd128_mask">, | |
Intrinsic<[llvm_i8_ty], [llvm_v2f64_ty, llvm_i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_fpclass_pd_256 : | |
GCCBuiltin<"__builtin_ia32_fpclasspd256_mask">, | |
Intrinsic<[llvm_i8_ty], [llvm_v4f64_ty, llvm_i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_fpclass_pd_512 : | |
GCCBuiltin<"__builtin_ia32_fpclasspd512_mask">, | |
Intrinsic<[llvm_i8_ty], [llvm_v8f64_ty, llvm_i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_fpclass_ps_128 : | |
GCCBuiltin<"__builtin_ia32_fpclassps128_mask">, | |
Intrinsic<[llvm_i8_ty], [llvm_v4f32_ty, llvm_i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_fpclass_ps_256 : | |
GCCBuiltin<"__builtin_ia32_fpclassps256_mask">, | |
Intrinsic<[llvm_i8_ty], [llvm_v8f32_ty, llvm_i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_fpclass_ps_512 : | |
GCCBuiltin<"__builtin_ia32_fpclassps512_mask">, | |
Intrinsic<[llvm_i16_ty], [llvm_v16f32_ty, llvm_i32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_fpclass_sd : | |
GCCBuiltin<"__builtin_ia32_fpclasssd_mask">, | |
Intrinsic<[llvm_i8_ty], [llvm_v2f64_ty, llvm_i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_fpclass_ss : | |
GCCBuiltin<"__builtin_ia32_fpclassss_mask">, | |
Intrinsic<[llvm_i8_ty], [llvm_v4f32_ty, llvm_i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
} | |
// Vector extract sign mask | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_movmsk_pd_256 : GCCBuiltin<"__builtin_ia32_movmskpd256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_avx_movmsk_ps_256 : GCCBuiltin<"__builtin_ia32_movmskps256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v8f32_ty], [IntrNoMem]>; | |
} | |
// Vector zero | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_vzeroall : GCCBuiltin<"__builtin_ia32_vzeroall">, | |
Intrinsic<[], [], []>; | |
def int_x86_avx_vzeroupper : GCCBuiltin<"__builtin_ia32_vzeroupper">, | |
Intrinsic<[], [], []>; | |
} | |
// SIMD load ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_ldu_dq_256 : GCCBuiltin<"__builtin_ia32_lddqu256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_ptr_ty], [IntrReadMem]>; | |
} | |
// Conditional load ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_maskload_pd : GCCBuiltin<"__builtin_ia32_maskloadpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_ptr_ty, llvm_v2i64_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx_maskload_ps : GCCBuiltin<"__builtin_ia32_maskloadps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_ptr_ty, llvm_v4i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx_maskload_pd_256 : GCCBuiltin<"__builtin_ia32_maskloadpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_ptr_ty, llvm_v4i64_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx_maskload_ps_256 : GCCBuiltin<"__builtin_ia32_maskloadps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_ptr_ty, llvm_v8i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
} | |
// Conditional store ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx_maskstore_pd : GCCBuiltin<"__builtin_ia32_maskstorepd">, | |
Intrinsic<[], [llvm_ptr_ty, | |
llvm_v2i64_ty, llvm_v2f64_ty], [IntrArgMemOnly]>; | |
def int_x86_avx_maskstore_ps : GCCBuiltin<"__builtin_ia32_maskstoreps">, | |
Intrinsic<[], [llvm_ptr_ty, | |
llvm_v4i32_ty, llvm_v4f32_ty], [IntrArgMemOnly]>; | |
def int_x86_avx_maskstore_pd_256 : | |
GCCBuiltin<"__builtin_ia32_maskstorepd256">, | |
Intrinsic<[], [llvm_ptr_ty, | |
llvm_v4i64_ty, llvm_v4f64_ty], [IntrArgMemOnly]>; | |
def int_x86_avx_maskstore_ps_256 : | |
GCCBuiltin<"__builtin_ia32_maskstoreps256">, | |
Intrinsic<[], [llvm_ptr_ty, | |
llvm_v8i32_ty, llvm_v8f32_ty], [IntrArgMemOnly]>; | |
def int_x86_avx512_mask_store_ss : | |
GCCBuiltin<"__builtin_ia32_storess_mask">, | |
Intrinsic<[], [llvm_ptr_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrArgMemOnly]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// AVX2 | |
// Integer arithmetic ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_padds_b : GCCBuiltin<"__builtin_ia32_paddsb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_padds_w : GCCBuiltin<"__builtin_ia32_paddsw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_paddus_b : GCCBuiltin<"__builtin_ia32_paddusb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_paddus_w : GCCBuiltin<"__builtin_ia32_paddusw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_psubs_b : GCCBuiltin<"__builtin_ia32_psubsb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem]>; | |
def int_x86_avx2_psubs_w : GCCBuiltin<"__builtin_ia32_psubsw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_psubus_b : GCCBuiltin<"__builtin_ia32_psubusb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem]>; | |
def int_x86_avx2_psubus_w : GCCBuiltin<"__builtin_ia32_psubusw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_pmulhu_w : GCCBuiltin<"__builtin_ia32_pmulhuw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_pmulh_w : GCCBuiltin<"__builtin_ia32_pmulhw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_pmulu_dq : GCCBuiltin<"__builtin_ia32_pmuludq256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_pmul_dq : GCCBuiltin<"__builtin_ia32_pmuldq256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_pmadd_wd : GCCBuiltin<"__builtin_ia32_pmaddwd256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_pavg_b : GCCBuiltin<"__builtin_ia32_pavgb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_pavg_w : GCCBuiltin<"__builtin_ia32_pavgw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_psad_bw : GCCBuiltin<"__builtin_ia32_psadbw256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem, Commutative]>; | |
} | |
// Integer shift ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_psll_w : GCCBuiltin<"__builtin_ia32_psllw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_psll_d : GCCBuiltin<"__builtin_ia32_pslld256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_psll_q : GCCBuiltin<"__builtin_ia32_psllq256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_avx2_psrl_w : GCCBuiltin<"__builtin_ia32_psrlw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_psrl_d : GCCBuiltin<"__builtin_ia32_psrld256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_psrl_q : GCCBuiltin<"__builtin_ia32_psrlq256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_avx2_psra_w : GCCBuiltin<"__builtin_ia32_psraw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_psra_d : GCCBuiltin<"__builtin_ia32_psrad256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_pslli_w : GCCBuiltin<"__builtin_ia32_psllwi256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_pslli_d : GCCBuiltin<"__builtin_ia32_pslldi256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_pslli_q : GCCBuiltin<"__builtin_ia32_psllqi256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_psrli_w : GCCBuiltin<"__builtin_ia32_psrlwi256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_psrli_d : GCCBuiltin<"__builtin_ia32_psrldi256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_psrli_q : GCCBuiltin<"__builtin_ia32_psrlqi256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_psrai_w : GCCBuiltin<"__builtin_ia32_psrawi256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_psrai_d : GCCBuiltin<"__builtin_ia32_psradi256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psra_q_128 : GCCBuiltin<"__builtin_ia32_psraq128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_avx512_psra_q_256 : GCCBuiltin<"__builtin_ia32_psraq256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrai_q_128 : GCCBuiltin<"__builtin_ia32_psraqi128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrai_q_256 : GCCBuiltin<"__builtin_ia32_psraqi256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psll_w_512 : GCCBuiltin<"__builtin_ia32_psllw512">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_psll_d_512 : GCCBuiltin<"__builtin_ia32_pslld512">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psll_q_512 : GCCBuiltin<"__builtin_ia32_psllq512">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrl_w_512 : GCCBuiltin<"__builtin_ia32_psrlw512">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrl_d_512 : GCCBuiltin<"__builtin_ia32_psrld512">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrl_q_512 : GCCBuiltin<"__builtin_ia32_psrlq512">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_avx512_psra_w_512 : GCCBuiltin<"__builtin_ia32_psraw512">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, | |
llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_psra_d_512 : GCCBuiltin<"__builtin_ia32_psrad512">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psra_q_512 : GCCBuiltin<"__builtin_ia32_psraq512">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_v2i64_ty], [IntrNoMem]>; | |
def int_x86_avx512_pslli_w_512 : GCCBuiltin<"__builtin_ia32_psllwi512">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_pslli_d_512 : GCCBuiltin<"__builtin_ia32_pslldi512">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_pslli_q_512 : GCCBuiltin<"__builtin_ia32_psllqi512">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrli_w_512 : GCCBuiltin<"__builtin_ia32_psrlwi512">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrli_d_512 : GCCBuiltin<"__builtin_ia32_psrldi512">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrli_q_512 : GCCBuiltin<"__builtin_ia32_psrlqi512">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrai_w_512 : GCCBuiltin<"__builtin_ia32_psrawi512">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrai_d_512 : GCCBuiltin<"__builtin_ia32_psradi512">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_psrai_q_512 : GCCBuiltin<"__builtin_ia32_psraqi512">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pmultishift_qb_128: | |
GCCBuiltin<"__builtin_ia32_vpmultishiftqb128_mask">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, | |
llvm_v16i8_ty, llvm_v16i8_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pmultishift_qb_256: | |
GCCBuiltin<"__builtin_ia32_vpmultishiftqb256_mask">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty, llvm_v32i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pmultishift_qb_512: | |
GCCBuiltin<"__builtin_ia32_vpmultishiftqb512_mask">, | |
Intrinsic<[llvm_v64i8_ty], [llvm_v64i8_ty, | |
llvm_v64i8_ty, llvm_v64i8_ty, llvm_i64_ty], [IntrNoMem]>; | |
} | |
// Pack ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_packsswb : GCCBuiltin<"__builtin_ia32_packsswb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_packssdw : GCCBuiltin<"__builtin_ia32_packssdw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_packuswb : GCCBuiltin<"__builtin_ia32_packuswb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_packusdw : GCCBuiltin<"__builtin_ia32_packusdw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty], [IntrNoMem]>; | |
} | |
// Absolute value ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_pabs_b : GCCBuiltin<"__builtin_ia32_pabsb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty], [IntrNoMem]>; | |
def int_x86_avx2_pabs_w : GCCBuiltin<"__builtin_ia32_pabsw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_pabs_d : GCCBuiltin<"__builtin_ia32_pabsd256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_b_128 : | |
GCCBuiltin<"__builtin_ia32_pabsb128_mask">, | |
Intrinsic<[llvm_v16i8_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_b_256 : | |
GCCBuiltin<"__builtin_ia32_pabsb256_mask">, | |
Intrinsic<[llvm_v32i8_ty], | |
[llvm_v32i8_ty, llvm_v32i8_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_b_512 : | |
GCCBuiltin<"__builtin_ia32_pabsb512_mask">, | |
Intrinsic<[llvm_v64i8_ty], | |
[llvm_v64i8_ty, llvm_v64i8_ty, llvm_i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_d_128 : | |
GCCBuiltin<"__builtin_ia32_pabsd128_mask">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_d_256 : | |
GCCBuiltin<"__builtin_ia32_pabsd256_mask">, | |
Intrinsic<[llvm_v8i32_ty], | |
[llvm_v8i32_ty, llvm_v8i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_d_512 : | |
GCCBuiltin<"__builtin_ia32_pabsd512_mask">, | |
Intrinsic<[llvm_v16i32_ty], | |
[llvm_v16i32_ty, llvm_v16i32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_q_128 : | |
GCCBuiltin<"__builtin_ia32_pabsq128_mask">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_q_256 : | |
GCCBuiltin<"__builtin_ia32_pabsq256_mask">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_q_512 : | |
GCCBuiltin<"__builtin_ia32_pabsq512_mask">, | |
Intrinsic<[llvm_v8i64_ty], | |
[llvm_v8i64_ty, llvm_v8i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_w_128 : | |
GCCBuiltin<"__builtin_ia32_pabsw128_mask">, | |
Intrinsic<[llvm_v8i16_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_w_256 : | |
GCCBuiltin<"__builtin_ia32_pabsw256_mask">, | |
Intrinsic<[llvm_v16i16_ty], | |
[llvm_v16i16_ty, llvm_v16i16_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_pabs_w_512 : | |
GCCBuiltin<"__builtin_ia32_pabsw512_mask">, | |
Intrinsic<[llvm_v32i16_ty], | |
[llvm_v32i16_ty, llvm_v32i16_ty, llvm_i32_ty], | |
[IntrNoMem]>; | |
} | |
// Horizontal arithmetic ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_phadd_w : GCCBuiltin<"__builtin_ia32_phaddw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_phadd_d : GCCBuiltin<"__builtin_ia32_phaddd256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_phadd_sw : GCCBuiltin<"__builtin_ia32_phaddsw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_phsub_w : GCCBuiltin<"__builtin_ia32_phsubw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_phsub_d : GCCBuiltin<"__builtin_ia32_phsubd256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty], [IntrNoMem]>; | |
def int_x86_avx2_phsub_sw : GCCBuiltin<"__builtin_ia32_phsubsw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_pmadd_ub_sw : GCCBuiltin<"__builtin_ia32_pmaddubsw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem]>; | |
} | |
// Sign ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_psign_b : GCCBuiltin<"__builtin_ia32_psignb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem]>; | |
def int_x86_avx2_psign_w : GCCBuiltin<"__builtin_ia32_psignw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem]>; | |
def int_x86_avx2_psign_d : GCCBuiltin<"__builtin_ia32_psignd256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty], [IntrNoMem]>; | |
} | |
// Packed multiply high with round and scale | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_pmul_hr_sw : GCCBuiltin<"__builtin_ia32_pmulhrsw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, | |
llvm_v16i16_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx512_mask_pmul_hr_sw_128 : GCCBuiltin<"__builtin_ia32_pmulhrsw128_mask">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, | |
llvm_v8i16_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pmul_hr_sw_256 : GCCBuiltin<"__builtin_ia32_pmulhrsw256_mask">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, llvm_v16i16_ty, | |
llvm_v16i16_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pmul_hr_sw_512 : GCCBuiltin<"__builtin_ia32_pmulhrsw512_mask">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, llvm_v32i16_ty, | |
llvm_v32i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
} | |
// Vector blend | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_pblendvb : GCCBuiltin<"__builtin_ia32_pblendvb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem]>; | |
} | |
// Vector load with broadcast | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx512_mask_pbroadcast_b_gpr_128 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastb128_gpr_mask">, | |
Intrinsic<[llvm_v16i8_ty], | |
[llvm_i8_ty, llvm_v16i8_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_b_gpr_256 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastb256_gpr_mask">, | |
Intrinsic<[llvm_v32i8_ty], | |
[llvm_i8_ty, llvm_v32i8_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_b_gpr_512 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastb512_gpr_mask">, | |
Intrinsic<[llvm_v64i8_ty], | |
[llvm_i8_ty, llvm_v64i8_ty, llvm_i64_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_w_gpr_128 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastw128_gpr_mask">, | |
Intrinsic<[llvm_v8i16_ty], | |
[llvm_i16_ty, llvm_v8i16_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_w_gpr_256 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastw256_gpr_mask">, | |
Intrinsic<[llvm_v16i16_ty], | |
[llvm_i16_ty, llvm_v16i16_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_w_gpr_512 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastw512_gpr_mask">, | |
Intrinsic<[llvm_v32i16_ty], | |
[llvm_i16_ty, llvm_v32i16_ty, llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_d_gpr_128 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastd128_gpr_mask">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_i32_ty, llvm_v4i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_d_gpr_256 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastd256_gpr_mask">, | |
Intrinsic<[llvm_v8i32_ty], | |
[llvm_i32_ty, llvm_v8i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_d_gpr_512 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastd512_gpr_mask">, | |
Intrinsic<[llvm_v16i32_ty], | |
[llvm_i32_ty, llvm_v16i32_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_q_gpr_128 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastq128_gpr_mask">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_i64_ty, llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_q_gpr_256 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastq256_gpr_mask">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_i64_ty, llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_q_gpr_512 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastq512_gpr_mask">, | |
Intrinsic<[llvm_v8i64_ty], | |
[llvm_i64_ty, llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pbroadcast_q_mem_512 : | |
GCCBuiltin<"__builtin_ia32_pbroadcastq512_mem_mask">, | |
Intrinsic<[llvm_v8i64_ty], | |
[llvm_i64_ty, llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
} | |
// Vector permutation | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_permd : GCCBuiltin<"__builtin_ia32_permvarsi256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, llvm_v8i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_permps : GCCBuiltin<"__builtin_ia32_permvarsf256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, llvm_v8i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_vperm2i128 : GCCBuiltin<"__builtin_ia32_permti256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
} | |
// Vector extract and insert | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx512_mask_vextractf32x4_512 : | |
GCCBuiltin<"__builtin_ia32_extractf32x4_mask">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v16f32_ty, llvm_i32_ty, | |
llvm_v4f32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextracti32x4_512 : | |
GCCBuiltin<"__builtin_ia32_extracti32x4_mask">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v16i32_ty, llvm_i32_ty, | |
llvm_v4i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextractf32x4_256 : | |
GCCBuiltin<"__builtin_ia32_extractf32x4_256_mask">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v8f32_ty, llvm_i32_ty, | |
llvm_v4f32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextracti32x4_256 : | |
GCCBuiltin<"__builtin_ia32_extracti32x4_256_mask">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i32_ty, llvm_i32_ty, | |
llvm_v4i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextractf64x2_256 : | |
GCCBuiltin<"__builtin_ia32_extractf64x2_256_mask">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v4f64_ty, llvm_i32_ty, | |
llvm_v2f64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextracti64x2_256 : | |
GCCBuiltin<"__builtin_ia32_extracti64x2_256_mask">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i64_ty, llvm_i32_ty, | |
llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextractf64x2_512 : | |
GCCBuiltin<"__builtin_ia32_extractf64x2_512_mask">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v8f64_ty, llvm_i32_ty, | |
llvm_v2f64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextracti64x2_512 : | |
GCCBuiltin<"__builtin_ia32_extracti64x2_512_mask">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v8i64_ty, llvm_i32_ty, | |
llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextractf32x8_512 : | |
GCCBuiltin<"__builtin_ia32_extractf32x8_mask">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v16f32_ty, llvm_i32_ty, | |
llvm_v8f32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextracti32x8_512 : | |
GCCBuiltin<"__builtin_ia32_extracti32x8_mask">, | |
Intrinsic<[llvm_v8i32_ty],[llvm_v16i32_ty, llvm_i32_ty, | |
llvm_v8i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextractf64x4_512 : | |
GCCBuiltin<"__builtin_ia32_extractf64x4_mask">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v8f64_ty, llvm_i32_ty, | |
llvm_v4f64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vextracti64x4_512 : | |
GCCBuiltin<"__builtin_ia32_extracti64x4_mask">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v8i64_ty, llvm_i32_ty, | |
llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_insertf32x4_256 : | |
GCCBuiltin<"__builtin_ia32_insertf32x4_256_mask">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v4f32_ty, llvm_i32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_insertf32x4_512 : | |
GCCBuiltin<"__builtin_ia32_insertf32x4_mask">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v4f32_ty, llvm_i32_ty, llvm_v16f32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_insertf32x8_512 : | |
GCCBuiltin<"__builtin_ia32_insertf32x8_mask">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v8f32_ty, llvm_i32_ty, llvm_v16f32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_insertf64x2_256 : | |
GCCBuiltin<"__builtin_ia32_insertf64x2_256_mask">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v2f64_ty, llvm_i32_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_insertf64x2_512 : | |
GCCBuiltin<"__builtin_ia32_insertf64x2_512_mask">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v2f64_ty, llvm_i32_ty, llvm_v8f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_insertf64x4_512 : | |
GCCBuiltin<"__builtin_ia32_insertf64x4_mask">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v4f64_ty, llvm_i32_ty, llvm_v8f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_inserti32x4_256 : | |
GCCBuiltin<"__builtin_ia32_inserti32x4_256_mask">, | |
Intrinsic<[llvm_v8i32_ty], | |
[llvm_v8i32_ty, llvm_v4i32_ty, llvm_i32_ty, llvm_v8i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_inserti32x4_512 : | |
GCCBuiltin<"__builtin_ia32_inserti32x4_mask">, | |
Intrinsic<[llvm_v16i32_ty], | |
[llvm_v16i32_ty, llvm_v4i32_ty, llvm_i32_ty, llvm_v16i32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_inserti32x8_512 : | |
GCCBuiltin<"__builtin_ia32_inserti32x8_mask">, | |
Intrinsic<[llvm_v16i32_ty], | |
[llvm_v16i32_ty, llvm_v8i32_ty, llvm_i32_ty, llvm_v16i32_ty, llvm_i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_inserti64x2_256 : | |
GCCBuiltin<"__builtin_ia32_inserti64x2_256_mask">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_v4i64_ty, llvm_v2i64_ty, llvm_i32_ty, llvm_v4i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_inserti64x2_512 : | |
GCCBuiltin<"__builtin_ia32_inserti64x2_512_mask">, | |
Intrinsic<[llvm_v8i64_ty], | |
[llvm_v8i64_ty, llvm_v2i64_ty, llvm_i32_ty, llvm_v8i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_inserti64x4_512 : | |
GCCBuiltin<"__builtin_ia32_inserti64x4_mask">, | |
Intrinsic<[llvm_v8i64_ty], | |
[llvm_v8i64_ty, llvm_v4i64_ty, llvm_i32_ty, llvm_v8i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
} | |
// Conditional load ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_maskload_d : GCCBuiltin<"__builtin_ia32_maskloadd">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty, llvm_v4i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_maskload_q : GCCBuiltin<"__builtin_ia32_maskloadq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_ptr_ty, llvm_v2i64_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_maskload_d_256 : GCCBuiltin<"__builtin_ia32_maskloadd256">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_ptr_ty, llvm_v8i32_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_maskload_q_256 : GCCBuiltin<"__builtin_ia32_maskloadq256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_ptr_ty, llvm_v4i64_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
} | |
// Conditional store ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_maskstore_d : GCCBuiltin<"__builtin_ia32_maskstored">, | |
Intrinsic<[], [llvm_ptr_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrArgMemOnly]>; | |
def int_x86_avx2_maskstore_q : GCCBuiltin<"__builtin_ia32_maskstoreq">, | |
Intrinsic<[], [llvm_ptr_ty, llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrArgMemOnly]>; | |
def int_x86_avx2_maskstore_d_256 : | |
GCCBuiltin<"__builtin_ia32_maskstored256">, | |
Intrinsic<[], [llvm_ptr_ty, llvm_v8i32_ty, llvm_v8i32_ty], | |
[IntrArgMemOnly]>; | |
def int_x86_avx2_maskstore_q_256 : | |
GCCBuiltin<"__builtin_ia32_maskstoreq256">, | |
Intrinsic<[], [llvm_ptr_ty, llvm_v4i64_ty, llvm_v4i64_ty], | |
[IntrArgMemOnly]>; | |
} | |
// Variable bit shift ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_psllv_d : GCCBuiltin<"__builtin_ia32_psllv4si">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_psllv_d_256 : GCCBuiltin<"__builtin_ia32_psllv8si">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, llvm_v8i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_psllv_q : GCCBuiltin<"__builtin_ia32_psllv2di">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_psllv_q_256 : GCCBuiltin<"__builtin_ia32_psllv4di">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, llvm_v4i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psllv_d_512 : GCCBuiltin<"__builtin_ia32_psllv16si">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, llvm_v16i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psllv_q_512 : GCCBuiltin<"__builtin_ia32_psllv8di">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, llvm_v8i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_psrlv_d : GCCBuiltin<"__builtin_ia32_psrlv4si">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_psrlv_d_256 : GCCBuiltin<"__builtin_ia32_psrlv8si">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, llvm_v8i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_psrlv_q : GCCBuiltin<"__builtin_ia32_psrlv2di">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_psrlv_q_256 : GCCBuiltin<"__builtin_ia32_psrlv4di">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, llvm_v4i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrlv_d_512 : GCCBuiltin<"__builtin_ia32_psrlv16si">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, llvm_v16i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrlv_q_512 : GCCBuiltin<"__builtin_ia32_psrlv8di">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, llvm_v8i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_psrav_d : GCCBuiltin<"__builtin_ia32_psrav4si">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx2_psrav_d_256 : GCCBuiltin<"__builtin_ia32_psrav8si">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, llvm_v8i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrav_d_512 : GCCBuiltin<"__builtin_ia32_psrav16si">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, llvm_v16i32_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrav_q_128 : GCCBuiltin<"__builtin_ia32_psravq128">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrav_q_256 : GCCBuiltin<"__builtin_ia32_psravq256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, llvm_v4i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrav_q_512 : GCCBuiltin<"__builtin_ia32_psrav8di">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, llvm_v8i64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psllv_w_128 : GCCBuiltin<"__builtin_ia32_psllv8hi">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psllv_w_256 : GCCBuiltin<"__builtin_ia32_psllv16hi">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, llvm_v16i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psllv_w_512 : GCCBuiltin<"__builtin_ia32_psllv32hi">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, llvm_v32i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrlv_w_128 : GCCBuiltin<"__builtin_ia32_psrlv8hi">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrlv_w_256 : GCCBuiltin<"__builtin_ia32_psrlv16hi">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, llvm_v16i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrlv_w_512 : GCCBuiltin<"__builtin_ia32_psrlv32hi">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, llvm_v32i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrav_w_128 : GCCBuiltin<"__builtin_ia32_psrav8hi">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrav_w_256 : GCCBuiltin<"__builtin_ia32_psrav16hi">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v16i16_ty, llvm_v16i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_psrav_w_512 : GCCBuiltin<"__builtin_ia32_psrav32hi">, | |
Intrinsic<[llvm_v32i16_ty], [llvm_v32i16_ty, llvm_v32i16_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_prorv_d_128 : GCCBuiltin<"__builtin_ia32_prorvd128_mask">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty, llvm_v4i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prorv_d_256 : GCCBuiltin<"__builtin_ia32_prorvd256_mask">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty, llvm_v8i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prorv_d_512 : GCCBuiltin<"__builtin_ia32_prorvd512_mask">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_v16i32_ty, llvm_v16i32_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prorv_q_128 : GCCBuiltin<"__builtin_ia32_prorvq128_mask">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prorv_q_256 : GCCBuiltin<"__builtin_ia32_prorvq256_mask">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prorv_q_512 : GCCBuiltin<"__builtin_ia32_prorvq512_mask">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_v8i64_ty, llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prol_d_128 : GCCBuiltin<"__builtin_ia32_prold128_mask">, | |
Intrinsic<[llvm_v4i32_ty] , [llvm_v4i32_ty, | |
llvm_i32_ty, llvm_v4i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prol_d_256 : GCCBuiltin<"__builtin_ia32_prold256_mask">, | |
Intrinsic<[llvm_v8i32_ty] , [llvm_v8i32_ty, | |
llvm_i32_ty, llvm_v8i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prol_d_512 : GCCBuiltin<"__builtin_ia32_prold512_mask">, | |
Intrinsic<[llvm_v16i32_ty] , [llvm_v16i32_ty, | |
llvm_i32_ty, llvm_v16i32_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prol_q_128 : GCCBuiltin<"__builtin_ia32_prolq128_mask">, | |
Intrinsic<[llvm_v2i64_ty] , [llvm_v2i64_ty, | |
llvm_i32_ty, llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prol_q_256 : GCCBuiltin<"__builtin_ia32_prolq256_mask">, | |
Intrinsic<[llvm_v4i64_ty] , [llvm_v4i64_ty, | |
llvm_i32_ty, llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prol_q_512 : GCCBuiltin<"__builtin_ia32_prolq512_mask">, | |
Intrinsic<[llvm_v8i64_ty] , [llvm_v8i64_ty, | |
llvm_i32_ty, llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prolv_d_128 : GCCBuiltin<"__builtin_ia32_prolvd128_mask">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_v4i32_ty, llvm_v4i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prolv_d_256 : GCCBuiltin<"__builtin_ia32_prolvd256_mask">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_v8i32_ty, llvm_v8i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prolv_d_512 : GCCBuiltin<"__builtin_ia32_prolvd512_mask">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_v16i32_ty, llvm_v16i32_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prolv_q_128 : GCCBuiltin<"__builtin_ia32_prolvq128_mask">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prolv_q_256 : GCCBuiltin<"__builtin_ia32_prolvq256_mask">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_prolv_q_512 : GCCBuiltin<"__builtin_ia32_prolvq512_mask">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_v8i64_ty, llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pror_d_128 : GCCBuiltin<"__builtin_ia32_prord128_mask">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, | |
llvm_i32_ty, llvm_v4i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pror_d_256 : GCCBuiltin<"__builtin_ia32_prord256_mask">, | |
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, | |
llvm_i32_ty, llvm_v8i32_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pror_d_512 : GCCBuiltin<"__builtin_ia32_prord512_mask">, | |
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, | |
llvm_i32_ty, llvm_v16i32_ty, llvm_i16_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pror_q_128 : GCCBuiltin<"__builtin_ia32_prorq128_mask">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, | |
llvm_i32_ty, llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pror_q_256 : GCCBuiltin<"__builtin_ia32_prorq256_mask">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, | |
llvm_i32_ty, llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_pror_q_512 : GCCBuiltin<"__builtin_ia32_prorq512_mask">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, | |
llvm_i32_ty, llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
} | |
// Gather ops | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_gather_d_pd : GCCBuiltin<"__builtin_ia32_gatherd_pd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_d_pd_256 : GCCBuiltin<"__builtin_ia32_gatherd_pd256">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_q_pd : GCCBuiltin<"__builtin_ia32_gatherq_pd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_ptr_ty, llvm_v2i64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_q_pd_256 : GCCBuiltin<"__builtin_ia32_gatherq_pd256">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_ptr_ty, llvm_v4i64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_d_ps : GCCBuiltin<"__builtin_ia32_gatherd_ps">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_d_ps_256 : GCCBuiltin<"__builtin_ia32_gatherd_ps256">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_ptr_ty, llvm_v8i32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_q_ps : GCCBuiltin<"__builtin_ia32_gatherq_ps">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_ptr_ty, llvm_v2i64_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_q_ps_256 : GCCBuiltin<"__builtin_ia32_gatherq_ps256">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_ptr_ty, llvm_v4i64_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_d_q : GCCBuiltin<"__builtin_ia32_gatherd_q">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v2i64_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_d_q_256 : GCCBuiltin<"__builtin_ia32_gatherd_q256">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_v4i64_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v4i64_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_q_q : GCCBuiltin<"__builtin_ia32_gatherq_q">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_ptr_ty, llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_q_q_256 : GCCBuiltin<"__builtin_ia32_gatherq_q256">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_v4i64_ty, llvm_ptr_ty, llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_d_d : GCCBuiltin<"__builtin_ia32_gatherd_d">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v4i32_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_d_d_256 : GCCBuiltin<"__builtin_ia32_gatherd_d256">, | |
Intrinsic<[llvm_v8i32_ty], | |
[llvm_v8i32_ty, llvm_ptr_ty, llvm_v8i32_ty, llvm_v8i32_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_q_d : GCCBuiltin<"__builtin_ia32_gatherq_d">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_ptr_ty, llvm_v2i64_ty, llvm_v4i32_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
def int_x86_avx2_gather_q_d_256 : GCCBuiltin<"__builtin_ia32_gatherq_d256">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_ptr_ty, llvm_v4i64_ty, llvm_v4i32_ty, llvm_i8_ty], | |
[IntrReadMem, IntrArgMemOnly]>; | |
} | |
// Misc. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_avx2_pmovmskb : GCCBuiltin<"__builtin_ia32_pmovmskb256">, | |
Intrinsic<[llvm_i32_ty], [llvm_v32i8_ty], [IntrNoMem]>; | |
def int_x86_avx2_pshuf_b : GCCBuiltin<"__builtin_ia32_pshufb256">, | |
Intrinsic<[llvm_v32i8_ty], [llvm_v32i8_ty, | |
llvm_v32i8_ty], [IntrNoMem]>; | |
def int_x86_avx2_mpsadbw : GCCBuiltin<"__builtin_ia32_mpsadbw256">, | |
Intrinsic<[llvm_v16i16_ty], [llvm_v32i8_ty, llvm_v32i8_ty, | |
llvm_i8_ty], [IntrNoMem, Commutative]>; | |
def int_x86_avx2_movntdqa : GCCBuiltin<"__builtin_ia32_movntdqa256">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_ptr_ty], [IntrReadMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// FMA3 and FMA4 | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_fma_vfmadd_ss : GCCBuiltin<"__builtin_ia32_vfmaddss">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmadd_sd : GCCBuiltin<"__builtin_ia32_vfmaddsd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmadd_ps : GCCBuiltin<"__builtin_ia32_vfmaddps">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmadd_pd : GCCBuiltin<"__builtin_ia32_vfmaddpd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmadd_ps_256 : GCCBuiltin<"__builtin_ia32_vfmaddps256">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmadd_pd_256 : GCCBuiltin<"__builtin_ia32_vfmaddpd256">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsub_ss : GCCBuiltin<"__builtin_ia32_vfmsubss">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsub_sd : GCCBuiltin<"__builtin_ia32_vfmsubsd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsub_ps : GCCBuiltin<"__builtin_ia32_vfmsubps">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsub_pd : GCCBuiltin<"__builtin_ia32_vfmsubpd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsub_ps_256 : GCCBuiltin<"__builtin_ia32_vfmsubps256">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsub_pd_256 : GCCBuiltin<"__builtin_ia32_vfmsubpd256">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmadd_ss : GCCBuiltin<"__builtin_ia32_vfnmaddss">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmadd_sd : GCCBuiltin<"__builtin_ia32_vfnmaddsd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmadd_ps : GCCBuiltin<"__builtin_ia32_vfnmaddps">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmadd_pd : GCCBuiltin<"__builtin_ia32_vfnmaddpd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmadd_ps_256 : GCCBuiltin<"__builtin_ia32_vfnmaddps256">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmadd_pd_256 : GCCBuiltin<"__builtin_ia32_vfnmaddpd256">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmsub_ss : GCCBuiltin<"__builtin_ia32_vfnmsubss">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmsub_sd : GCCBuiltin<"__builtin_ia32_vfnmsubsd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmsub_ps : GCCBuiltin<"__builtin_ia32_vfnmsubps">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmsub_pd : GCCBuiltin<"__builtin_ia32_vfnmsubpd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmsub_ps_256 : GCCBuiltin<"__builtin_ia32_vfnmsubps256">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfnmsub_pd_256 : GCCBuiltin<"__builtin_ia32_vfnmsubpd256">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmaddsub_ps : GCCBuiltin<"__builtin_ia32_vfmaddsubps">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmaddsub_pd : GCCBuiltin<"__builtin_ia32_vfmaddsubpd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmaddsub_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps256">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmaddsub_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd256">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsubadd_ps : GCCBuiltin<"__builtin_ia32_vfmsubaddps">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsubadd_pd : GCCBuiltin<"__builtin_ia32_vfmsubaddpd">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsubadd_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmsubaddps256">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty], | |
[IntrNoMem]>; | |
def int_x86_fma_vfmsubadd_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmsubaddpd256">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfmadd_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddpd128_mask">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmadd_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddpd128_mask3">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmadd_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddpd128_maskz">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfmadd_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddpd256_mask">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmadd_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddpd256_mask3">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmadd_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddpd256_maskz">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfmadd_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddpd512_mask">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmadd_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddpd512_mask3">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmadd_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddpd512_maskz">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vfmadd_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddps128_mask">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmadd_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddps128_mask3">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmadd_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddps128_maskz">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfmadd_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddps256_mask">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmadd_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddps256_mask3">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmadd_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddps256_maskz">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfmadd_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddps512_mask">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmadd_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddps512_mask3">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmadd_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddps512_maskz">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vfmaddsub_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd128_mask">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmaddsub_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd128_mask3">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmaddsub_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd128_maskz">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfmaddsub_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd256_mask">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmaddsub_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd256_mask3">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmaddsub_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd256_maskz">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfmaddsub_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd512_mask">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmaddsub_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd512_mask3">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmaddsub_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubpd512_maskz">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vfmaddsub_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps128_mask">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmaddsub_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps128_mask3">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmaddsub_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps128_maskz">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfmaddsub_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps256_mask">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmaddsub_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps256_mask3">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmaddsub_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps256_maskz">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfmaddsub_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps512_mask">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmaddsub_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps512_mask3">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmaddsub_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfmaddsubps512_maskz">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vfmadd_sd : | |
GCCBuiltin<"__builtin_ia32_vfmaddsd3_mask">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vfmadd_ss : | |
GCCBuiltin<"__builtin_ia32_vfmaddss3_mask">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmadd_sd : | |
GCCBuiltin<"__builtin_ia32_vfmaddsd3_maskz">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vfmadd_ss : | |
GCCBuiltin<"__builtin_ia32_vfmaddss3_maskz">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmadd_sd : | |
GCCBuiltin<"__builtin_ia32_vfmaddsd3_mask3">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmadd_ss : | |
GCCBuiltin<"__builtin_ia32_vfmaddss3_mask3">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsub_sd : | |
GCCBuiltin<"__builtin_ia32_vfmsubsd3_mask3">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsub_ss : | |
GCCBuiltin<"__builtin_ia32_vfmsubss3_mask3">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsub_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfmsubpd128_mask3">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsub_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmsubpd256_mask3">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsub_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfmsubpd512_mask3">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsub_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfmsubps128_mask3">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsub_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmsubps256_mask3">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsub_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfmsubps512_mask3">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsubadd_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfmsubaddpd128_mask3">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsubadd_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfmsubaddpd256_mask3">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsubadd_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfmsubaddpd512_mask3">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsubadd_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfmsubaddps128_mask3">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsubadd_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfmsubaddps256_mask3">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfmsubadd_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfmsubaddps512_mask3">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmadd_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfnmaddpd128_mask">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmadd_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfnmaddpd256_mask">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmadd_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfnmaddpd512_mask">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmadd_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfnmaddps128_mask">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmadd_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfnmaddps256_mask">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmadd_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfnmaddps512_mask">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfnmsub_sd : | |
GCCBuiltin<"__builtin_ia32_vfnmsubsd3_mask3">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfnmsub_ss : | |
GCCBuiltin<"__builtin_ia32_vfnmsubss3_mask3">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmsub_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubpd128_mask">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfnmsub_pd_128 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubpd128_mask3">, | |
Intrinsic<[llvm_v2f64_ty], | |
[llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmsub_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubpd256_mask">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfnmsub_pd_256 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubpd256_mask3">, | |
Intrinsic<[llvm_v4f64_ty], | |
[llvm_v4f64_ty, llvm_v4f64_ty, llvm_v4f64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmsub_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubpd512_mask">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfnmsub_pd_512 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubpd512_mask3">, | |
Intrinsic<[llvm_v8f64_ty], | |
[llvm_v8f64_ty, llvm_v8f64_ty, llvm_v8f64_ty, llvm_i8_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmsub_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubps128_mask">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfnmsub_ps_128 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubps128_mask3">, | |
Intrinsic<[llvm_v4f32_ty], | |
[llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmsub_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubps256_mask">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask3_vfnmsub_ps_256 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubps256_mask3">, | |
Intrinsic<[llvm_v8f32_ty], | |
[llvm_v8f32_ty, llvm_v8f32_ty, llvm_v8f32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_avx512_mask_vfnmsub_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubps512_mask">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask3_vfnmsub_ps_512 : | |
GCCBuiltin<"__builtin_ia32_vfnmsubps512_mask3">, | |
Intrinsic<[llvm_v16f32_ty], | |
[llvm_v16f32_ty, llvm_v16f32_ty, llvm_v16f32_ty, llvm_i16_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpmadd52h_uq_128 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52huq128_mask">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, | |
llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vpmadd52h_uq_128 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52huq128_maskz">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, | |
llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpmadd52l_uq_128 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52luq128_mask">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, | |
llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vpmadd52l_uq_128 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52luq128_maskz">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, | |
llvm_v2i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpmadd52h_uq_256 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52huq256_mask">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, llvm_v4i64_ty, | |
llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vpmadd52h_uq_256 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52huq256_maskz">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, llvm_v4i64_ty, | |
llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpmadd52l_uq_256 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52luq256_mask">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, llvm_v4i64_ty, | |
llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vpmadd52l_uq_256 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52luq256_maskz">, | |
Intrinsic<[llvm_v4i64_ty], [llvm_v4i64_ty, llvm_v4i64_ty, | |
llvm_v4i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpmadd52h_uq_512 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52huq512_mask">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, llvm_v8i64_ty, | |
llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vpmadd52h_uq_512 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52huq512_maskz">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, llvm_v8i64_ty, | |
llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_mask_vpmadd52l_uq_512 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52luq512_mask">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, llvm_v8i64_ty, | |
llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_avx512_maskz_vpmadd52l_uq_512 : | |
GCCBuiltin<"__builtin_ia32_vpmadd52luq512_maskz">, | |
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, llvm_v8i64_ty, | |
llvm_v8i64_ty, llvm_i8_ty], [IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// XOP | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_xop_vpermil2pd : GCCBuiltin<"__builtin_ia32_vpermil2pd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty, | |
llvm_v2i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpermil2pd_256 : | |
GCCBuiltin<"__builtin_ia32_vpermil2pd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty, llvm_v4f64_ty, | |
llvm_v4i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpermil2ps : GCCBuiltin<"__builtin_ia32_vpermil2ps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, | |
llvm_v4i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpermil2ps_256 : | |
GCCBuiltin<"__builtin_ia32_vpermil2ps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, llvm_v8f32_ty, | |
llvm_v8i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vfrcz_pd : GCCBuiltin<"__builtin_ia32_vfrczpd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_xop_vfrcz_ps : GCCBuiltin<"__builtin_ia32_vfrczps">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_xop_vfrcz_sd : GCCBuiltin<"__builtin_ia32_vfrczsd">, | |
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; | |
def int_x86_xop_vfrcz_ss : GCCBuiltin<"__builtin_ia32_vfrczss">, | |
Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; | |
def int_x86_xop_vfrcz_pd_256 : GCCBuiltin<"__builtin_ia32_vfrczpd256">, | |
Intrinsic<[llvm_v4f64_ty], [llvm_v4f64_ty], [IntrNoMem]>; | |
def int_x86_xop_vfrcz_ps_256 : GCCBuiltin<"__builtin_ia32_vfrczps256">, | |
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty], [IntrNoMem]>; | |
def int_x86_xop_vpcmov : | |
GCCBuiltin<"__builtin_ia32_vpcmov">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpcmov_256 : | |
GCCBuiltin<"__builtin_ia32_vpcmov_256">, | |
Intrinsic<[llvm_v4i64_ty], | |
[llvm_v4i64_ty, llvm_v4i64_ty, llvm_v4i64_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpcomb : GCCBuiltin<"__builtin_ia32_vpcomb">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, | |
llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vpcomw : GCCBuiltin<"__builtin_ia32_vpcomw">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, | |
llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vpcomd : GCCBuiltin<"__builtin_ia32_vpcomd">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, | |
llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vpcomq : GCCBuiltin<"__builtin_ia32_vpcomq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, | |
llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vpcomub : GCCBuiltin<"__builtin_ia32_vpcomub">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, | |
llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vpcomuw : GCCBuiltin<"__builtin_ia32_vpcomuw">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, | |
llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vpcomud : GCCBuiltin<"__builtin_ia32_vpcomud">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, | |
llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vpcomuq : GCCBuiltin<"__builtin_ia32_vpcomuq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, | |
llvm_i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vphaddbd : | |
GCCBuiltin<"__builtin_ia32_vphaddbd">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vphaddbq : | |
GCCBuiltin<"__builtin_ia32_vphaddbq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vphaddbw : | |
GCCBuiltin<"__builtin_ia32_vphaddbw">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vphadddq : | |
GCCBuiltin<"__builtin_ia32_vphadddq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_xop_vphaddubd : | |
GCCBuiltin<"__builtin_ia32_vphaddubd">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vphaddubq : | |
GCCBuiltin<"__builtin_ia32_vphaddubq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vphaddubw : | |
GCCBuiltin<"__builtin_ia32_vphaddubw">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vphaddudq : | |
GCCBuiltin<"__builtin_ia32_vphaddudq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_xop_vphadduwd : | |
GCCBuiltin<"__builtin_ia32_vphadduwd">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_xop_vphadduwq : | |
GCCBuiltin<"__builtin_ia32_vphadduwq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_xop_vphaddwd : | |
GCCBuiltin<"__builtin_ia32_vphaddwd">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_xop_vphaddwq : | |
GCCBuiltin<"__builtin_ia32_vphaddwq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_xop_vphsubbw : | |
GCCBuiltin<"__builtin_ia32_vphsubbw">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty], [IntrNoMem]>; | |
def int_x86_xop_vphsubdq : | |
GCCBuiltin<"__builtin_ia32_vphsubdq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty], [IntrNoMem]>; | |
def int_x86_xop_vphsubwd : | |
GCCBuiltin<"__builtin_ia32_vphsubwd">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; | |
def int_x86_xop_vpmacsdd : | |
GCCBuiltin<"__builtin_ia32_vpmacsdd">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmacsdqh : | |
GCCBuiltin<"__builtin_ia32_vpmacsdqh">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmacsdql : | |
GCCBuiltin<"__builtin_ia32_vpmacsdql">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmacssdd : | |
GCCBuiltin<"__builtin_ia32_vpmacssdd">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmacssdqh : | |
GCCBuiltin<"__builtin_ia32_vpmacssdqh">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmacssdql : | |
GCCBuiltin<"__builtin_ia32_vpmacssdql">, | |
Intrinsic<[llvm_v2i64_ty], | |
[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmacsswd : | |
GCCBuiltin<"__builtin_ia32_vpmacsswd">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmacssww : | |
GCCBuiltin<"__builtin_ia32_vpmacssww">, | |
Intrinsic<[llvm_v8i16_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmacswd : | |
GCCBuiltin<"__builtin_ia32_vpmacswd">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmacsww : | |
GCCBuiltin<"__builtin_ia32_vpmacsww">, | |
Intrinsic<[llvm_v8i16_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmadcsswd : | |
GCCBuiltin<"__builtin_ia32_vpmadcsswd">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpmadcswd : | |
GCCBuiltin<"__builtin_ia32_vpmadcswd">, | |
Intrinsic<[llvm_v4i32_ty], | |
[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpperm : | |
GCCBuiltin<"__builtin_ia32_vpperm">, | |
Intrinsic<[llvm_v16i8_ty], | |
[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vprotb : GCCBuiltin<"__builtin_ia32_vprotb">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vprotd : GCCBuiltin<"__builtin_ia32_vprotd">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vprotq : GCCBuiltin<"__builtin_ia32_vprotq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vprotw : GCCBuiltin<"__builtin_ia32_vprotw">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vprotbi : GCCBuiltin<"__builtin_ia32_vprotbi">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vprotdi : GCCBuiltin<"__builtin_ia32_vprotdi">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vprotqi : GCCBuiltin<"__builtin_ia32_vprotqi">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vprotwi : GCCBuiltin<"__builtin_ia32_vprotwi">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpshab : | |
GCCBuiltin<"__builtin_ia32_vpshab">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpshad : | |
GCCBuiltin<"__builtin_ia32_vpshad">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpshaq : | |
GCCBuiltin<"__builtin_ia32_vpshaq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpshaw : | |
GCCBuiltin<"__builtin_ia32_vpshaw">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpshlb : | |
GCCBuiltin<"__builtin_ia32_vpshlb">, | |
Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpshld : | |
GCCBuiltin<"__builtin_ia32_vpshld">, | |
Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpshlq : | |
GCCBuiltin<"__builtin_ia32_vpshlq">, | |
Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], | |
[IntrNoMem]>; | |
def int_x86_xop_vpshlw : | |
GCCBuiltin<"__builtin_ia32_vpshlw">, | |
Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], | |
[IntrNoMem]>; | |
} | |
//===----------------------------------------------------------------------===// | |
// MMX | |
// Empty MMX state op. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
def int_x86_mmx_emms : GCCBuiltin<"__builtin_ia32_emms">, | |
Intrinsic<[], [], []>; | |
def int_x86_mmx_femms : GCCBuiltin<"__builtin_ia32_femms">, | |
Intrinsic<[], [], []>; | |
} | |
// Integer arithmetic ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
// Addition | |
def int_x86_mmx_padd_b : GCCBuiltin<"__builtin_ia32_paddb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_padd_w : GCCBuiltin<"__builtin_ia32_paddw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_padd_d : GCCBuiltin<"__builtin_ia32_paddd">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_padd_q : GCCBuiltin<"__builtin_ia32_paddq">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_padds_b : GCCBuiltin<"__builtin_ia32_paddsb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_padds_w : GCCBuiltin<"__builtin_ia32_paddsw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_paddus_b : GCCBuiltin<"__builtin_ia32_paddusb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_paddus_w : GCCBuiltin<"__builtin_ia32_paddusw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
// Subtraction | |
def int_x86_mmx_psub_b : GCCBuiltin<"__builtin_ia32_psubb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_psub_w : GCCBuiltin<"__builtin_ia32_psubw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_psub_d : GCCBuiltin<"__builtin_ia32_psubd">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_psub_q : GCCBuiltin<"__builtin_ia32_psubq">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_psubs_b : GCCBuiltin<"__builtin_ia32_psubsb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psubs_w : GCCBuiltin<"__builtin_ia32_psubsw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psubus_b : GCCBuiltin<"__builtin_ia32_psubusb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psubus_w : GCCBuiltin<"__builtin_ia32_psubusw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
// Multiplication | |
def int_x86_mmx_pmulh_w : GCCBuiltin<"__builtin_ia32_pmulhw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_pmull_w : GCCBuiltin<"__builtin_ia32_pmullw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_pmulhu_w : GCCBuiltin<"__builtin_ia32_pmulhuw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_pmulu_dq : GCCBuiltin<"__builtin_ia32_pmuludq">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_pmadd_wd : GCCBuiltin<"__builtin_ia32_pmaddwd">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
// Bitwise operations | |
def int_x86_mmx_pand : GCCBuiltin<"__builtin_ia32_pand">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_pandn : GCCBuiltin<"__builtin_ia32_pandn">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_por : GCCBuiltin<"__builtin_ia32_por">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
def int_x86_mmx_pxor : GCCBuiltin<"__builtin_ia32_pxor">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, llvm_x86mmx_ty], | |
[IntrNoMem]>; | |
// Averages | |
def int_x86_mmx_pavg_b : GCCBuiltin<"__builtin_ia32_pavgb">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_pavg_w : GCCBuiltin<"__builtin_ia32_pavgw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
// Maximum | |
def int_x86_mmx_pmaxu_b : GCCBuiltin<"__builtin_ia32_pmaxub">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_pmaxs_w : GCCBuiltin<"__builtin_ia32_pmaxsw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
// Minimum | |
def int_x86_mmx_pminu_b : GCCBuiltin<"__builtin_ia32_pminub">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
def int_x86_mmx_pmins_w : GCCBuiltin<"__builtin_ia32_pminsw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
// Packed sum of absolute differences | |
def int_x86_mmx_psad_bw : GCCBuiltin<"__builtin_ia32_psadbw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem, Commutative]>; | |
} | |
// Integer shift ops. | |
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.". | |
// Shift left logical | |
def int_x86_mmx_psll_w : GCCBuiltin<"__builtin_ia32_psllw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psll_d : GCCBuiltin<"__builtin_ia32_pslld">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psll_q : GCCBuiltin<"__builtin_ia32_psllq">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psrl_w : GCCBuiltin<"__builtin_ia32_psrlw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psrl_d : GCCBuiltin<"__builtin_ia32_psrld">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psrl_q : GCCBuiltin<"__builtin_ia32_psrlq">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psra_w : GCCBuiltin<"__builtin_ia32_psraw">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_psra_d : GCCBuiltin<"__builtin_ia32_psrad">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_x86mmx_ty], [IntrNoMem]>; | |
def int_x86_mmx_pslli_w : GCCBuiltin<"__builtin_ia32_psllwi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_mmx_pslli_d : GCCBuiltin<"__builtin_ia32_pslldi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_mmx_pslli_q : GCCBuiltin<"__builtin_ia32_psllqi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_mmx_psrli_w : GCCBuiltin<"__builtin_ia32_psrlwi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_mmx_psrli_d : GCCBuiltin<"__builtin_ia32_psrldi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_mmx_psrli_q : GCCBuiltin<"__builtin_ia32_psrlqi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_mmx_psrai_w : GCCBuiltin<"__builtin_ia32_psrawi">, | |
Intrinsic<[llvm_x86mmx_ty], [llvm_x86mmx_ty, | |
llvm_i32_ty], [IntrNoMem]>; | |
def int_x86_mmx_psrai_d : GCCBu |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment