X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fops.expect.c;fp=tests%2Fops.expect.c;h=abca698340714b6b62df3dbb5e5807b36734f933;hb=622eb2eff8349fa0a6675ce3213ab8f8fb1c1798;hp=3b59db124d666a61ceaf70aa3396021301ebb4fb;hpb=fe18df39aa9dc0a3afc5a7474a27698672eceeca;p=ia32rtools.git diff --git a/tests/ops.expect.c b/tests/ops.expect.c index 3b59db1..abca698 100644 --- a/tests/ops.expect.c +++ b/tests/ops.expect.c @@ -7,6 +7,7 @@ int sub_test() u32 esi; u32 edi; u32 cond_z; + u64 tmp64; ebx = 0x10000; esi = 0x20000; @@ -32,6 +33,13 @@ loop: *(u32 *)edi = eax; edi -= 4; // stos edx = (s32)eax >> 31; // cdq eax = ecx ? __builtin_ffs(ecx) - 1 : 0; // bsf + tmp64 = ((u64)edx << 32) | eax; + tmp64 = (s64)tmp64 <<= LOBYTE(ecx); + edx = tmp64 >> 32; eax = tmp64; // allshl + tmp64 = ((u64)edx << 32) | eax; + tmp64 = (s64)tmp64 >>= LOBYTE(ecx); + edx = tmp64 >> 32; eax = tmp64; // allshr + eax = __builtin_bswap32(eax); eax = 1; return eax; }