Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.22
 
1.23
 
MAIN:ragge:20110715160455
 
local2.c
_>332332         }
 333333         expand(p, FOREFF, str);
 334334         if (mneg)
<>335 -                expand(p, FOREFF, "\tmnegl $-1,UL\n");
  335+                expand(p, FOREFF, "\n\tmnegl $-1,UL");
336336 }
 337337 
 338338 /*
     
 !
10871087         case 0:
 10881088                 break;
 10891089         case 2:
<>1090 -                printf( "       tst     (sp)+\n" );
  1090+                printf( "       tst     (%sp)+\n" );
10911091                 break;
 10921092         case 4:
<>1093 -                printf( "       cmp     (sp)+,(sp)+\n" );
  1093+                printf( "       cmp     (%sp)+,(%sp)+\n" );
10941094                 break;
 10951095         default:
<>1096 -                printf( "       add     $%d,sp\n", temp);
  1096+                printf( "       add     $%d,%sp\n", temp);
10971097                 }
 10981098    tbl */
 10991099         return(m != MDONE);
     
 !
11471147         TWORD lt;
 11481148 
 11491149         switch (p->n_op) {
<> 1150+        case MOD:
  1151+                if (p->n_type == USHORT || p->n_type == UCHAR) {
  1152+                        r = mkunode(SCONV, p->n_left, 0, UNSIGNED);
  1153+                        r = mkunode(FUNARG, r, 0, UNSIGNED);
  1154+                        s = mkunode(SCONV, p->n_right, 0, UNSIGNED);
  1155+                        s = mkunode(FUNARG, s, 0, UNSIGNED);
  1156+                        r = mkbinode(CM, r, s, INT);
  1157+                        s = mklnode(ICON, 0, 0, FTN|UNSIGNED);
  1158+                        s->n_name = "__urem";
  1159+                        p->n_left = mkbinode(CALL, s, r, UNSIGNED);
  1160+                        p->n_op = SCONV;
  1161+                } else if (p->n_type == UNSIGNED) {
  1162+                        p->n_left = mkunode(FUNARG, p->n_left, 0, UNSIGNED);
  1163+                        p->n_right = mkunode(FUNARG, p->n_right, 0, UNSIGNED);
  1164+                        p->n_right = mkbinode(CM, p->n_left, p->n_right, INT);
  1165+                        p->n_left = mklnode(ICON, 0, 0, FTN|UNSIGNED);
  1166+                        p->n_left->n_name = "__urem";
  1167+                        p->n_op = CALL;
  1168+                }
  1169+                break;
11501170 
<> 1171+        case RS:
  1172+                if (p->n_type == ULONGLONG) {
  1173+                        p->n_right = mkbinode(CM,
  1174+                            mkunode(FUNARG, p->n_left, 0, p->n_left->n_type),
  1175+                            mkunode(FUNARG, p->n_right, 0, p->n_right->n_type),
  1176+                            INT);
  1177+                        p->n_left = mklnode(ICON, 0, 0, FTN|p->n_type);
  1178+                        p->n_left->n_name = "__lshrdi3";
  1179+                        p->n_op = CALL;
  1180+                }
  1181+                break;
  1182+
11511183         case AND:
 11521184                 /* commute L and R to eliminate compliments and constants */
 11531185                 if ((p->n_left->n_op == ICON && p->n_left->n_name[0] == 0) ||
     
 !
12801312 COLORMAP(int c, int *r)
 12811313 {
 12821314         int num;
<> 1315+        int a,b;
12831316 
<> 1317+        a = r[CLASSA];
  1318+        b = r[CLASSB];
12841319         switch (c) {
 12851320         case CLASSA:
 12861321                 /* there are 12 classa, so min 6 classb are needed to block */
<>1287 -                num = r[CLASSB] * 2;
 1288 -                num += r[CLASSA];
  1322+                num = b * 2;
  1323+                num += a;
12891324                 return num < 12;
 12901325         case CLASSB:
<>1291 -                /* 6 classa may block all classb */
 1292 -                num = r[CLASSB] + r[CLASSA];
 1293 -                return num < 6;
  1326+                if (b > 3) return 0;
  1327+                if (b > 2 && a) return 0;
  1328+                if (b > 1 && a > 2) return 0;
  1329+                if (b && a > 3) return 0;
  1330+                if (a > 5) return 0;
  1331+                return 1;
12941332         }
 12951333         comperr("COLORMAP");
 12961334         return 0; /* XXX gcc */
     
 !
13211359 {
 13221360         return 0;
 13231361 }
<_ 1362+
  1363+int
  1364+xasmconstregs(char *s)
  1365+{
  1366+        int i;
  1367+
  1368+        for (i = 0; i < 16; i++)
  1369+                if (strcmp(&rnames[i][1], s) == 0)
  1370+                        return i;
  1371+        return -1;
  1372+}
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-09-19 01:45 +0200