clang 23.0.0git
clang::aarch64::ARMNeonVectorIntrinsicInfo Struct Reference

Describes an ARM or AArch64 NEON intrinsic, or an AArch64 SISD intrinsic. More...

#include "clang/Basic/AArch64CodeGenUtils.h"

Public Member Functions

bool operator< (unsigned RHSBuiltinID) const
bool operator< (const ARMNeonVectorIntrinsicInfo &TE) const

Public Attributes

const char * NameHint
unsigned BuiltinID
unsigned LLVMIntrinsic
unsigned AltLLVMIntrinsic
uint64_t TypeModifier

Detailed Description

Describes an ARM or AArch64 NEON intrinsic, or an AArch64 SISD intrinsic.

NEON and SISD code generation use NameHint and AltLLVMIntrinsic in addition to BuiltinID, LLVMIntrinsic, and TypeModifier. SVE and SME code generation does not use those fields, so AArch64SVEAndSMEVectorIntrinsicInfo omits them. On 64-bit hosts, the separate structure reduces each SVE and SME map entry from 32 to 16 bytes and avoids storing a name pointer for each entry.

Definition at line 59 of file AArch64CodeGenUtils.h.

Member Function Documentation

◆ operator<() [1/2]

bool clang::aarch64::ARMNeonVectorIntrinsicInfo::operator< ( const ARMNeonVectorIntrinsicInfo & TE) const
inline

Definition at line 69 of file AArch64CodeGenUtils.h.

References BuiltinID.

◆ operator<() [2/2]

bool clang::aarch64::ARMNeonVectorIntrinsicInfo::operator< ( unsigned RHSBuiltinID) const
inline

Definition at line 66 of file AArch64CodeGenUtils.h.

References BuiltinID.

Member Data Documentation

◆ AltLLVMIntrinsic

unsigned clang::aarch64::ARMNeonVectorIntrinsicInfo::AltLLVMIntrinsic

◆ BuiltinID

unsigned clang::aarch64::ARMNeonVectorIntrinsicInfo::BuiltinID

◆ LLVMIntrinsic

unsigned clang::aarch64::ARMNeonVectorIntrinsicInfo::LLVMIntrinsic

◆ NameHint

const char* clang::aarch64::ARMNeonVectorIntrinsicInfo::NameHint

◆ TypeModifier

uint64_t clang::aarch64::ARMNeonVectorIntrinsicInfo::TypeModifier

The documentation for this struct was generated from the following file: