^(compare-vector) ( src1 src2 rep orig-cc -- dst )


Vocabulary
compiler.cfg.intrinsics.simd

Inputs
src1an object
src2an object
repan object
orig-ccan object


Outputs
dstan object


Definition


:: ^(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 ;