Use 80386 SET instruction
authorceriel <none@none>
Thu, 17 Sep 1992 14:15:20 +0000 (14:15 +0000)
committerceriel <none@none>
Thu, 17 Sep 1992 14:15:20 +0000 (14:15 +0000)
mach/i386/ncg/table

index e11f6a9..4e0018f 100644 (file)
@@ -233,6 +233,7 @@ jne label cost(1,4).
 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).
@@ -2454,16 +2455,14 @@ proc txx
 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