ARM R4 Manuale Utente

Pagina di 456
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