1- # `thumbv8m.main-none-eabi`
1+ # `thumbv8m.main-none-eabi` and `thumbv8m.main-none-eabihf`
22
33**Tier: 2**
44
@@ -13,14 +13,8 @@ Processors in this family include the:
1313* [Arm Cortex-M85][cortex-m85]
1414
1515See [`arm-none-eabi`](arm-none-eabi.md) for information applicable to all
16- `arm-none-eabi` targets.
17-
18- This target uses the soft-float ABI: functions which take `f32` or `f64` as
19- arguments will have those values packed into integer registers. This target
20- therefore does not require the use of an FPU (which is optional on Cortex-M33,
21- Cortex-M55 and Cortex-M85), but an FPU can be optionally enabled if desired. See
22- also the hard-float ABI version of this target
23- [`thumbv8m.main-none-eabihf`](thumbv7em-none-eabihf.md).
16+ `arm-none-eabi` targets, in particular the difference between the `eabi` and
17+ `eabihf` ABI.
2418
2519[t32-isa]: https://developer.arm.com/Architectures/T32%20Instruction%20Set%20Architecture
2620[ARMv8-M]: https://developer.arm.com/documentation/ddi0553/latest/
@@ -40,18 +34,19 @@ See [the bare-metal Arm
4034docs](arm-none-eabi.md#target-cpu-and-target-feature-options) for details on how
4135to use these flags.
4236
43- ### Table of supported CPUs
37+ ### Table of supported CPUs for `thumbv8m.main-none-eabi`
4438
4539| CPU | FPU | DSP | MVE | Target CPU | Target Features |
4640| ----------- | --- | --- | --------- | ------------- | --------------------- |
47- | Cortex-M33 | No | No | N/A | `cortex-m33` | `+soft-float,-dsp` |
48- | Cortex-M33 | No | Yes | N/A | `cortex-m33` | `+soft-float` |
49- | Cortex-M33 | SP | No | N/A | `cortex-m33` | `-dsp` |
50- | Cortex-M33 | SP | Yes | N/A | `cortex-m33` | None |
51- | Cortex-M35P | No | No | N/A | `cortex-m35p` | `+soft-float,-dsp` |
52- | Cortex-M35P | No | Yes | N/A | `cortex-m35p` | `+soft-float` |
53- | Cortex-M35P | SP | No | N/A | `cortex-m35p` | `-dsp` |
54- | Cortex-M35P | SP | Yes | N/A | `cortex-m35p` | None |
41+ | Unspecified | No | No | No | None | None |
42+ | Cortex-M33 | No | No | No | `cortex-m33` | `+soft-float,-dsp` |
43+ | Cortex-M33 | No | Yes | No | `cortex-m33` | `+soft-float` |
44+ | Cortex-M33 | SP | No | No | `cortex-m33` | `-dsp` |
45+ | Cortex-M33 | SP | Yes | No | `cortex-m33` | None |
46+ | Cortex-M35P | No | No | No | `cortex-m35p` | `+soft-float,-dsp` |
47+ | Cortex-M35P | No | Yes | No | `cortex-m35p` | `+soft-float` |
48+ | Cortex-M35P | SP | No | No | `cortex-m35p` | `-dsp` |
49+ | Cortex-M35P | SP | Yes | No | `cortex-m35p` | None |
5550| Cortex-M55 | No | Yes | No | `cortex-m55` | `+soft-float,-mve` |
5651| Cortex-M55 | DP | Yes | No | `cortex-m55` | `-mve` |
5752| Cortex-M55 | No | Yes | Int | `cortex-m55` | `+soft-float,-mve.fp` |
@@ -63,6 +58,22 @@ to use these flags.
6358| Cortex-M85 | DP | Yes | Int | `cortex-m85` | `-mve.fp` |
6459| Cortex-M85 | DP | Yes | Int+Float | `cortex-m85` | None |
6560
61+ ### Table of supported CPUs for `thumbv8m.main-none-eabihf`
62+
63+ | CPU | FPU | DSP | MVE | Target CPU | Target Features |
64+ | ----------- | --- | --- | --------- | ------------- | --------------------- |
65+ | Unspecified | SP | No | No | None | None |
66+ | Cortex-M33 | SP | No | No | `cortex-m33` | `-dsp` |
67+ | Cortex-M33 | SP | Yes | No | `cortex-m33` | None |
68+ | Cortex-M33P | SP | No | No | `cortex-m35p` | `-dsp` |
69+ | Cortex-M33P | SP | Yes | No | `cortex-m35p` | None |
70+ | Cortex-M55 | DP | Yes | No | `cortex-m55` | `-mve` |
71+ | Cortex-M55 | DP | Yes | Int | `cortex-m55` | `-mve.fp` |
72+ | Cortex-M55 | DP | Yes | Int+Float | `cortex-m55` | None |
73+ | Cortex-M85 | DP | Yes | No | `cortex-m85` | `-mve` |
74+ | Cortex-M85 | DP | Yes | Int | `cortex-m85` | `-mve.fp` |
75+ | Cortex-M85 | DP | Yes | Int+Float | `cortex-m85` | None |
76+
6677### Arm Cortex-M33
6778
6879The target CPU is `cortex-m33`.
@@ -72,7 +83,7 @@ The target CPU is `cortex-m33`.
7283 * enabled by default with this *target-cpu*
7384* Has an optional single precision FPU
7485 * support is enabled by default with this *target-cpu*
75- * disable support using the `+soft-float` feature
86+ * disable support using the `+soft-float` feature (`eabi` only)
7687
7788### Arm Cortex-M35P
7889
@@ -81,9 +92,9 @@ The target CPU is `cortex-m35p`.
8192* Has optional DSP extensions
8293 * support is controlled by the `dsp` *target-feature*
8394 * enabled by default with this *target-cpu*
84- * Has a single precision FPU
95+ * Has an optional single precision FPU
8596 * support is enabled by default with this *target-cpu*
86- * disable support using the `+soft-float` feature
97+ * disable support using the `+soft-float` feature (`eabi` only)
8798
8899### Arm Cortex-M55
89100
@@ -95,7 +106,7 @@ The target CPU is `cortex-m55`.
95106* Has an optional double-precision FPU that also supports half-precision FP16
96107 values
97108 * support is enabled by default with this *target-cpu*
98- * disable support using the `+soft-float` feature
109+ * disable support using the `+soft-float` feature (`eabi` only)
99110* Has optional support for M-Profile Vector Extensions
100111 * Also known as *Helium Technology*
101112 * Available with only integer support, or both integer/float support
@@ -114,7 +125,7 @@ The target CPU is `cortex-m85`.
114125* Has an optional double-precision FPU that also supports half-precision FP16
115126 values
116127 * support is enabled by default with this *target-cpu*
117- * disable support using the `+soft-float` feature
128+ * disable support using the `+soft-float` feature (`eabi` only)
118129* Has optional support for M-Profile Vector Extensions
119130 * Also known as *Helium Technology*
120131 * Available with only integer support, or both integer/float support
0 commit comments