
Programmer’s Model
ARM DDI 0363E Copyright © 2009 ARM Limited. All rights reserved. 2-12
ID013010 Non-Confidential, Unrestricted Access
For more information on the operation of the IT execution state bits, see the ARM Architecture
Reference Manual.
2.7.4 The J bit
The J bit in the CPSR returns 0 when read.
Note
You cannot use an
MSR
to change the J bit in the CPSR.
2.7.5 The DNM bits
Software must not modify the Do Not Modify (DNM) bits. These bits are:
• Readable, to preserve the state of the processor, for example, during process context
switches.
• Writable, to enable the processor to restore its state. To maintain compatibility with future
ARM processors, and as good practice, use a read-modify-write strategy when you
change the CPSR.
2.7.6 The GE bits
Some of the SIMD instructions set GE[3:0] as greater-than-or-equal bits for individual
halfwords or bytes of the result, as Table 2-2 shows.
Table 2-2 GE[3:0] settings
GE[3] GE[2] GE[1] GE[0]
Instruction
A op B greater than
or equal to C
A op B greater than
or equal to C
A op B greater
than or equal to C
A op B greater
than or equal to C
Signed
SADD16
[31:16] + [31:16] ≥ 0 [31:16] + [31:16] ≥ 0 [15:0] + [15:0] ≥ 0 [15:0] + [15:0] ≥ 0
SSUB16
[31:16] - [31:16] ≥ 0 [31:16] - [31:16] ≥ 0 [15:0] - [15:0] ≥ 0 [15:0] - [15:0] ≥ 0
SADDSUBX
[31:16] + [15:0] ≥ 0 [31:16] + [15:0] ≥ 0 [15:0] - [31:16] ≥ 0 [15:0] - [31:16] ≥ 0
SSUBADDX
[31:16] - [15:0] ≥ 0 [31:16] - [15:0] ≥ 0 [15:0] + [31:16] ≥ 0 [15:0] + [31:16] ≥ 0
SADD8
[31:24] + [31:24] ≥ 0 [23:16] + [23:16] ≥ 0 [15:8] + [15:8] ≥ 0 [7:0] + [7:0] ≥ 0
SSUB8
[31:24] - [31:24] ≥ 0 [23:16] - [23:16] ≥ 0 [15:8] - [15:8] ≥ 0 [7:0] - [7:0] ≥ 0
Unsigned
UADD16
[31:16] + [31:16] ≥ 2
16
[31:16] + [31:16] ≥ 2
16
[15:0] + [15:0] ≥ 2
16
[15:0] + [15:0] ≥ 2
16
USUB16
[31:16] - [31:16] ≥ 0 [31:16] - [31:16] ≥ 0 [15:0] - [15:0] ≥ 0 [15:0] - [15:0] ≥ 0
UADDSUBX
[31:16] + [15:0] ≥ 2
16
[31:16] + [15:0] ≥ 2
16
[15:0] - [31:16] ≥ 0 [15:0] - [31:16] ≥ 0
USUBADDX
[31:16] - [15:0] ≥ 0 [31:16] - [15:0] ≥ 0
[15:0] + [31:16] ≥ 2
16
[15:0] + [31:16] ≥2
16
UADD8
[31:24] + [31:24] ≥ 2
8
[23:16] + [23:16] ≥ 2
8
[15:8] + [15:8] ≥ 2
8
[7:0] + [7:0] ≥ 2
8
USUB8
[31:24] - [31:24] ≥ 0 [23:16] - [23:16] ≥ 0 [15:8] - [15:8] ≥ 0 [7:0] - [7:0] ≥ 0