D:\Documents\vscode\rust\float_test [main ≡ +0 ~1 -0 !]> rustc --target=arm-unknown-linux-musleabi --print target-features Features supported by rustc for this target: aclass - Is application profile ('A' series). mclass - Is microcontroller profile ('M' series). rclass - Is realtime profile ('R' series). dsp - Supports DSP instructions in ARM and/or Thumb2. neon - Enable NEON instructions. crc - Enable support for CRC instructions. crypto - Enable support for Cryptography extensions. aes - Enable AES support. sha2 - Enable SHA1 and SHA256 support. i8mm - Enable Matrix Multiply Int8 Extension. dotprod - Enable support for dot product instructions. v5te - Support ARM v5TE, v5TEj, and v5TExp instructions. v6 - Support ARM v6 instructions. v6k - Support ARM v6k instructions. v6t2 - Support ARM v6t2 instructions. v7 - Support ARM v7 instructions. v8 - Support ARM v8 instructions. vfp2 - Enable VFP2 instructions. vfp3 - Enable VFP3 instructions. vfp4 - Enable VFP4 instructions. fp-armv8 - Enable ARMv8 FP. thumb-mode - Thumb mode. crt-static - Enables C Run-time Libraries to be statically linked. Code-generation features supported by LLVM for this target: 32bit - Prefer 32-bit Thumb instrs. 8msecext - Enable support for ARMv8-M Security Extensions. a12 - Cortex-A12 ARM processors. a15 - Cortex-A15 ARM processors. a17 - Cortex-A17 ARM processors. a32 - Cortex-A32 ARM processors. a35 - Cortex-A35 ARM processors. a5 - Cortex-A5 ARM processors. a53 - Cortex-A53 ARM processors. a55 - Cortex-A55 ARM processors. a57 - Cortex-A57 ARM processors. a7 - Cortex-A7 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. a78c - Cortex-A78C ARM processors. a8 - Cortex-A8 ARM processors. a9 - Cortex-A9 ARM processors. acquire-release - Has v8 acquire/release (lda/ldaex etc) instructions. armv2 - ARMv2 architecture. armv2a - ARMv2a architecture. armv3 - ARMv3 architecture. armv3m - ARMv3m architecture. armv4 - ARMv4 architecture. armv4t - ARMv4t architecture. armv5t - ARMv5t architecture. armv5te - ARMv5te architecture. armv5tej - ARMv5tej architecture. armv6 - ARMv6 architecture. armv6-m - ARMv6m architecture. armv6j - ARMv7a architecture. armv6k - ARMv6k architecture. armv6kz - ARMv6kz architecture. armv6s-m - ARMv6sm architecture. armv6t2 - ARMv6t2 architecture. armv7-a - ARMv7a architecture. armv7-m - ARMv7m architecture. armv7-r - ARMv7r architecture. armv7e-m - ARMv7em architecture. armv7k - ARMv7a architecture. armv7s - ARMv7a architecture. armv7ve - ARMv7ve architecture. armv8-a - ARMv8a architecture. armv8-m.base - ARMv8mBaseline architecture. armv8-m.main - ARMv8mMainline architecture. armv8-r - ARMv8r architecture. armv8.1-a - ARMv81a architecture. armv8.1-m.main - ARMv81mMainline architecture. armv8.2-a - ARMv82a architecture. armv8.3-a - ARMv83a architecture. armv8.4-a - ARMv84a architecture. armv8.5-a - ARMv85a architecture. armv8.6-a - ARMv86a architecture. armv8.7-a - ARMv87a architecture. avoid-movs-shop - Avoid movs instructions with shifter operand. avoid-partial-cpsr - Avoid CPSR partial update for OOO execution. bf16 - Enable support for BFloat16 instructions. cde - Support CDE instructions. cdecp0 - Coprocessor 0 ISA is CDEv1. cdecp1 - Coprocessor 1 ISA is CDEv1. cdecp2 - Coprocessor 2 ISA is CDEv1. cdecp3 - Coprocessor 3 ISA is CDEv1. cdecp4 - Coprocessor 4 ISA is CDEv1. cdecp5 - Coprocessor 5 ISA is CDEv1. cdecp6 - Coprocessor 6 ISA is CDEv1. cdecp7 - Coprocessor 7 ISA is CDEv1. cheap-predicable-cpsr - Disable +1 predication cost for instructions updating CPSR. cortex-a78 - Cortex-A78 ARM processors. cortex-x1 - Cortex-X1 ARM processors. d32 - Extend FP to 32 double registers. db - Has data barrier (dmb/dsb) instructions. dfb - Has full data barrier (dfb) instruction. disable-postra-scheduler - Don't schedule again after register allocation. dont-widen-vmovs - Don't widen VMOVS to VMOVD. execute-only - Enable the generation of execute only code.. expand-fp-mlx - Expand VFP/NEON MLA/MLS instructions. exynos - Samsung Exynos processors. fp-armv8d16 - Enable ARMv8 FP with only 16 d-registers. fp-armv8d16sp - Enable ARMv8 FP with only 16 d-registers and no double precision. fp-armv8sp - Enable ARMv8 FP with no double precision. fp16 - Enable half-precision floating point. fp16fml - Enable full half-precision floating point fml instructions. fp64 - Floating point unit supports double precision. fpao - Enable fast computation of positive address offsets. fpregs - Enable FP registers. fpregs16 - Enable 16-bit FP registers. fpregs64 - Enable 64-bit FP registers. fullfp16 - Enable full half-precision floating point. fuse-aes - CPU fuses AES crypto operations. fuse-literals - CPU fuses literal generation operations. harden-sls-blr - Harden against straight line speculation across indirect calls. harden-sls-nocomdat - Generate thunk code for SLS mitigation in the normal text section. harden-sls-retbr - Harden against straight line speculation across RETurn and BranchRegister instructions. hwdiv - Enable divide instructions in Thumb. hwdiv-arm - Enable divide instructions in ARM mode. iwmmxt - ARMv5te architecture. iwmmxt2 - ARMv5te architecture. krait - Qualcomm Krait processors. kryo - Qualcomm Kryo processors. lob - Enable Low Overhead Branch extensions. long-calls - Generate calls via indirect call instructions. loop-align - Prefer 32-bit alignment for loops. m3 - Cortex-M3 ARM processors. m7 - Cortex-M7 ARM processors. mp - Supports Multiprocessing extension. muxed-units - Has muxed AGU and NEON/FPU. mve - Support M-Class Vector Extension with integer ops. mve.fp - Support M-Class Vector Extension with integer and floating ops. mve1beat - Model MVE instructions as a 1 beat per tick architecture. mve2beat - Model MVE instructions as a 2 beats per tick architecture. mve4beat - Model MVE instructions as a 4 beats per tick architecture. nacl-trap - NaCl trap. neon-fpmovs - Convert VMOVSR, VMOVRS, VMOVS to NEON. neonfp - Use NEON for single precision FP. neoverse-v1 - Neoverse-V1 ARM processors. no-branch-predictor - Has no branch predictor. no-movt - Don't use movt/movw pairs for 32-bit imms. no-neg-immediates - Convert immediates and instructions to their negated or complemented equivalent when the immediate does not fit in the encoding.. noarm - Does not support ARM mode execution. nonpipelined-vfp - VFP instructions are not pipelined. perfmon - Enable support for Performance Monitor extensions. prefer-ishst - Prefer ISHST barriers. prefer-vmovsr - Prefer VMOVSR. prof-unpr - Is profitable to unpredicate. r4 - Cortex-R4 ARM processors. r5 - Cortex-R5 ARM processors. r52 - Cortex-R52 ARM processors. r7 - Cortex-R7 ARM processors. ras - Enable Reliability, Availability and Serviceability extensions. read-tp-hard - Reading thread pointer from register. reserve-r9 - Reserve R9, making it unavailable as GPR. ret-addr-stack - Has return address stack. sb - Enable v8.5a Speculation Barrier. slow-fp-brcc - FP compare + branch is slow. slow-load-D-subreg - Loading into D subregs is slow. slow-odd-reg - VLDM/VSTM starting with an odd register is slow. slow-vdup32 - Has slow VDUP32 - prefer VMOV. slow-vgetlni32 - Has slow VGETLNi32 - prefer VMOV. slowfpvfmx - Disable VFP / NEON FMA instructions. slowfpvmlx - Disable VFP / NEON MAC instructions. soft-float - Use software floating point features.. splat-vfp-neon - Splat register from VFP to NEON. strict-align - Disallow all unaligned memory access. swift - Swift ARM processors. thumb2 - Enable Thumb2 instructions. trustzone - Enable support for TrustZone security extensions. use-misched - Use the MachineScheduler. v4t - Support ARM v4T instructions. v5t - Support ARM v5T instructions. v6m - Support ARM v6M instructions. v7clrex - Has v7 clrex instruction. v8.1a - Support ARM v8.1a instructions. v8.1m.main - Support ARM v8-1M Mainline 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. v8m - Support ARM v8M Baseline instructions. v8m.main - Support ARM v8M Mainline instructions. vfp2sp - Enable VFP2 instructions with no double precision. vfp3d16 - Enable VFP3 instructions with only 16 d-registers. vfp3d16sp - Enable VFP3 instructions with only 16 d-registers and no double precision. vfp3sp - Enable VFP3 instructions with no double precision. vfp4d16 - Enable VFP4 instructions with only 16 d-registers. vfp4d16sp - Enable VFP4 instructions with only 16 d-registers and no double precision. vfp4sp - Enable VFP4 instructions with no double precision. virtualization - Supports Virtualization extension. vldn-align - Check for VLDn unaligned access. vmlx-forwarding - Has multiplier accumulator forwarding. vmlx-hazards - Has VMLx hazards. wide-stride-vfp - Use a wide stride when allocating VFP registers. xscale - ARMv5te architecture. zcz - Has zero-cycle zeroing instructions. Use +feature to enable a feature, or -feature to disable it. For example, rustc -C target-cpu=mycpu -C target-feature=+feature1,-feature2 Code-generation features cannot be used in cfg or #[target_feature], and may be renamed or removed in a future version of LLVM or rustc. D:\Documents\vscode\rust\float_test [main ≡ +0 ~1 -0 !]> rustc --target=arm-unknown-linux-musleabi --print target-cpus Available CPUs for this target: arm1020e arm1020t arm1022e arm10e arm10tdmi arm1136j-s arm1136jf-s arm1156t2-s arm1156t2f-s arm1176jz-s arm1176jzf-s arm710t arm720t arm7tdmi arm7tdmi-s arm8 arm810 arm9 arm920 arm920t arm922t arm926ej-s arm940t arm946e-s arm966e-s arm968e-s arm9e arm9tdmi cortex-a12 cortex-a15 cortex-a17 cortex-a32 cortex-a35 cortex-a5 cortex-a53 cortex-a55 cortex-a57 cortex-a7 cortex-a72 cortex-a73 cortex-a75 cortex-a76 cortex-a76ae cortex-a77 cortex-a78 cortex-a78c cortex-a8 cortex-a9 cortex-m0 cortex-m0plus cortex-m1 cortex-m23 cortex-m3 cortex-m33 cortex-m35p cortex-m4 cortex-m55 cortex-m7 cortex-r4 cortex-r4f cortex-r5 cortex-r52 cortex-r7 cortex-r8 cortex-x1 cyclone ep9312 exynos-m3 exynos-m4 exynos-m5 generic iwmmxt krait kryo mpcore mpcorenovfp neoverse-n1 neoverse-n2 neoverse-v1 sc000 sc300 strongarm strongarm110 strongarm1100 strongarm1110 swift xscale D:\Documents\vscode\rust\float_test [main ≡ +0 ~1 -0 !]>