From 94534b7c15e360f9e43e62bff92e46772ff74c8f Mon Sep 17 00:00:00 2001 From: em Date: Fri, 12 Apr 1985 14:25:59 +0000 Subject: [PATCH] 1- Floating point routines now call routines instead of calling trp. --- mach/i80/ncg/table | 104 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 88 insertions(+), 16 deletions(-) diff --git a/mach/i80/ncg/table b/mach/i80/ncg/table index 8c885046f..76caa12f1 100644 --- a/mach/i80/ncg/table +++ b/mach/i80/ncg/table @@ -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 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 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 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