Handbook
Glossary
%scalar>integer-32 ( dst src rep -- )
Vocabulary
cpu
.
x86
.
sse
Inputs
dst
an
object
src
an
object
rep
an
object
Outputs
None
Definition
USING:
combinators
cpu.architecture
cpu.x86
cpu.x86.assembler
cpu.x86.assembler.operands
kernel
;
IN:
cpu.x86.sse
::
%scalar>integer-32
( dst src rep -- )
rep
{
{
int-scalar-rep
[
dst
32-bit-version-of
src
MOVD
dst dst
32-bit-version-of
2dup
eq?
[
2drop
]
[
MOVSX
]
if
]
}
{
uint-scalar-rep
[
dst
32-bit-version-of
src
MOVD
]
}
{
short-scalar-rep
[
dst
32-bit-version-of
src
MOVD
dst dst
16-bit-version-of
MOVSX
]
}
{
ushort-scalar-rep
[
dst
32-bit-version-of
src
MOVD
dst dst
16-bit-version-of
MOVZX
]
}
{
char-scalar-rep
[
dst
32-bit-version-of
src
MOVD
dst
{
}
8
[|
tmp-dst |
tmp-dst dst
int-rep
%copy
tmp-dst tmp-dst
8-bit-version-of
MOVSX
dst tmp-dst
int-rep
%copy
]
with-small-register
]
}
{
uchar-scalar-rep
[
dst
32-bit-version-of
src
MOVD
dst
{
}
8
[|
tmp-dst |
tmp-dst dst
int-rep
%copy
tmp-dst tmp-dst
8-bit-version-of
MOVZX
dst tmp-dst
int-rep
%copy
]
with-small-register
]
}
}
case
;