clang 23.0.0git
AArch64CodeGenUtils.h File Reference

Utilities used for generating code for AArch64 that are shared between the classic and ClangIR code-gen. More...

#include "clang/Basic/TargetBuiltins.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsAArch64.h"

Go to the source code of this file.

Classes

struct  clang::aarch64::ARMVectorIntrinsicInfo

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::aarch64

Macros

#define NEONMAP0(NameBase)
#define NEONMAP1(NameBase, LLVMIntrinsic, TypeModifier)
#define NEONMAP2(NameBase, LLVMIntrinsic, AltLLVMIntrinsic, TypeModifier)

Enumerations

enum  {
  clang::aarch64::AddRetType = (1 << 0) , clang::aarch64::Add1ArgType = (1 << 1) , clang::aarch64::Add2ArgTypes = (1 << 2) , clang::aarch64::VectorizeRetType = (1 << 3) ,
  clang::aarch64::VectorizeArgTypes = (1 << 4) , clang::aarch64::InventFloatType = (1 << 5) , clang::aarch64::UnsignedAlts = (1 << 6) , clang::aarch64::Use64BitVectors = (1 << 7) ,
  clang::aarch64::Use128BitVectors = (1 << 8) , clang::aarch64::Vectorize1ArgType = Add1ArgType | VectorizeArgTypes , clang::aarch64::VectorRet = AddRetType | VectorizeRetType , clang::aarch64::VectorRetGetArgs01 ,
  clang::aarch64::FpCmpzModifiers
}

Variables

const ARMVectorIntrinsicInfo clang::aarch64::AArch64SIMDIntrinsicMap []
const ARMVectorIntrinsicInfo clang::aarch64::AArch64SISDIntrinsicMap []

Detailed Description

Utilities used for generating code for AArch64 that are shared between the classic and ClangIR code-gen.

Definition in file AArch64CodeGenUtils.h.

Macro Definition Documentation

◆ NEONMAP0

#define NEONMAP0 ( NameBase)
Value:
{#NameBase, NEON::BI__builtin_neon_##NameBase, 0, 0, 0}

Definition at line 67 of file AArch64CodeGenUtils.h.

◆ NEONMAP1

#define NEONMAP1 ( NameBase,
LLVMIntrinsic,
TypeModifier )
Value:
{#NameBase, NEON::BI__builtin_neon_##NameBase, \
llvm::Intrinsic::LLVMIntrinsic, 0, TypeModifier}

Definition at line 70 of file AArch64CodeGenUtils.h.

◆ NEONMAP2

#define NEONMAP2 ( NameBase,
LLVMIntrinsic,
AltLLVMIntrinsic,
TypeModifier )
Value:
{#NameBase, NEON::BI__builtin_neon_##NameBase, \
llvm::Intrinsic::LLVMIntrinsic, llvm::Intrinsic::AltLLVMIntrinsic, \
TypeModifier}

Definition at line 74 of file AArch64CodeGenUtils.h.