Handbook
Glossary
emit-simd-vabs ( node -- )
Vocabulary
compiler
.
cfg
.
intrinsics
.
simd
Inputs
node
an
object
Outputs
None
Definition
USING:
compiler.cfg.comparisons
compiler.cfg.hats
compiler.cfg.intrinsics.simd.backend
cpu.architecture
kernel
locals.backend
;
IN:
compiler.cfg.intrinsics.simd
:
emit-simd-vabs
( node -- )
{
{
unsigned-int-vector-rep
[
drop
]
}
[
^^abs-vector
]
{
float-vector-rep
[
[
^load-neg-zero-vector
]
[
swapd
^^andn-vector
]
bi
]
}
{
int-vector-rep
[
2
load-locals
0
get-local
^^zero-vector
load-local
0
get-local
-2
get-local
-1
get-local
^^sub-vector
load-local
-1
get-local
-3
get-local
-2
get-local
cc>
^compare-vector
load-local
0
get-local
-1
get-local
-4
get-local
-3
get-local
^blend-vector
5
drop-locals
]
}
}
emit-v-vector-op
;