Skip to content

Commit fa6b90c

Browse files
arm target docs: collapsed eabi and eabihf into one
1 parent a9022d4 commit fa6b90c

7 files changed

+56
-223
lines changed

src/doc/rustc/src/SUMMARY.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,9 @@
5757
- [sparc-unknown-none-elf](./platform-support/sparc-unknown-none-elf.md)
5858
- [thumbv6m-none-eabi](./platform-support/thumbv6m-none-eabi.md)
5959
- [thumbv7m-none-eabi](./platform-support/thumbv7m-none-eabi.md)
60-
- [thumbv7em-none-eabi](./platform-support/thumbv7em-none-eabi.md)
61-
- [thumbv7em-none-eabihf](./platform-support/thumbv7em-none-eabihf.md)
60+
- [thumbv7em-none-eabi\*](./platform-support/thumbv7em-none-eabi.md)
6261
- [thumbv8m.base-none-eabi](./platform-support/thumbv8m.base-none-eabi.md)
63-
- [thumbv8m.main-none-eabi](./platform-support/thumbv8m.main-none-eabi.md)
64-
- [thumbv8m.main-none-eabihf](./platform-support/thumbv8m.main-none-eabihf.md)
62+
- [thumbv8m.main-none-eabi\*](./platform-support/thumbv8m.main-none-eabi.md)
6563
- [*-pc-windows-gnullvm](platform-support/pc-windows-gnullvm.md)
6664
- [\*-nto-qnx-\*](platform-support/nto-qnx.md)
6765
- [*-unikraft-linux-musl](platform-support/unikraft-linux-musl.md)

src/doc/rustc/src/platform-support.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,13 +180,13 @@ target | std | notes
180180
`sparcv9-sun-solaris` | ✓ | SPARC Solaris 11, illumos
181181
[`thumbv6m-none-eabi`](platform-support/thumbv6m-none-eabi.md) | * | Bare ARMv6-M
182182
[`thumbv7em-none-eabi`](platform-support/thumbv7em-none-eabi.md) | * | Bare ARMv7E-M
183-
[`thumbv7em-none-eabihf`](platform-support/thumbv7em-none-eabihf.md) | * | Bare ARMV7E-M, hardfloat
183+
[`thumbv7em-none-eabihf`](platform-support/thumbv7em-none-eabi.md) | * | Bare ARMV7E-M, hardfloat
184184
[`thumbv7m-none-eabi`](platform-support/thumbv7m-none-eabi.md) | * | Bare ARMv7-M
185185
[`thumbv7neon-linux-androideabi`](platform-support/android.md) | ✓ | Thumb2-mode ARMv7-A Android with NEON
186186
`thumbv7neon-unknown-linux-gnueabihf` | ✓ | Thumb2-mode ARMv7-A Linux with NEON (kernel 4.4, glibc 2.23)
187187
[`thumbv8m.base-none-eabi`](platform-support/thumbv8m.base-none-eabi.md) | * | Bare ARMv8-M Baseline
188188
[`thumbv8m.main-none-eabi`](platform-support/thumbv8m.main-none-eabi.md) | * | Bare ARMv8-M Mainline
189-
[`thumbv8m.main-none-eabihf`](platform-support/thumbv8m.main-none-eabihf.md) | * | Bare ARMv8-M Mainline, hardfloat
189+
[`thumbv8m.main-none-eabihf`](platform-support/thumbv8m.main-none-eabi.md) | * | Bare ARMv8-M Mainline, hardfloat
190190
`wasm32-unknown-emscripten` | ✓ | WebAssembly via Emscripten
191191
`wasm32-unknown-unknown` | ✓ | WebAssembly
192192
`wasm32-wasi` | ✓ | WebAssembly with WASI (undergoing a [rename to `wasm32-wasip1`][wasi-rename])

src/doc/rustc/src/platform-support/arm-none-eabi.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
- Arm M-Profile Architectures
1111
- [`thumbv6m-none-eabi`](thumbv6m-none-eabi.md)
1212
- [`thumbv7m-none-eabi`](thumbv7m-none-eabi.md)
13-
- [`thumbv7em-none-eabi`](thumbv7em-none-eabi.md) and [`thumbv7em-none-eabihf`](thumbv7em-none-eabihf.md)
13+
- [`thumbv7em-none-eabi` and `thumbv7em-none-eabihf`](thumbv7em-none-eabi.md)
1414
- [`thumbv8m.base-none-eabi`](thumbv8m.base-none-eabi.md)
15-
- [`thumbv8m.main-none-eabi`](thumbv8m.main-none-eabi.md) and [`thumbv8m.main-none-eabihf`](thumbv8m.main-none-eabihf.md)
15+
- [`thumbv8m.main-none-eabi` and `thumbv8m.main-none-eabihf`](thumbv8m.main-none-eabi.md)
1616
- *Legacy* Arm Architectures
1717
- None
1818

