VirtualBox

Ignore:
Timestamp:
Jun 29, 2011 7:07:14 AM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
72535
Message:

rem: Synced with v0.12.5.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/target-i386/ops_sse.h

    r36175 r37675  
    811811{
    812812    d->XMM_S(0) = approx_rcp(s->XMM_S(0));
     813}
     814
     815static inline uint64_t helper_extrq(uint64_t src, int shift, int len)
     816{
     817    uint64_t mask;
     818
     819    if (len == 0) {
     820        mask = ~0LL;
     821    } else {
     822        mask = (1ULL << len) - 1;
     823    }
     824    return (src >> shift) & mask;
     825}
     826
     827void helper_extrq_r(XMMReg *d, XMMReg *s)
     828{
     829    d->XMM_Q(0) = helper_extrq(d->XMM_Q(0), s->XMM_B(1), s->XMM_B(0));
     830}
     831
     832void helper_extrq_i(XMMReg *d, int index, int length)
     833{
     834    d->XMM_Q(0) = helper_extrq(d->XMM_Q(0), index, length);
     835}
     836
     837static inline uint64_t helper_insertq(uint64_t src, int shift, int len)
     838{
     839    uint64_t mask;
     840
     841    if (len == 0) {
     842        mask = ~0ULL;
     843    } else {
     844        mask = (1ULL << len) - 1;
     845    }
     846    return (src & ~(mask << shift)) | ((src & mask) << shift);
     847}
     848
     849void helper_insertq_r(XMMReg *d, XMMReg *s)
     850{
     851    d->XMM_Q(0) = helper_insertq(s->XMM_Q(0), s->XMM_B(9), s->XMM_B(8));
     852}
     853
     854void helper_insertq_i(XMMReg *d, int index, int length)
     855{
     856    d->XMM_Q(0) = helper_insertq(d->XMM_Q(0), index, length);
    813857}
    814858
     
    906950SSE_HELPER_CMP(cmpord, FPU_CMPORD)
    907951
    908 const int comis_eflags[4] = {CC_C, CC_Z, 0, CC_Z | CC_P | CC_C};
     952static const int comis_eflags[4] = {CC_C, CC_Z, 0, CC_Z | CC_P | CC_C};
    909953
    910954void helper_ucomiss(Reg *d, Reg *s)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette