You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove the deprecation of IT instructions in the ARM ABI
Upstream ARM has undeprecated the use of IT instructions. There's
no formal announcement of the matter in itself, but the previous
deprecations are being removed from the official docs.
See https://reviews.llvm.org/D108679#2975603 for a discussion
on the matter.
Copy file name to clipboardExpand all lines: docs/build/overview-of-arm-abi-conventions.md
-22Lines changed: 0 additions & 22 deletions
Original file line number
Diff line number
Diff line change
@@ -38,28 +38,6 @@ The instruction set for Windows on ARM is strictly limited to Thumb-2. All code
38
38
39
39
A side-effect of this requirement is that all code pointers must have the low bit set. Then, when they're loaded and branched to via BLX or BX, the processor remains in Thumb mode. It doesn't try to execute the target code as 32-bit ARM instructions.
40
40
41
-
### IT Instructions
42
-
43
-
The use of IT instructions in Thumb-2 code is disallowed except for these specific cases:
44
-
45
-
- The IT instruction can only be used to modify one target instruction.
46
-
47
-
- The target must be one of these 16-bit instructions:
Although current ARMv7 CPUs can't report the use of disallowed instruction forms, future generations are expected to. If these forms are detected, any program that uses them may be terminated with an undefined instruction exception.
62
-
63
41
### SDIV/UDIV instructions
64
42
65
43
The use of integer divide instructions SDIV and UDIV is fully supported, even on platforms without native hardware to handle them. The extra overhead per SDIV or UDIV divide on a Cortex-A9 processor is approximately 80 cycles. That's added to the overall divide time of 20-250 cycles, depending on the inputs.
0 commit comments