Handbook
Glossary
(%compare-float-branch) ( label src1 src2 cc compare -- )
Vocabulary
cpu
.
x86
Inputs
label
an
object
src1
an
object
src2
an
object
cc
an
object
compare
an
object
Outputs
None
Definition
USING:
combinators
compiler.cfg.comparisons
cpu.x86.assembler
;
IN:
cpu.x86
::
(%compare-float-branch)
( label src1 src2 cc compare -- )
cc
{
{
cc<
[
src2 src1 compare ( a b -- )
call-effect
label
JA
]
}
{
cc<=
[
src2 src1 compare ( a b -- )
call-effect
label
JAE
]
}
{
cc>
[
src1 src2 compare ( a b -- )
call-effect
label
JA
]
}
{
cc>=
[
src1 src2 compare ( a b -- )
call-effect
label
JAE
]
}
{
cc=
[
src1 src2 compare ( a b -- )
call-effect
label
%jump-float=
]
}
{
cc<>
[
src1 src2 compare ( a b -- )
call-effect
label
JNE
]
}
{
cc<>=
[
src1 src2 compare ( a b -- )
call-effect
label
JNP
]
}
{
cc/<
[
src2 src1 compare ( a b -- )
call-effect
label
JBE
]
}
{
cc/<=
[
src2 src1 compare ( a b -- )
call-effect
label
JB
]
}
{
cc/>
[
src1 src2 compare ( a b -- )
call-effect
label
JBE
]
}
{
cc/>=
[
src1 src2 compare ( a b -- )
call-effect
label
JB
]
}
{
cc/=
[
src1 src2 compare ( a b -- )
call-effect
label
%jump-float/=
]
}
{
cc/<>
[
src1 src2 compare ( a b -- )
call-effect
label
JE
]
}
{
cc/<>=
[
src1 src2 compare ( a b -- )
call-effect
label
JP
]
}
}
case
;