Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.25
 
1.26
 
MAIN:ragge:20101030094851
 
local2.c
_>387387 
 388388         E("3:   addq $16,%rsp\n");
 389389 }
<> 390+
  391+/*
  392+ * Generate code to convert an SSE float/double to an unsigned long.
  393+ */    
  394+static void    
  395+fdtoul(NODE *p)
  396+{
  397+        E("     movabsq $0x43e0000000000000,A1\n");
  398+        E("     movd A1,A3\n");
  399+        E("     ucomisd A3,AL\n");
  400+        E("     jae 2f\n");
  401+        E("     cvttsd2siq AL,A1\n");
  402+        E("     jmp 3f\n");
  403+        E("2:\n");
  404+        E("     subsd A3,AL\n");
  405+        E("     cvttsd2siq AL,A1\n");
  406+        E("     movabsq $0x8000000000000000,A2\n");
  407+        E("     xorq A2,A1\n");
  408+        E("3:\n");
  409+}
390410 #undef E
 391411 
 392412 void
     
 !
410430                 ldtoul(p);
 411431                 break;
 412432 
<> 433+        case 'b': /* float/double to unsigned long cast */
  434+                fdtoul(p);
  435+                break;
  436+
<_413437         case 'C'/* remove from stack after subroutine call */
 414438                 pr = p->n_qual;
 415439                 if (p->n_op == UCALL)
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-07-11 03:11 +0200