|
@@ -818,15 +818,61 @@ gen Call {label,".sri4"}
|
|
|
/* Group 5: Floating point arithmetic */
|
|
|
/********************************************/
|
|
|
|
|
|
-/* Floating points are not supported */
|
|
|
+pat adf $1==4
|
|
|
+with STACK
|
|
|
+gen Call {label,".adf4"}
|
|
|
+
|
|
|
+pat adf $1==8
|
|
|
+with STACK
|
|
|
+gen Call {label,".adf8"}
|
|
|
+
|
|
|
+pat sbf $1==4
|
|
|
+with STACK
|
|
|
+gen Call {label,".sbf4"}
|
|
|
+
|
|
|
+pat sbf $1==8
|
|
|
+with STACK
|
|
|
+gen Call {label,".sbf8"}
|
|
|
+
|
|
|
+pat mlf $1==4
|
|
|
+with STACK
|
|
|
+gen Call {label,".mlf4"}
|
|
|
+
|
|
|
+pat mlf $1==8
|
|
|
+with STACK
|
|
|
+gen Call {label,".mlf8"}
|
|
|
|
|
|
-pat adf gen Call {label,"eunimpl"}
|
|
|
-pat sbf gen Call {label,"eunimpl"}
|
|
|
-pat mlf gen Call {label,"eunimpl"}
|
|
|
-pat dvf gen Call {label,"eunimpl"}
|
|
|
-pat ngf gen Call {label,"eunimpl"}
|
|
|
-pat fif gen Call {label,"eunimpl"}
|
|
|
-pat fef gen Call {label,"eunimpl"}
|
|
|
+pat dvf $1==4
|
|
|
+with STACK
|
|
|
+gen Call {label,".dvf4"}
|
|
|
+
|
|
|
+pat dvf $1==8
|
|
|
+with STACK
|
|
|
+gen Call {label,".dvf8"}
|
|
|
+
|
|
|
+pat ngf $1==4
|
|
|
+with STACK
|
|
|
+gen Call {label,".ngf4"}
|
|
|
+
|
|
|
+pat ngf $1==8
|
|
|
+with STACK
|
|
|
+gen Call {label,".ngf8"}
|
|
|
+
|
|
|
+pat fif $1==4
|
|
|
+with STACK
|
|
|
+gen Call {label,".fif4"}
|
|
|
+
|
|
|
+pat fif $1==8
|
|
|
+with STACK
|
|
|
+gen Call {label,".fif8"}
|
|
|
+
|
|
|
+pat fef $1==4
|
|
|
+with STACK
|
|
|
+gen Call {label,".fef4"}
|
|
|
+
|
|
|
+pat fef $1==8
|
|
|
+with STACK
|
|
|
+gen Call {label,".fef8"}
|
|
|
|
|
|
/********************************************/
|
|
|
/* Group 6: Pointer arithmetic */
|
|
@@ -919,7 +965,13 @@ pat zre
|
|
|
uses hlreg={const2,0}
|
|
|
gen shld {label,$1}
|
|
|
|
|
|
-pat zrf gen Call {label,"eunimpl"}
|
|
|
+pat zrf $1==4
|
|
|
+with STACK
|
|
|
+gen Call {label,".zrf4"}
|
|
|
+
|
|
|
+pat zrf $1==8
|
|
|
+with STACK
|
|
|
+gen Call {label,".zrf8"}
|
|
|
|
|
|
pat zer $1==2 yields {const2,0}
|
|
|
|
|
@@ -1035,12 +1087,26 @@ with STACK
|
|
|
uses areg={const1,0}
|
|
|
gen Call {label,".cii"}
|
|
|
|
|
|
-pat cfi gen Call {label,"eunimpl"}
|
|
|
-pat cif gen Call {label,"eunimpl"}
|
|
|
-pat cuf gen Call {label,"eunimpl"}
|
|
|
-pat cff gen Call {label,"eunimpl"}
|
|
|
-pat cfu gen Call {label,"eunimpl"}
|
|
|
-
|
|
|
+pat cfi
|
|
|
+with STACK
|
|
|
+gen Call {label,".cfi"}
|
|
|
+
|
|
|
+pat cif
|
|
|
+with STACK
|
|
|
+gen Call {label,".cif"}
|
|
|
+
|
|
|
+pat cuf
|
|
|
+with STACK
|
|
|
+gen Call {label,".cuf"}
|
|
|
+
|
|
|
+pat cff
|
|
|
+with STACK
|
|
|
+gen Call {label,".cff"}
|
|
|
+
|
|
|
+pat cfu
|
|
|
+with STACK
|
|
|
+gen Call {label,".cfu"}
|
|
|
+
|
|
|
/*****************************************/
|
|
|
/* Group 9: Logical instructions */
|
|
|
/*****************************************/
|
|
@@ -1326,7 +1392,13 @@ with STACK
|
|
|
uses areg={const1,1}
|
|
|
gen Call {label,".cmi4"} yields de
|
|
|
|
|
|
-pat cmf gen Call {label,"eunimpl"}
|
|
|
+pat cmf $1==4
|
|
|
+with STACK
|
|
|
+gen Call {label,".cmf4"}
|
|
|
+
|
|
|
+pat cmf $1==8
|
|
|
+with STACK
|
|
|
+gen Call {label,".cmf8"}
|
|
|
|
|
|
pat cmu $1==2
|
|
|
with hl_or_de hl_or_de
|