Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

Changeset 829

Show
Ignore:
Timestamp:
12/31/10 07:23:29 (14 years ago)
Author:
walter
Message:

more 64

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/dmd-1.x/src/backend/evalu8.c

    r728 r829  
    15571557        break; 
    15581558 
    15591559#if MARS 
    15601560    case OPashr: 
    15611561        if ((targ_ullong) i2 > sizeof(targ_ullong) * 8) 
    15621562            i2 = sizeof(targ_ullong) * 8; 
    15631563        // Always signed 
    15641564        e->EV.Vllong = l1 >> i2; 
    15651565        break; 
    15661566#endif 
    15671567 
    15681568    case OPpair: 
    15691569        switch (tysize[tym]) 
    15701570        { 
    15711571            case 2: 
    15721572                e->EV.Vlong = (i2 << 16) | (i1 & 0xFFFF); 
    15731573                break; 
    15741574            case 4: 
    15751575                e->EV.Vllong = (l2 << 32) | (l1 & 0xFFFFFFFF); 
    15761576                break; 
     1577            case 8: 
     1578                e->EV.Vcent.lsw = l1; 
     1579                e->EV.Vcent.msw = l2; 
     1580                break; 
    15771581            default: 
    15781582                assert(0); 
    15791583        } 
    15801584        break; 
    15811585 
    15821586    case OPneg: 
    15831587#if TX86 
    15841588        // Avoid converting NANS to NAN 
    15851589        memcpy(&e->EV.Vcldouble,&e1->EV.Vcldouble,sizeof(e->EV.Vcldouble)); 
    15861590        switch (tym) 
    15871591        {   case TYdouble: 
    15881592            case TYidouble: 
    15891593            case TYdouble_alias: 
    15901594                e->EV.Vdouble = -e->EV.Vdouble; 
    15911595                break; 
    15921596            case TYfloat: 
    15931597            case TYifloat: 
    15941598                e->EV.Vfloat = -e->EV.Vfloat; 
    15951599                break; 
    15961600            case TYldouble: 
  • trunk/src/backend/evalu8.c

    r728 r829  
    15571557        break; 
    15581558 
    15591559#if MARS 
    15601560    case OPashr: 
    15611561        if ((targ_ullong) i2 > sizeof(targ_ullong) * 8) 
    15621562            i2 = sizeof(targ_ullong) * 8; 
    15631563        // Always signed 
    15641564        e->EV.Vllong = l1 >> i2; 
    15651565        break; 
    15661566#endif 
    15671567 
    15681568    case OPpair: 
    15691569        switch (tysize[tym]) 
    15701570        { 
    15711571            case 2: 
    15721572                e->EV.Vlong = (i2 << 16) | (i1 & 0xFFFF); 
    15731573                break; 
    15741574            case 4: 
    15751575                e->EV.Vllong = (l2 << 32) | (l1 & 0xFFFFFFFF); 
    15761576                break; 
     1577            case 8: 
     1578                e->EV.Vcent.lsw = l1; 
     1579                e->EV.Vcent.msw = l2; 
     1580                break; 
    15771581            default: 
    15781582                assert(0); 
    15791583        } 
    15801584        break; 
    15811585 
    15821586    case OPneg: 
    15831587#if TX86 
    15841588        // Avoid converting NANS to NAN 
    15851589        memcpy(&e->EV.Vcldouble,&e1->EV.Vcldouble,sizeof(e->EV.Vcldouble)); 
    15861590        switch (tym) 
    15871591        {   case TYdouble: 
    15881592            case TYidouble: 
    15891593            case TYdouble_alias: 
    15901594                e->EV.Vdouble = -e->EV.Vdouble; 
    15911595                break; 
    15921596            case TYfloat: 
    15931597            case TYifloat: 
    15941598                e->EV.Vfloat = -e->EV.Vfloat; 
    15951599                break; 
    15961600            case TYldouble: