jmp label cost(1,4).
proccall "call" label+rm cost(1,8).
jxx "syntax error" label cost(1,4).
+setxx "syntax error" REG cost(2,4).
lea anyreg:rw, halfindir:ro.
lea LOCAL:rw, halfindir:ro. /* only for register variables, UNSAFE!!! */
leave cost(1,4).
with rm
uses REG = {ANYCON,0}
gen test %1
- jxx* {label,1f}
- inc %a
- 1: yields %a
-
-pat tlt call txx("jge")
-pat tle call txx("jg")
-pat teq call txx("jne")
-pat tne call txx("je")
-pat tge call txx("jl")
-pat tgt call txx("jle")
+ setxx* %a yields %a
+
+pat tlt call txx("setl")
+pat tle call txx("setle")
+pat teq call txx("sete")
+pat tne call txx("setne")
+pat tge call txx("setge")
+pat tgt call txx("setg")
proc txxior
with rm REG