trunk/src/emu/cpu/i386/pentops.c
r26348 | r26349 | |
1159 | 1159 | CYCLES(cpustate,1); // TODO: correct cycle count |
1160 | 1160 | } |
1161 | 1161 | |
| 1162 | static void PENTIUMOP(tzcnt_r16_rm16)(i386_state *cpustate) |
| 1163 | { |
| 1164 | // for CPUs that don't support TZCNT, fall back to BSF |
| 1165 | i386_bsf_r16_rm16(cpustate); |
| 1166 | // TODO: actually implement TZCNT |
| 1167 | } |
| 1168 | |
| 1169 | static void PENTIUMOP(tzcnt_r32_rm32)(i386_state *cpustate) |
| 1170 | { |
| 1171 | // for CPUs that don't support TZCNT, fall back to BSF |
| 1172 | i386_bsf_r32_rm32(cpustate); |
| 1173 | // TODO: actually implement TZCNT |
| 1174 | } |
| 1175 | |
1162 | 1176 | INLINE INT8 SaturatedSignedWordToSignedByte(INT16 word) |
1163 | 1177 | { |
1164 | 1178 | if (word > 127) |
trunk/src/emu/cpu/i386/i386ops.h
r26348 | r26349 | |
525 | 525 | { 0x7E, OP_3BYTEF3|OP_SSE, SSEOP(movq_r128_r128m64), SSEOP(movq_r128_r128m64), }, |
526 | 526 | { 0x7F, OP_3BYTEF3|OP_SSE, SSEOP(movdqu_rm128_r128), SSEOP(movdqu_rm128_r128), }, |
527 | 527 | { 0xB8, OP_3BYTEF3|OP_PENTIUM, PENTIUMOP(popcnt_r16_rm16), PENTIUMOP(popcnt_r32_rm32), }, |
| 528 | { 0xBC, OP_3BYTEF3|OP_PENTIUM, PENTIUMOP(tzcnt_r16_rm16), PENTIUMOP(tzcnt_r32_rm32), }, |
528 | 529 | { 0xC2, OP_3BYTEF3|OP_SSE, SSEOP(cmpss_r128_r128m32_i8), SSEOP(cmpss_r128_r128m32_i8),}, |
529 | 530 | { 0xD6, OP_3BYTEF3|OP_SSE, SSEOP(movq2dq_r128_r64), SSEOP(movq2dq_r128_r64), }, |
530 | 531 | { 0xE6, OP_3BYTEF3|OP_SSE, SSEOP(cvtdq2pd_r128_r128m64), SSEOP(cvtdq2pd_r128_r128m64)} |