Peter Smith 457e14b926
[LLD][ARM] Arm v6-m should not use short Thunks. (#118111)
Thumb short thunks use the B.w instruction. This instruction is not
present on Arm v6-m so we should prevent these targets from using
short-thunks. We want to permit Arm v8-m.base targets to continue using
short thunks as it does have the B.w instruction despite not
implementing all of Thumb 2.

Add a check to see if the Movt and Movw instructions are present before
enabling short thunks for Thumb. The v6-m architecture has
J1J2BranchEncoding, but it does not have Movt and Movw, whereas
v8-m.base has both.

The memory map and limited flash size of an Arm v6-m CPU makes a short
thunk very unlikely in practice, but it is worth getting it right just
in case.
2024-12-09 11:24:45 +00:00
..
2024-10-05 09:37:27 -07:00
2024-10-06 00:31:51 -07:00
2024-10-11 18:35:02 -07:00
2024-11-14 22:17:10 -08:00
2024-10-10 22:22:25 -07:00
2024-11-14 22:50:53 -08:00
2024-11-16 20:32:44 -08:00
2024-10-11 23:34:43 -07:00

See docs/NewLLD.rst