Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.53
 
1.54
 
MAIN:ragge:20140702085940
 
local2.c
_>413413                         return; /* XXX remove ZC from UCALL */
 414414                 if (pr)
 415415                         printf("        addq $%d, %s\n", pr, rnames[RSP]);
<>416 -                if ((p->n_op == STCALL || p->n_op == USTCALL) &&
 417 -                    p->n_stsize <= 16) {
418416 #define STRREG 6
 419417 #define STRSSE 8
 420418 #define STRIF  9
 421419 #define STRFI  10
<> 420+#define STRX87 11
  421+                if ((p->n_op == STCALL || p->n_op == USTCALL) &&
  422+                    p->n_stsize == 32 && p->n_stalign == STRX87) {
  423+                        printf("\tfstpt -%d(%%rbp)\n", stkpos);
  424+                        printf("\tfstpt -%d(%%rbp)\n", stkpos-16);
  425+                        printf("\tleaq -%d(%%rbp),%%rax\n", stkpos);
  426+                }
  427+                if ((p->n_op == STCALL || p->n_op == USTCALL) &&
  428+                    p->n_stsize <= 16) {
422429                         /* store reg-passed structs on stack */
 423430                         if (p->n_stalign == STRREG || p->n_stalign == STRIF)
 424431                                 printf("\tmovq %%rax,-%d(%%rbp)\n", stkpos);
     
 !
467474                 break;
 468475 
 469476         case 'P': /* Put hidden argument in rdi */
<>470 -                if (p->n_stsize > 16)
  477+                if (p->n_stsize > 16 && p->n_stalign != STRX87)
<_471478                         printf("\tleaq -%d(%%rbp),%%rdi\n", stkpos);
 472479                 break;
 473480 
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 19:35 +0100