1. D:\Documents\vscode\rust\float_test [main ≡ +0 ~1 -0 !]> rustc --target=arm-unknown-linux-musleabi --print target-features
  2. Features supported by rustc for this target:
  3. aclass - Is application profile ('A' series).
  4. mclass - Is microcontroller profile ('M' series).
  5. rclass - Is realtime profile ('R' series).
  6. dsp - Supports DSP instructions in ARM and/or Thumb2.
  7. neon - Enable NEON instructions.
  8. crc - Enable support for CRC instructions.
  9. crypto - Enable support for Cryptography extensions.
  10. aes - Enable AES support.
  11. sha2 - Enable SHA1 and SHA256 support.
  12. i8mm - Enable Matrix Multiply Int8 Extension.
  13. dotprod - Enable support for dot product instructions.
  14. v5te - Support ARM v5TE, v5TEj, and v5TExp instructions.
  15. v6 - Support ARM v6 instructions.
  16. v6k - Support ARM v6k instructions.
  17. v6t2 - Support ARM v6t2 instructions.
  18. v7 - Support ARM v7 instructions.
  19. v8 - Support ARM v8 instructions.
  20. vfp2 - Enable VFP2 instructions.
  21. vfp3 - Enable VFP3 instructions.
  22. vfp4 - Enable VFP4 instructions.
  23. fp-armv8 - Enable ARMv8 FP.
  24. thumb-mode - Thumb mode.
  25. crt-static - Enables C Run-time Libraries to be statically linked.
  26. Code-generation features supported by LLVM for this target:
  27. 32bit - Prefer 32-bit Thumb instrs.
  28. 8msecext - Enable support for ARMv8-M Security Extensions.
  29. a12 - Cortex-A12 ARM processors.
  30. a15 - Cortex-A15 ARM processors.
  31. a17 - Cortex-A17 ARM processors.
  32. a32 - Cortex-A32 ARM processors.
  33. a35 - Cortex-A35 ARM processors.
  34. a5 - Cortex-A5 ARM processors.
  35. a53 - Cortex-A53 ARM processors.
  36. a55 - Cortex-A55 ARM processors.
  37. a57 - Cortex-A57 ARM processors.
  38. a7 - Cortex-A7 ARM processors.
  39. a72 - Cortex-A72 ARM processors.
  40. a73 - Cortex-A73 ARM processors.
  41. a75 - Cortex-A75 ARM processors.
  42. a76 - Cortex-A76 ARM processors.
  43. a77 - Cortex-A77 ARM processors.
  44. a78c - Cortex-A78C ARM processors.
  45. a8 - Cortex-A8 ARM processors.
  46. a9 - Cortex-A9 ARM processors.
  47. acquire-release - Has v8 acquire/release (lda/ldaex etc) instructions.
  48. armv2 - ARMv2 architecture.
  49. armv2a - ARMv2a architecture.
  50. armv3 - ARMv3 architecture.
  51. armv3m - ARMv3m architecture.
  52. armv4 - ARMv4 architecture.
  53. armv4t - ARMv4t architecture.
  54. armv5t - ARMv5t architecture.
  55. armv5te - ARMv5te architecture.
  56. armv5tej - ARMv5tej architecture.
  57. armv6 - ARMv6 architecture.
  58. armv6-m - ARMv6m architecture.
  59. armv6j - ARMv7a architecture.
  60. armv6k - ARMv6k architecture.
  61. armv6kz - ARMv6kz architecture.
  62. armv6s-m - ARMv6sm architecture.
  63. armv6t2 - ARMv6t2 architecture.
  64. armv7-a - ARMv7a architecture.
  65. armv7-m - ARMv7m architecture.
  66. armv7-r - ARMv7r architecture.
  67. armv7e-m - ARMv7em architecture.
  68. armv7k - ARMv7a architecture.
  69. armv7s - ARMv7a architecture.
  70. armv7ve - ARMv7ve architecture.
  71. armv8-a - ARMv8a architecture.
  72. armv8-m.base - ARMv8mBaseline architecture.
  73. armv8-m.main - ARMv8mMainline architecture.
  74. armv8-r - ARMv8r architecture.
  75. armv8.1-a - ARMv81a architecture.
  76. armv8.1-m.main - ARMv81mMainline architecture.
  77. armv8.2-a - ARMv82a architecture.
  78. armv8.3-a - ARMv83a architecture.
  79. armv8.4-a - ARMv84a architecture.
  80. armv8.5-a - ARMv85a architecture.
  81. armv8.6-a - ARMv86a architecture.
  82. armv8.7-a - ARMv87a architecture.
  83. avoid-movs-shop - Avoid movs instructions with shifter operand.
  84. avoid-partial-cpsr - Avoid CPSR partial update for OOO execution.
  85. bf16 - Enable support for BFloat16 instructions.
  86. cde - Support CDE instructions.
  87. cdecp0 - Coprocessor 0 ISA is CDEv1.
  88. cdecp1 - Coprocessor 1 ISA is CDEv1.
  89. cdecp2 - Coprocessor 2 ISA is CDEv1.
  90. cdecp3 - Coprocessor 3 ISA is CDEv1.
  91. cdecp4 - Coprocessor 4 ISA is CDEv1.
  92. cdecp5 - Coprocessor 5 ISA is CDEv1.
  93. cdecp6 - Coprocessor 6 ISA is CDEv1.
  94. cdecp7 - Coprocessor 7 ISA is CDEv1.
  95. cheap-predicable-cpsr - Disable +1 predication cost for instructions updating CPSR.
  96. cortex-a78 - Cortex-A78 ARM processors.
  97. cortex-x1 - Cortex-X1 ARM processors.
  98. d32 - Extend FP to 32 double registers.
  99. db - Has data barrier (dmb/dsb) instructions.
  100. dfb - Has full data barrier (dfb) instruction.
  101. disable-postra-scheduler - Don't schedule again after register allocation.
  102. dont-widen-vmovs - Don't widen VMOVS to VMOVD.
  103. execute-only - Enable the generation of execute only code..
  104. expand-fp-mlx - Expand VFP/NEON MLA/MLS instructions.
  105. exynos - Samsung Exynos processors.
  106. fp-armv8d16 - Enable ARMv8 FP with only 16 d-registers.
  107. fp-armv8d16sp - Enable ARMv8 FP with only 16 d-registers and no double precision.
  108. fp-armv8sp - Enable ARMv8 FP with no double precision.
  109. fp16 - Enable half-precision floating point.
  110. fp16fml - Enable full half-precision floating point fml instructions.
  111. fp64 - Floating point unit supports double precision.
  112. fpao - Enable fast computation of positive address offsets.
  113. fpregs - Enable FP registers.
  114. fpregs16 - Enable 16-bit FP registers.
  115. fpregs64 - Enable 64-bit FP registers.
  116. fullfp16 - Enable full half-precision floating point.
  117. fuse-aes - CPU fuses AES crypto operations.
  118. fuse-literals - CPU fuses literal generation operations.
  119. harden-sls-blr - Harden against straight line speculation across indirect calls.
  120. harden-sls-nocomdat - Generate thunk code for SLS mitigation in the normal text section.
  121. harden-sls-retbr - Harden against straight line speculation across RETurn and BranchRegister instructions.
  122. hwdiv - Enable divide instructions in Thumb.
  123. hwdiv-arm - Enable divide instructions in ARM mode.
  124. iwmmxt - ARMv5te architecture.
  125. iwmmxt2 - ARMv5te architecture.
  126. krait - Qualcomm Krait processors.
  127. kryo - Qualcomm Kryo processors.
  128. lob - Enable Low Overhead Branch extensions.
  129. long-calls - Generate calls via indirect call instructions.
  130. loop-align - Prefer 32-bit alignment for loops.
  131. m3 - Cortex-M3 ARM processors.
  132. m7 - Cortex-M7 ARM processors.
  133. mp - Supports Multiprocessing extension.
  134. muxed-units - Has muxed AGU and NEON/FPU.
  135. mve - Support M-Class Vector Extension with integer ops.
  136. mve.fp - Support M-Class Vector Extension with integer and floating ops.
  137. mve1beat - Model MVE instructions as a 1 beat per tick architecture.
  138. mve2beat - Model MVE instructions as a 2 beats per tick architecture.
  139. mve4beat - Model MVE instructions as a 4 beats per tick architecture.
  140. nacl-trap - NaCl trap.
  141. neon-fpmovs - Convert VMOVSR, VMOVRS, VMOVS to NEON.
  142. neonfp - Use NEON for single precision FP.
  143. neoverse-v1 - Neoverse-V1 ARM processors.
  144. no-branch-predictor - Has no branch predictor.
  145. no-movt - Don't use movt/movw pairs for 32-bit imms.
  146. no-neg-immediates - Convert immediates and instructions to their negated or complemented equivalent when the immediate does not fit in the encoding..
  147. noarm - Does not support ARM mode execution.
  148. nonpipelined-vfp - VFP instructions are not pipelined.
  149. perfmon - Enable support for Performance Monitor extensions.
  150. prefer-ishst - Prefer ISHST barriers.
  151. prefer-vmovsr - Prefer VMOVSR.
  152. prof-unpr - Is profitable to unpredicate.
  153. r4 - Cortex-R4 ARM processors.
  154. r5 - Cortex-R5 ARM processors.
  155. r52 - Cortex-R52 ARM processors.
  156. r7 - Cortex-R7 ARM processors.
  157. ras - Enable Reliability, Availability and Serviceability extensions.
  158. read-tp-hard - Reading thread pointer from register.
  159. reserve-r9 - Reserve R9, making it unavailable as GPR.
  160. ret-addr-stack - Has return address stack.
  161. sb - Enable v8.5a Speculation Barrier.
  162. slow-fp-brcc - FP compare + branch is slow.
  163. slow-load-D-subreg - Loading into D subregs is slow.
  164. slow-odd-reg - VLDM/VSTM starting with an odd register is slow.
  165. slow-vdup32 - Has slow VDUP32 - prefer VMOV.
  166. slow-vgetlni32 - Has slow VGETLNi32 - prefer VMOV.
  167. slowfpvfmx - Disable VFP / NEON FMA instructions.
  168. slowfpvmlx - Disable VFP / NEON MAC instructions.
  169. soft-float - Use software floating point features..
  170. splat-vfp-neon - Splat register from VFP to NEON.
  171. strict-align - Disallow all unaligned memory access.
  172. swift - Swift ARM processors.
  173. thumb2 - Enable Thumb2 instructions.
  174. trustzone - Enable support for TrustZone security extensions.
  175. use-misched - Use the MachineScheduler.
  176. v4t - Support ARM v4T instructions.
  177. v5t - Support ARM v5T instructions.
  178. v6m - Support ARM v6M instructions.
  179. v7clrex - Has v7 clrex instruction.
  180. v8.1a - Support ARM v8.1a instructions.
  181. v8.1m.main - Support ARM v8-1M Mainline instructions.
  182. v8.2a - Support ARM v8.2a instructions.
  183. v8.3a - Support ARM v8.3a instructions.
  184. v8.4a - Support ARM v8.4a instructions.
  185. v8.5a - Support ARM v8.5a instructions.
  186. v8.6a - Support ARM v8.6a instructions.
  187. v8.7a - Support ARM v8.7a instructions.
  188. v8m - Support ARM v8M Baseline instructions.
  189. v8m.main - Support ARM v8M Mainline instructions.
  190. vfp2sp - Enable VFP2 instructions with no double precision.
  191. vfp3d16 - Enable VFP3 instructions with only 16 d-registers.
  192. vfp3d16sp - Enable VFP3 instructions with only 16 d-registers and no double precision.
  193. vfp3sp - Enable VFP3 instructions with no double precision.
  194. vfp4d16 - Enable VFP4 instructions with only 16 d-registers.
  195. vfp4d16sp - Enable VFP4 instructions with only 16 d-registers and no double precision.
  196. vfp4sp - Enable VFP4 instructions with no double precision.
  197. virtualization - Supports Virtualization extension.
  198. vldn-align - Check for VLDn unaligned access.
  199. vmlx-forwarding - Has multiplier accumulator forwarding.
  200. vmlx-hazards - Has VMLx hazards.
  201. wide-stride-vfp - Use a wide stride when allocating VFP registers.
  202. xscale - ARMv5te architecture.
  203. zcz - Has zero-cycle zeroing instructions.
  204. Use +feature to enable a feature, or -feature to disable it.
  205. For example, rustc -C target-cpu=mycpu -C target-feature=+feature1,-feature2
  206. Code-generation features cannot be used in cfg or #[target_feature],
  207. and may be renamed or removed in a future version of LLVM or rustc.
  208. D:\Documents\vscode\rust\float_test [main ≡ +0 ~1 -0 !]> rustc --target=arm-unknown-linux-musleabi --print target-cpus
  209. Available CPUs for this target:
  210. arm1020e
  211. arm1020t
  212. arm1022e
  213. arm10e
  214. arm10tdmi
  215. arm1136j-s
  216. arm1136jf-s
  217. arm1156t2-s
  218. arm1156t2f-s
  219. arm1176jz-s
  220. arm1176jzf-s
  221. arm710t
  222. arm720t
  223. arm7tdmi
  224. arm7tdmi-s
  225. arm8
  226. arm810
  227. arm9
  228. arm920
  229. arm920t
  230. arm922t
  231. arm926ej-s
  232. arm940t
  233. arm946e-s
  234. arm966e-s
  235. arm968e-s
  236. arm9e
  237. arm9tdmi
  238. cortex-a12
  239. cortex-a15
  240. cortex-a17
  241. cortex-a32
  242. cortex-a35
  243. cortex-a5
  244. cortex-a53
  245. cortex-a55
  246. cortex-a57
  247. cortex-a7
  248. cortex-a72
  249. cortex-a73
  250. cortex-a75
  251. cortex-a76
  252. cortex-a76ae
  253. cortex-a77
  254. cortex-a78
  255. cortex-a78c
  256. cortex-a8
  257. cortex-a9
  258. cortex-m0
  259. cortex-m0plus
  260. cortex-m1
  261. cortex-m23
  262. cortex-m3
  263. cortex-m33
  264. cortex-m35p
  265. cortex-m4
  266. cortex-m55
  267. cortex-m7
  268. cortex-r4
  269. cortex-r4f
  270. cortex-r5
  271. cortex-r52
  272. cortex-r7
  273. cortex-r8
  274. cortex-x1
  275. cyclone
  276. ep9312
  277. exynos-m3
  278. exynos-m4
  279. exynos-m5
  280. generic
  281. iwmmxt
  282. krait
  283. kryo
  284. mpcore
  285. mpcorenovfp
  286. neoverse-n1
  287. neoverse-n2
  288. neoverse-v1
  289. sc000
  290. sc300
  291. strongarm
  292. strongarm110
  293. strongarm1100
  294. strongarm1110
  295. swift
  296. xscale
  297. D:\Documents\vscode\rust\float_test [main ≡ +0 ~1 -0 !]>