Volume 3: Instruction Reference
3:201
pavg
pavg — Parallel Average
Format:
(
qp
) pavg1
r
1
=
r
2
,
r
3
normal_form, one_byte_form
(
qp
) pavg1.raz
r
1
=
r
2
,
r
3
raz_form, one_byte_form
(
qp
) pavg2
r
1
=
r
2
,
r
3
normal_form, two_byte_form
(
qp
) pavg2.raz
r
1
=
r
2
,
r
3
raz_form, two_byte_form
Description:
The unsigned data elements of GR
r
2
are added to the unsigned data elements of GR
r
3
.
The results of the add are then each independently shifted to the right by one bit
position. The high-order bits of each element are filled with the carry bits of the sums.
To prevent cumulative round-off errors, an averaging is performed. The unsigned
results are placed in GR
r
1
.
The averaging operation works as follows. In the normal_form, the low-order bit of
each result is set to 1 if at least one of the two least significant bits of the
corresponding sum is 1. In the raz_form, the average rounds away from zero by adding
1 to each of the sums.
Figure 2-30. Parallel Average Example
GR r
2
:
GR r
1
:
GR r
3
:
+
+
+
+
pavg2
or
Sum Bits
Carry
Bit
16-bit Sum
Plus
Carry
Shift Right
1 Bit
Shift Right 1 Bit
with Average in
Low-order Bit
Содержание Itanium 9150M
Страница 1: ......
Страница 209: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault...
Страница 301: ...3 292 Volume 3 Pseudo Code Functions Intel Itanium Architecture Software Developer s Manual Rev 2 3...
Страница 405: ...3 396 Volume 3 Resource and Dependency Semantics...
Страница 406: ...3 397 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index...
Страница 407: ...3 398 Intel Itanium Architecture Software Developer s Manual Rev 2 3...
Страница 419: ...INDEX Index 12 Index for Volumes 1 2 3 and 4...
Страница 420: ......