Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.43
 
1.44
 
MAIN:ragge:20110529134306
 
local2.c
_>221221 int
 222222 fldexpand(NODE *p, int cookie, char **cp)
 223223 {
<>224 -        CONSZ val;
 225 -
 226 -        if (p->n_op == ASSIGN)
 227 -                p = p->n_left;
 228 -        switch (**cp) {
 229 -        case 'S':
 230 -                printf("%d", UPKFSZ(p->n_rval));
 231 -                break;
 232 -        case 'H':
 233 -                printf("%d", UPKFOFF(p->n_rval));
 234 -                break;
 235 -        case 'M':
 236 -        case 'N':
 237 -                val = (((((CONSZ)1 << (UPKFSZ(p->n_rval)-1))-1)<<1)|1);
 238 -                val <<= UPKFOFF(p->n_rval);
 239 -                if (p->n_type > UNSIGNED)
 240 -                        printf("0x%llx", (**cp == 'M' ? val : ~val));
 241 -                else
 242 -                        printf("0x%llx", (**cp == 'M' ? val : ~val)&0xffffffff);
 243 -                break;
 244 -        default:
 245 -                comperr("fldexpand");
 246 -        }
 247 -        return 1;
  224+        comperr("fldexpand");
  225+        return 0;
248226 }
 249227 
 250228 static void
<>251 -bfext(NODE *p)
 252 -{
 253 -        int ch = 0, sz = 0;
 254 -
 255 -        if (ISUNSIGNED(p->n_right->n_type))
 256 -                return;
 257 -        switch (p->n_right->n_type) {
 258 -        case CHAR:
 259 -                ch = 'b';
 260 -                sz = 8;
 261 -                break;
 262 -        case SHORT:
 263 -                ch = 'w';
 264 -                sz = 16;
 265 -                break;
 266 -        case INT:
 267 -                ch = 'l';
 268 -                sz = 32;
 269 -                break;
 270 -        case LONG:
 271 -                ch = 'q';
 272 -                sz = 64;
 273 -                break;
 274 -        default:
 275 -                comperr("bfext");
 276 -        }
 277 -
 278 -        sz -= UPKFSZ(p->n_left->n_rval);
 279 -        printf("\tshl%c $%d,", ch, sz);
 280 -        adrput(stdout, getlr(p, 'D'));
 281 -        printf("\n\tsar%c $%d,", ch, sz);
 282 -        adrput(stdout, getlr(p, 'D'));
 283 -        printf("\n");
 284 -}
 285 -
 286 -static void
287229 stasg(NODE *p)
 288230 {
 289231         expand(p, INAREG, "     leaq AL,%rdi\n");
     
 !
422364                         printf("        addq $%d, %s\n", pr, rnames[RSP]);
 423365                 break;
 424366 
<>425 -        case 'E': /* Perform bitfield sign-extension */
 426 -                bfext(p);
 427 -                break;
 428 -
429367         case 'F': /* Structure argument */
 430368                 printf("        subq $%d,%%rsp\n", p->n_stsize);
 431369                 printf("        movq %%rsp,%%rsi\n");
     
 !
512450         }
 513451 }
 514452 
<>515 -/*ARGSUSED*/
 516 -int
 517 -rewfld(NODE *p)
 518 -{
 519 -        return(1);
 520 -}
 521 -
522453 int canaddr(NODE *);
 523454 int
 524455 canaddr(NODE *p)
     
 !
537468 int
 538469 flshape(NODE *p)
 539470 {
<>540 -        int o = p->n_op;
 541 -
 542 -        if (o == OREG || o == REG || o == NAME)
 543 -                return SRDIR; /* Direct match */
 544 -        if (o == UMUL && shumul(p->n_left, SOREG))
 545 -                return SROREG; /* Convert into oreg */
 546 -        return SRREG; /* put it into a register */
  471+        comperr("flshape");
  472+        return(0);
547473 }
 548474 
 549475 /* INTEMP shapes must not contain any temporary registers */
     
 !
651577         char **rc;
 652578         /* output an address, with offsets, from p */
 653579 
<>654 -        if (p->n_op == FLD)
 655 -                p = p->n_left;
 656 -
<_657580         switch (p->n_op) {
 658581 
 659582         case NAME:
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-10-31 15:21 +0100