Wiki Roadmap Timeline Tickets New Ticket Source Search Help / Guide About Trac Login

Ticket #256: fdivfsubreverse.patch

File fdivfsubreverse.patch, 1.3 kB (added by ChristianK, 3 years ago)

Here's a patch against asm-x86-32. It passes the revised dstress tests. Are there any other asm opcodes that need this treatment?

  • a/gen/asm-x86-32.h

    old new  
    18861886                } 
    18871887                break; 
    18881888                default: 
     1889                // special case fdiv, fsub: see dmd 840, ldc 256 
     1890                if (strncmp(mnemonic, "fsub", 4) == 0 || 
     1891                    strncmp(mnemonic, "fdiv", 4) == 0) 
     1892                { 
     1893                    if (mnemonic[4] == 'r') 
     1894                    { 
     1895                        insnTemplate.write(mnemonic, 4); 
     1896                        insnTemplate.write(mnemonic+5, strlen(mnemonic)-5); 
     1897                    } 
     1898                    else 
     1899                    { 
     1900                        insnTemplate.write(mnemonic, 4) << "r"; 
     1901                        insnTemplate.write(mnemonic+4, strlen(mnemonic)-4); 
     1902                    } 
     1903                } 
     1904                else 
     1905                { 
    18891906                    insnTemplate << mnemonic; 
    1890                     if ( type_char ) 
    1891                         insnTemplate << type_char; 
    1892                     break; 
     1907                } 
     1908                if ( type_char ) 
     1909                    insnTemplate << type_char; 
     1910                break; 
    18931911            } 
    18941912 
    18951913            switch ( opInfo->implicitClobbers & Clb_DXAX_Mask ) 
Copyright © 2008, LDC Development Team.