date and time created 88/10/19 11:45:49 by bostic
[unix-history] / usr / src / old / pcc / ccom.vax / table.c
index 9692721..a3b01ce 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char *sccsid ="@(#)table.c      1.27 (Berkeley) %G%";
+static char *sccsid ="@(#)table.c      1.33 (Berkeley) %G%";
 #endif lint
 
 # include "pass2.h"
 #endif lint
 
 # include "pass2.h"
@@ -37,12 +37,6 @@ SCONV,       INTAREG|FORCC,
        SANY,   TFLOAT,
                NAREG|NASL,     RESC1|RESCC,
                "       cvtZLf  AL,TA1\n",
        SANY,   TFLOAT,
                NAREG|NASL,     RESC1|RESCC,
                "       cvtZLf  AL,TA1\n",
-#else
-SCONV, INTAREG|FORCC,          /* rub some bits off that mantissa... */
-       SAREG|AWD,      TWORD|TDOUBLE,
-       SANY,   TFLOAT,
-               NAREG|NASL,     RESC1|RESCC,
-               "       cvtZLf  AL,A1\n clrl    U1\n",
 #endif
 
 /* take care of redundant conversions introduced by reclaim() */
 #endif
 
 /* take care of redundant conversions introduced by reclaim() */
@@ -64,16 +58,10 @@ SCONV,      INTAREG|FORCC,
                NAREG|NASL,     RESC1|RESCC,
                "       ZA\n",
 
                NAREG|NASL,     RESC1|RESCC,
                "       ZA\n",
 
-SCONV, FORARG,
-       SAREG|AWD,      TWORD|TDOUBLE,
-       SANY,   TFLOAT,
-               NAREG|NASL,     RNULL,
-               "       cvtZLf  AL,A1\n cvtfd   A1,-(sp)\n",
-
 SCONV, FORARG,
        SAREG|AWD,      TANY,
        SANY,   TANY,
 SCONV, FORARG,
        SAREG|AWD,      TANY,
        SANY,   TANY,
-               0,      RNULL,
+               NAREG|NASL,     RNULL,
                "       ZV\n",
 
 INIT,  FOREFF,
                "       ZV\n",
 
 INIT,  FOREFF,
@@ -213,6 +201,21 @@ OPLOG,     FORCC,
                0,      RESCC,
                "       cmpf    AL,AR\nZP",
 
                0,      RESCC,
                "       cmpf    AL,AR\nZP",
 
+#ifdef FORT
+/* this really ought to be taken care of farther upstream... XXX */
+OPLOG, FORCC,
+       SAREG|AWD,      TFLOAT,
+       SAREG|AWD,      TDOUBLE,
+               NAREG|NASL,     RESCC,
+               "       cvtfd   AL,A1\n cmpd    A1,AR\nZP",
+
+OPLOG, FORCC,
+       SAREG|AWD,      TDOUBLE,
+       SAREG|AWD,      TFLOAT,
+               NAREG|NASR,     RESCC,
+               "       cvtfd   AR,A1\n cmpd    AL,A1\nZP",
+#endif
+
 CCODES,        INAREG|INTAREG,
        SANY,   TANY,
        SANY,   TANY,
 CCODES,        INAREG|INTAREG,
        SANY,   TANY,
        SANY,   TANY,
@@ -327,6 +330,12 @@ DECR,      INAREG|INTAREG,
                NAREG,  RESC1,
                "       ZD\n",
 
                NAREG,  RESC1,
                "       ZD\n",
 
+ASSIGN,        INAREG|FOREFF|FORCC,
+       SAREG|AWD,      TFLOAT|TDOUBLE,
+       SAREG|AWD,      TUCHAR|TUSHORT,
+               NAREG|NASR,     RLEFT|RESCC,
+               "       ZA\n",
+
 ASSIGN,        INAREG|FOREFF|FORCC,
        SAREG|AWD,      TANY,
        SAREG|AWD,      TANY,
 ASSIGN,        INAREG|FOREFF|FORCC,
        SAREG|AWD,      TANY,
        SAREG|AWD,      TANY,
@@ -380,7 +389,7 @@ OREG,       INTEMP,
        SANY,   TANY,
        SOREG,  TANY,
                NTEMP,  RESC1,
        SANY,   TANY,
        SOREG,  TANY,
                NTEMP,  RESC1,
-               "       movZF   AR,A1\n",
+               "       movZR   AR,A1\n",
 
 REG,   INTEMP,
        SANY,   TANY,
 
 REG,   INTEMP,
        SANY,   TANY,
@@ -695,6 +704,21 @@ OPFLOAT,   INAREG|INTAREG|FORCC,
                "       OF3     AR,AL,TA1\n",
 #endif
 
                "       OF3     AR,AL,TA1\n",
 #endif
 
+#ifdef FORT
+/* perform some implicit conversions XXX SHOULD FIX f77 FRONT END */
+OPFLOAT,       INAREG|INTAREG|FORCC,
+       SAREG|AWD,      TFLOAT,
+       SAREG|AWD,      TDOUBLE,
+               NAREG|NASL,     RESC1|RESCC,
+               "       cvtfd   AL,A1\n OD2     AR,A1\n",
+
+OPFLOAT,       INAREG|INTAREG|FORCC,
+       SAREG|AWD,      TDOUBLE,
+       SAREG|AWD,      TFLOAT,
+               NAREG|NASR,     RESC1|RESCC,
+               "       cvtfd   AR,A1\n OD3     A1,AL,A1\n",
+#endif
+
        /* Default actions for hard trees ... */
 
 # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""
        /* Default actions for hard trees ... */
 
 # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""