X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fops.expect.c;h=4a59e21bf5e0360d9d5e6715d212daaa82906555;hb=7f20f63315d3097ddd97a57567facd981be9bd61;hp=abca698340714b6b62df3dbb5e5807b36734f933;hpb=306201740a8996e02008918dc3e6a5a8e0d00223;p=ia32rtools.git diff --git a/tests/ops.expect.c b/tests/ops.expect.c index abca698..4a59e21 100644 --- a/tests/ops.expect.c +++ b/tests/ops.expect.c @@ -6,6 +6,7 @@ int sub_test() u32 edx; u32 esi; u32 edi; + u32 cond_c; u32 cond_z; u64 tmp64; @@ -36,10 +37,24 @@ loop: tmp64 = ((u64)edx << 32) | eax; tmp64 = (s64)tmp64 <<= LOBYTE(ecx); edx = tmp64 >> 32; eax = tmp64; // allshl + edi = eax; tmp64 = ((u64)edx << 32) | eax; tmp64 = (s64)tmp64 >>= LOBYTE(ecx); edx = tmp64 >> 32; eax = tmp64; // allshr eax = __builtin_bswap32(eax); + ecx ^= eax; + tmp64 = (u64)eax + ecx; + cond_c = tmp64 >> 32; + eax = (u32)tmp64; + cond_z = (eax == 0); // add64 + while (ecx != 0) { + cond_c = *(u8 *)esi < *(u8 *)edi; + cond_z = (*(u8 *)esi == *(u8 *)edi); esi += 1, edi += 1; + ecx--; + if (cond_z != 0) break; + } // repne cmps + LOBYTE(ecx) = (!cond_z); + LOBYTE(ecx) += (u8)ecx + cond_c; eax = 1; return eax; }