VirtualBox

Changeset 89148 in vbox for trunk/include


Ignore:
Timestamp:
May 19, 2021 12:49:20 AM (4 years ago)
Author:
vboxsync
Message:

iprt/asm-watcom-x86-32.h: Fixed ASMBitLastSetU64. Was working like ASMBitFirstSetU64. bugref:10009

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/asm-watcom-x86-32.h

    r82968 r89148  
    656656#ifdef IPRT_ASM_WATCOM_X86_32_WITH_PRAGMAS
    657657#pragma aux ASMBitLastSetU64 = \
    658     "bsf eax, eax" \
    659     "jz  not_found_low" \
    660     "inc eax" \
    661     "jmp done" \
    662     \
    663     "not_found_low:" \
    664     "bsf eax, edx" \
     658    "xchg eax, edx" \
     659    "bsr eax, eax" \
    665660    "jz  not_found_high" \
    666661    "add eax, 33" \
     
    668663    \
    669664    "not_found_high:" \
     665    "bsf eax, edx" \
     666    "jz  not_found" \
     667    "inc eax" \
     668    "jmp done" \
     669    \
     670    "not_found:" \
    670671    "xor eax, eax" \
    671672    "done:" \
    672673    parm [eax edx] nomemory \
    673674    value [eax] \
    674     modify exact [eax] nomemory;
     675    modify exact [eax edx] nomemory;
    675676#endif
    676677
Note: See TracChangeset for help on using the changeset viewer.

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