ABS
Absolute Value With Saturation
3-38
Instruction Set
SPRU733
Absolute Value With Saturation
ABS
Syntax
ABS
(.unit)
src2
,
dst
.unit = .L1 or .L2
Compatibility
C62x, C64x, C67x, and C67x+ CPU
Opcode
31
29
28
27
23
22
18
17
13
12
11
5
4
3
2
1
0
creg
z
dst
src2
0 0 0 0 0 x
op
1 1 0
s p
3
1
5
5
1
7
1
1
Opcode map field used...
For operand type...
Unit
Opfield
src2
dst
xsint
sint
.L1, .L2
001 1010
src2
dst
slong
slong
.L1, L2
011 1000
Description
The absolute value of
src2
is placed in
dst
.
Execution
if (cond)
abs(
src2
)
→
dst
else nop
The absolute value of
src2
when
src2
is an sint is determined as follows:
1) If
src2
0, then
src2
→
dst
2) If
src2
0 and
src2
−
2
31
, then
−
src2
→
dst
3) If
src2
=
−
2
31
, then 2
31
−
1
→
dst
The absolute value of
src2
when
src2
is an slong is determined as follows:
1) If
src2
0, then
src2
→
dst
2) If
src2
0 and
src2
−
2
39
, then
−
src2
→
dst
3) If
src2
=
−
2
39
, then 2
39
−
1
→
dst
Pipeline
Stage
E1
Read
src2
Written
dst
Unit in use
.L
Pipeline