Revision 93e3c0ae
b/target-i386/ops_sse.h | ||
---|---|---|
2099 | 2099 |
pcmp_elen(env, R_EAX, ctrl)); |
2100 | 2100 |
|
2101 | 2101 |
if (res) { |
2102 |
env->regs[R_ECX] = ((ctrl & (1 << 6)) ? rffs1 : ffs1)(res) - 1;
|
|
2102 |
env->regs[R_ECX] = (ctrl & (1 << 6)) ? rffs1(res) - 1 : 32 - ffs1(res);
|
|
2103 | 2103 |
} else { |
2104 | 2104 |
env->regs[R_ECX] = 16 >> (ctrl & (1 << 0)); |
2105 | 2105 |
} |
... | ... | |
2137 | 2137 |
pcmp_ilen(d, ctrl)); |
2138 | 2138 |
|
2139 | 2139 |
if (res) { |
2140 |
env->regs[R_ECX] = ((ctrl & (1 << 6)) ? rffs1 : ffs1)(res) - 1;
|
|
2140 |
env->regs[R_ECX] = (ctrl & (1 << 6)) ? rffs1(res) - 1 : 32 - ffs1(res);
|
|
2141 | 2141 |
} else { |
2142 | 2142 |
env->regs[R_ECX] = 16 >> (ctrl & (1 << 0)); |
2143 | 2143 |
} |
Also available in: Unified diff