src/doc/rustc/src/platform-support/thumbv7em-none-eabi.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# `thumbv7em-none-eabi`
1+
# `thumbv7em-none-eabi` and `thumbv7em-none-eabihf`
22

33
**Tier: 2**
44

@@ -11,14 +11,8 @@ Processors in this family include the:
1111
* [Arm Cortex-M7][cortex-m7] and Arm Cortex-M7F
1212

1313
See [`arm-none-eabi`](arm-none-eabi.md) for information applicable to all
14-
`arm-none-eabi` targets.
15-
16-
This target uses the soft-float ABI: functions which take `f32` or `f64` as
17-
arguments will have those values packed into integer registers. This target
18-
therefore does not require the use of an FPU (which is optional on Cortex-M4 and
19-
Cortex-M7), but an FPU can be optionally enabled if desired. See also the
20-
hard-float ABI version of this target
21-
[`thumbv7em-none-eabihf`](thumbv7em-none-eabihf.md).
14+
`arm-none-eabi` targets, in particular the difference between the `eabi` and
15+
`eabihf` ABI.
2216

2317
[t32-isa]: https://developer.arm.com/Architectures/T32%20Instruction%20Set%20Architecture
2418
[ARMv7E-M]: https://developer.arm.com/documentation/ddi0403/latest/
@@ -36,16 +30,26 @@ See [the bare-metal Arm
3630
docs](arm-none-eabi.md#target-cpu-and-target-feature-options) for details on how
3731
to use these flags.
3832

39-
### Table of supported CPUs
33+
### Table of supported CPUs for `thumbv7em-none-eabi`
4034

4135
| CPU | FPU | DSP | Target CPU | Target Features |
4236
| ---------- | --- | --- | ----------- | --------------- |
37+
| Any | No | Yes | None | None |
4338
| Cortex-M4 | No | Yes | `cortex-m4` | `+soft-float` |
4439
| Cortex-M4F | SP | Yes | `cortex-m4` | None |
4540
| Cortex-M7 | No | Yes | `cortex-m7` | `+soft-float` |
4641
| Cortex-M7F | SP | Yes | `cortex-m7` | `-fp64` |
4742
| Cortex-M7F | DP | Yes | `cortex-m7` | None |
4843

44+
### Table of supported CPUs for `thumbv7em-none-eabihf`
45+
46+
| CPU | FPU | DSP | Target CPU | Target Features |
47+
| ---------- | --- | --- | ----------- | --------------- |
48+
| Any | SP | Yes | None | None |
49+
| Cortex-M4F | SP | Yes | `cortex-m4` | None |
50+
| Cortex-M7F | SP | Yes | `cortex-m7` | `-fp64` |
51+
| Cortex-M7F | DP | Yes | `cortex-m7` | None |
52+
4953
### Arm Cortex-M4 and Arm Cortex-M4F
5054

5155
The target CPU is `cortex-m4`.
@@ -55,7 +59,7 @@ The target CPU is `cortex-m4`.
5559
* enabled by default with this *target*
5660
* Cortex-M4F has a single precision FPU
5761
* support is enabled by default with this *target-cpu*
58-
* disable support using the `+soft-float` feature
62+
* disable support using the `+soft-float` feature (`eabi` only)
5963

6064
### Arm Cortex-M7 and Arm Cortex-M7F
6165

@@ -67,4 +71,4 @@ The target CPU is `cortex-m7`.
6771
* Cortex-M7F have either a single-precision or double-precision FPU
6872
* double-precision support is enabled by default with this *target-cpu*
6973
* opt-out by using the `-f64` *target-feature*
70-
* disable support entirely using the `+soft-float` feature
74+
* disable support entirely using the `+soft-float` feature (`eabi` only)

src/doc/rustc/src/platform-support/thumbv7em-none-eabihf.md

Lines changed: 0 additions & 67 deletions
This file was deleted.

src/doc/rustc/src/platform-support/thumbv8m.main-none-eabi.md

Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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

1515
See [`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
4034
docs](arm-none-eabi.md#target-cpu-and-target-feature-options) for details on how
4135
to 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

6879
The 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

Comments
 (0)