Handbook
Glossary
^(compare-vector) ( src1 src2 rep orig-cc -- dst )
Vocabulary
compiler
.
cfg
.
intrinsics
.
simd
Inputs
src1
an
object
src2
an
object
rep
an
object
orig-cc
an
object
Outputs
dst
an
object
Definition
USING:
compiler.cfg.hats
cpu.architecture
kernel
sequences
;
IN:
compiler.cfg.intrinsics.simd
::
^(compare-vector)
( src1 src2 rep orig-cc -- dst )
rep orig-cc
%compare-vector-ccs
:>
( ccs not? ) ccs
empty?
[
rep not?
[
^^fill-vector
]
[
^^zero-vector
]
if
]
[
ccs
unclip
:>
( rest-ccs first-cc ) src1 src2 rep
first-cc
^swap-compare-vector
:>
first-dst rest-ccs first-dst
[
[
src1 src2 rep
]
dip
^swap-compare-vector
rep
^^or-vector
]
reduce
not?
[
rep
^not-vector
]
when
]
if
;