Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.7
 
1.8
 
MAIN:ragge:20090524132013
 
local2.c
_>360360         fprintf(fp, "   addl $12,%%esp\n");
 361361 }
 362362 
<>363 -/*
 364 - * Compare two floating point numbers.
 365 - */
 366 -static void
 367 -fcomp(NODE *p
 368 -{
 369 -        
 370 -        if (p->n_left->n_op == REG) {
 371 -                if (p->n_su & DORIGHT)
 372 -                        expand(p, 0, "  fxch\n");
 373 -                expand(p, 0, "  fucompp\n");    /* emit compare insn  */
 374 -        } else if (p->n_left->n_type == DOUBLE)
 375 -                expand(p, 0, "  fcompl AL\n");  /* emit compare insn  */
 376 -        else if (p->n_left->n_type == FLOAT)
 377 -                expand(p, 0, "  fcomp AL\n");   /* emit compare insn  */
 378 -        else
 379 -                comperr("bad compare %p\n", p);
 380 -        expand(p, 0, "  fnstsw %ax\n"); /* move status reg to ax */
 381 -        
 382 -        switch (p->n_op) {
 383 -        case EQ:
 384 -                expand(p, 0, "  andb $64,%ah\n  jne LC\n");
 385 -                break;
 386 -        case NE:
 387 -                expand(p, 0, "  andb $64,%ah\n  je LC\n");
 388 -                break;
 389 -        case LE:
 390 -                expand(p, 0, "  andb $65,%ah\n  cmpb $1,%ah\n   jne LC\n");
 391 -                break;
 392 -        case LT:
 393 -                expand(p, 0, "  andb $65,%ah\n  je LC\n");
 394 -                break;
 395 -        case GT:
 396 -                expand(p, 0, "  andb $1,%ah\n   jne LC\n");
 397 -                break;
 398 -        case GE:
 399 -                expand(p, 0, "  andb $65,%ah\n  jne LC\n");
 400 -                break;
 401 -        default:
 402 -                comperr("fcomp op %d\n", p->n_op);
 403 -        }
 404 -}
 405 -
406363 #endif
 407364 /*
 408365  * Generate code to convert an unsigned long to xmm float/double.
     
 !
487444                 if (p->n_stalign != 0) /* already on stack */
 488445                         starg(p);
 489446                 break;
<>490 -
 491 -        case 'G': /* Floating point compare */
 492 -                fcomp(p);
 493 -                break;
 494 -
<_495447 #endif
 496448         case 'j': /* convert unsigned long to f/d */
 497449                 ultofd(p);
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-01 20:40 +0200