/* 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 */
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}
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 */
/*****************************************/
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