aarch64-apple-tvos

Arch aarch64
Family tvos
OS tvos

CFGs:

  • debug_assertions
  • panic="unwind"
  • target_abi=""
  • target_arch="aarch64"
  • target_endian="little"
  • target_env=""
  • target_family="unix"
  • target_feature="aes"
  • target_feature="llvm14-builtins-abi"
  • target_feature="neon"
  • target_feature="pmuv3"
  • target_feature="sha2"
  • target_has_atomic="128"
  • target_has_atomic="16"
  • target_has_atomic="32"
  • target_has_atomic="64"
  • target_has_atomic="8"
  • target_has_atomic="ptr"
  • target_has_atomic_equal_alignment="128"
  • target_has_atomic_equal_alignment="16"
  • target_has_atomic_equal_alignment="32"
  • target_has_atomic_equal_alignment="64"
  • target_has_atomic_equal_alignment="8"
  • target_has_atomic_equal_alignment="ptr"
  • target_has_atomic_load_store="128"
  • target_has_atomic_load_store="16"
  • target_has_atomic_load_store="32"
  • target_has_atomic_load_store="64"
  • target_has_atomic_load_store="8"
  • target_has_atomic_load_store="ptr"
  • target_os="tvos"
  • target_pointer_width="64"
  • target_vendor="apple"
  • unix
