EasyManua.ls Logo

Cray CRAY-1 - Page 142

Default Icon
216 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
----------------------------------------------------------------------
152i
j k
153ijk
Double
shifts
of
(Vj
elements)
left
(Ak)
places to
Vi
elements
Double
shifts
of
(Vj
elements)
right
(Ak)
places to
Vi
elements
----------------------------------------------------------------------
These
instructions
are executed in the vector
shift
unit.
They
shift
128-bit values
formed
by
logically
joining the contents of
two
elements
of the
Vj
register.
The
direction
of the
shift
determines whether the
upper
bits
or the lower
bits
of the
result
are sent to
Vi.
Shift
counts
are obtained
from
reqister
Ak.
All
shifts
are end-off with zero
fill.
The
number
of operations
is
determined
by
the contents of the
VL
register.
The
152
instruction
performs
left
shifts.
In
the general case, element
o of
Vj
is
joined with element 1
and
the 128-bit quantity
is
shifted
left
by
the
amount
specified
by
(Ak).
The
64
high order
bits
of the
result
are transmitted to element 0 of
Vi.
The
figure
below
illustrates
this
operation.
(Element
0)
of
Vj
(Element
1)
of
Vj
(Element
0)
~(Ak)
End
off
64-bit
result
to
element
0
of
Vi
If
(VL)
were
1, element 0
would
have
been
joined with
64
bits
of zero
and
only the
one
operation
would
be
performed.
If
(VL)
> 2, the operation
continues
by
joining element 1 with element 2
and
transmitting the
64-bit
result
to element 1 of
Vi.
This
is
illustrated
as
follows:
(Element
1)
of
Vj
(Element 2)
of
Vj
(Element 1)
of
Vj
..-(Ak)
End
off
64-bit
result
to
element
of
Vi
2240004
4-56 E

Table of Contents