Feature Name Feature Explanation LLVM
neon Enable Advanced SIMD instructions. ⛔️
fp16 Full FP16. ⛔️
sve Enable Scalable Vector Extension (SVE) instructions. ⛔️
crc Enable ARMv8 CRC-32 checksum instructions. ⛔️
ras Enable ARMv8 Reliability, Availability and Serviceability Extensions. ⛔️
lse Enable ARMv8.1 Large System Extension (LSE) atomic instructions. ⛔️
rdm Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions. ⛔️
rcpc Enable support for RCPC extension. ⛔️
rcpc2 Enable v8.4-A RCPC instructions with Immediate Offsets. ⛔️
dotprod Enable dot product support. ⛔️
tme Enable Transactional Memory Extension. ⛔️
fhm Enable FP16 FML instructions. ⛔️
dit Enable v8.4-A Data Independent Timing instructions. ⛔️
flagm Enable v8.4-A Flag Manipulation Instructions. ⛔️
ssbs Enable Speculative Store Bypass Safe bit. ⛔️
sb Enable v8.5 Speculation Barrier. ⛔️
paca Enable v8.3-A Pointer Authentication extension. ⛔️
dpb Enable v8.2 data Cache Clean to Point of Persistence. ⛔️
dpb2 Enable v8.5 Cache Clean to Point of Deep Persistence. ⛔️
sve2 Enable Scalable Vector Extension 2 (SVE2) instructions. ⛔️
sve2-aes Enable AES SVE2 instructions. ⛔️
sve2-sm4 Enable SM4 SVE2 instructions. ⛔️
sve2-sha3 Enable SHA3 SVE2 instructions. ⛔️
sve2-bitperm Enable bit permutation SVE2 instructions. ⛔️
frintts Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int. ⛔️
i8mm Enable Matrix Multiply Int8 Extension. ⛔️
f32mm Enable Matrix Multiply FP32 Extension. ⛔️
f64mm Enable Matrix Multiply FP64 Extension. ⛔️
bf16 Enable BFloat16 Extension. ⛔️
rand Enable Random Number generation instructions. ⛔️
bti Enable Branch Target Identification. ⛔️
mte Enable Memory Tagging Extension. ⛔️
jsconv Enable v8.3-A JavaScript FP conversion instructions. ⛔️
fcma Enable v8.3-A Floating-point complex number support. ⛔️
aes Enable AES support. ⛔️
sha2 Enable SHA1 and SHA256 support. ⛔️
sha3 Enable SHA512 and SHA3 support. ⛔️
sm4 Enable SM3 and SM4 support. ⛔️
pan Enables ARM v8.1 Privileged Access-Never extension. ⛔️
lor Enables ARM v8.1 Limited Ordering Regions extension. ⛔️
vh Enables ARM v8.1 Virtual Host extension. ⛔️
pmuv3 Enable ARMv8 PMUv3 Performance Monitors extension. ⛔️
spe Enable Statistical Profiling extension. ⛔️
v8.1a Support ARM v8.1a instructions. ⛔️
v8.2a Support ARM v8.2a instructions. ⛔️
v8.3a Support ARM v8.3a instructions. ⛔️
v8.4a Support ARM v8.4a instructions. ⛔️
v8.5a Support ARM v8.5a instructions. ⛔️
v8.6a Support ARM v8.6a instructions. ⛔️
v8.7a Support ARM v8.7a instructions. ⛔️
crt-static Enables C Run-time Libraries to be statically linked. ⛔️
CONTEXTIDREL2 Enable RW operand CONTEXTIDR_EL2. ✅
a35 Cortex-A35 ARM processors. ✅
a510 Cortex-A510 ARM processors. ✅
a53 Cortex-A53 ARM processors. ✅
a55 Cortex-A55 ARM processors. ✅
a57 Cortex-A57 ARM processors. ✅
a64fx Fujitsu A64FX processors. ✅
a65 Cortex-A65 ARM processors. ✅
a710 Cortex-A710 ARM processors. ✅
a72 Cortex-A72 ARM processors. ✅
a73 Cortex-A73 ARM processors. ✅
a75 Cortex-A75 ARM processors. ✅
a76 Cortex-A76 ARM processors. ✅
a77 Cortex-A77 ARM processors. ✅
a78 Cortex-A78 ARM processors. ✅
a78c Cortex-A78C ARM processors. ✅
aggressive-fma Enable Aggressive FMA for floating-point.. ✅
all Enable all instructions. ✅
alternate-sextload-cvt-f32-pattern Use alternative pattern for sextload convert to f32. ✅
altnzcv Enable alternative NZCV format for floating point comparisons. ✅
am Enable v8.4-A Activity Monitors extension. ✅
ampere1 Ampere Computing Ampere-1 processors. ✅
amvs Enable v8.6-A Activity Monitors Virtualization support. ✅
apple-a10 Apple A10. ✅
apple-a11 Apple A11. ✅
apple-a12 Apple A12. ✅
apple-a13 Apple A13. ✅
apple-a14 Apple A14. ✅
apple-a7 Apple A7 (the CPU formerly known as Cyclone). ✅
apple-a7-sysreg Apple A7 (the CPU formerly known as Cyclone). ✅
arith-bcc-fusion CPU fuses arithmetic+bcc operations. ✅
arith-cbz-fusion CPU fuses arithmetic + cbz/cbnz operations. ✅
ascend-store-address Schedule vector stores by ascending address. ✅
balance-fp-ops balance mix of odd and even D-registers for fp multiply(-accumulate) ops. ✅
brbe Enable Branch Record Buffer Extension. ✅
call-saved-x10 Make X10 callee saved.. ✅
call-saved-x11 Make X11 callee saved.. ✅
call-saved-x12 Make X12 callee saved.. ✅
call-saved-x13 Make X13 callee saved.. ✅
call-saved-x14 Make X14 callee saved.. ✅
call-saved-x15 Make X15 callee saved.. ✅
call-saved-x18 Make X18 callee saved.. ✅
call-saved-x8 Make X8 callee saved.. ✅
call-saved-x9 Make X9 callee saved.. ✅
carmel Nvidia Carmel processors. ✅
ccidx Enable v8.3-A Extend of the CCSIDR number of sets. ✅
cmp-bcc-fusion CPU fuses cmp+bcc operations. ✅
cortex-r82 Cortex-R82 ARM processors. ✅
cortex-x1 Cortex-X1 ARM processors. ✅
cortex-x2 Cortex-X2 ARM processors. ✅
crypto Enable cryptographic instructions. ✅
custom-cheap-as-move Use custom handling of cheap instructions. ✅
disable-latency-sched-heuristic Disable latency scheduling heuristic. ✅
ecv Enable enhanced counter virtualization extension. ✅
el2vmsa Enable Exception Level 2 Virtual Memory System Architecture. ✅
el3 Enable Exception Level 3. ✅
ete Enable Embedded Trace Extension. ✅
exynos-cheap-as-move Use Exynos specific handling of cheap instructions. ✅
exynosm3 Samsung Exynos-M3 processors. ✅
exynosm4 Samsung Exynos-M4 processors. ✅
falkor Qualcomm Falkor processors. ✅
fgt Enable fine grained virtualization traps extension. ✅
fix-cortex-a53-835769 Mitigate Cortex-A53 Erratum 835769. ✅
force-32bit-jump-tables Force jump table entries to be 32-bits wide except at MinSize. ✅
fp-armv8 Enable ARMv8 FP. ✅
fuse-address CPU fuses address generation and memory operations. ✅
fuse-adrp-add CPU fuses adrp+add operations. ✅
fuse-aes CPU fuses AES crypto operations. ✅
fuse-arith-logic CPU fuses arithmetic and logic operations. ✅
fuse-crypto-eor CPU fuses AES/PMULL and EOR operations. ✅
fuse-csel CPU fuses conditional select operations. ✅
fuse-literals CPU fuses literal generation operations. ✅
harden-sls-blr Harden against straight line speculation across BLR instructions. ✅
harden-sls-nocomdat Generate thunk code for SLS mitigation in the normal text section. ✅
harden-sls-retbr Harden against straight line speculation across RET and BR instructions. ✅
hbc Enable Armv8.8-A Hinted Conditional Branches Extension. ✅
hcx Enable Armv8.7-A HCRX_EL2 system register. ✅
kryo Qualcomm Kryo processors. ✅
ldapr Use LDAPR to lower atomic loads; experimental until we have more testing/a formal correctness proof. ✅
ls64 Enable Armv8.7-A LD64B/ST64B Accelerator Extension. ✅
lse2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules. ✅
lsl-fast CPU has a fastpath logical shift of up to 3 places. ✅
mops Enable Armv8.8-A memcpy and memset acceleration instructions. ✅
mpam Enable v8.4-A Memory system Partitioning and Monitoring extension. ✅
neoverse512tvb Neoverse 512-TVB ARM processors. ✅
neoversee1 Neoverse E1 ARM processors. ✅
neoversen1 Neoverse N1 ARM processors. ✅
neoversen2 Neoverse N2 ARM processors. ✅
neoversev1 Neoverse V1 ARM processors. ✅
no-bti-at-return-twice Don't place a BTI instruction after a return-twice. ✅
no-neg-immediates Convert immediates and instructions to their negated or complemented equivalent when the immediate does not fit in the encoding.. ✅
no-zcz-fp Has no zero-cycle zeroing instructions for FP registers. ✅
nv Enable v8.4-A Nested Virtualization Enchancement. ✅
outline-atomics Enable out of line atomics to support LSE instructions. ✅
pan-rwv Enable v8.2 PAN s1e1R and s1e1W Variants. ✅
predictable-select-expensive Prefer likely predicted branches over selects. ✅
predres Enable v8.5a execution and data prediction invalidation instructions. ✅
reserve-x1 Reserve X1, making it unavailable as a GPR. ✅
reserve-x10 Reserve X10, making it unavailable as a GPR. ✅
reserve-x11 Reserve X11, making it unavailable as a GPR. ✅
reserve-x12 Reserve X12, making it unavailable as a GPR. ✅
reserve-x13 Reserve X13, making it unavailable as a GPR. ✅
reserve-x14 Reserve X14, making it unavailable as a GPR. ✅
reserve-x15 Reserve X15, making it unavailable as a GPR. ✅
reserve-x18 Reserve X18, making it unavailable as a GPR. ✅
reserve-x2 Reserve X2, making it unavailable as a GPR. ✅
reserve-x20 Reserve X20, making it unavailable as a GPR. ✅
reserve-x21 Reserve X21, making it unavailable as a GPR. ✅
reserve-x22 Reserve X22, making it unavailable as a GPR. ✅
reserve-x23 Reserve X23, making it unavailable as a GPR. ✅
reserve-x24 Reserve X24, making it unavailable as a GPR. ✅
reserve-x25 Reserve X25, making it unavailable as a GPR. ✅
reserve-x26 Reserve X26, making it unavailable as a GPR. ✅
reserve-x27 Reserve X27, making it unavailable as a GPR. ✅
reserve-x28 Reserve X28, making it unavailable as a GPR. ✅
reserve-x3 Reserve X3, making it unavailable as a GPR. ✅
reserve-x30 Reserve X30, making it unavailable as a GPR. ✅
reserve-x4 Reserve X4, making it unavailable as a GPR. ✅
reserve-x5 Reserve X5, making it unavailable as a GPR. ✅
reserve-x6 Reserve X6, making it unavailable as a GPR. ✅
reserve-x7 Reserve X7, making it unavailable as a GPR. ✅
reserve-x9 Reserve X9, making it unavailable as a GPR. ✅
rme Enable Realm Management Extension. ✅
saphira Qualcomm Saphira processors. ✅
sel2 Enable v8.4-A Secure Exception Level 2 extension. ✅
slow-misaligned-128store Misaligned 128 bit stores are slow. ✅
slow-paired-128 Paired 128 bit loads and stores are slow. ✅
slow-strqro-store STR of Q register with register offset is slow. ✅
sme Enable Scalable Matrix Extension (SME). ✅
sme-f64 Enable Scalable Matrix Extension (SME) F64F64 instructions. ✅
sme-i64 Enable Scalable Matrix Extension (SME) I16I64 instructions. ✅
spe-eef Enable extra register in the Statistical Profiling Extension. ✅
specrestrict Enable architectural speculation restriction. ✅
strict-align Disallow all unaligned memory access. ✅
tagged-globals Use an instruction sequence for taking the address of a global that allows a memory tag in the upper address bits. ✅
thunderx Cavium ThunderX processors. ✅
thunderx2t99 Cavium ThunderX2 processors. ✅
thunderx3t110 Marvell ThunderX3 processors. ✅
thunderxt81 Cavium ThunderX processors. ✅
thunderxt83 Cavium ThunderX processors. ✅
thunderxt88 Cavium ThunderX processors. ✅
tlb-rmi Enable v8.4-A TLB Range and Maintenance Instructions. ✅
tpidr-el1 Permit use of TPIDR_EL1 for the TLS base. ✅
tpidr-el2 Permit use of TPIDR_EL2 for the TLS base. ✅
tpidr-el3 Permit use of TPIDR_EL3 for the TLS base. ✅
tracev8.4 Enable v8.4-A Trace extension. ✅
trbe Enable Trace Buffer Extension. ✅
tsv110 HiSilicon TS-V110 processors. ✅
uaops Enable v8.2 UAO PState. ✅
use-experimental-zeroing-pseudos Hint to the compiler that the MOVPRFX instruction is merged with destructive operations. ✅
use-postra-scheduler Schedule again after register allocation. ✅
use-reciprocal-square-root Use the reciprocal square root approximation. ✅
use-scalar-inc-vl Prefer inc/dec over add+cnt. ✅
v8.8a Support ARM v8.8a instructions. ✅
v8a Support ARM v8.0a instructions. ✅
v8r Support ARM v8r instructions. ✅
v9.1a Support ARM v9.1a instructions. ✅
v9.2a Support ARM v9.2a instructions. ✅
v9.3a Support ARM v9.3a instructions. ✅
v9a Support ARM v9a instructions. ✅
wfxt Enable Armv8.7-A WFET and WFIT instruction. ✅
xs Enable Armv8.7-A limited-TLB-maintenance instruction. ✅
zcm Has zero-cycle register moves. ✅
zcz Has zero-cycle zeroing instructions. ✅
zcz-fp-workaround The zero-cycle floating-point zeroing instruction has a bug. ✅
zcz-gp Has zero-cycle zeroing instructions for generic registers. ✅