Implement vpkuhum

This commit is contained in:
CRACKbomber 2025-05-23 19:23:17 -04:00
parent de697dc1b0
commit 2ae394ba59

View file

@ -2370,6 +2370,14 @@ bool Recompiler::Recompile(
}
break;
case PPC_INST_VPKUHUM:
// Pack without saturation - use shuffle to select lower bytes
println("\t_mm_store_si128((__m128i*){}.u8, _mm_packus_epi16("
"_mm_and_si128(_mm_load_si128((__m128i*){}.u16), _mm_set1_epi16(0xFF)), "
"_mm_and_si128(_mm_load_si128((__m128i*){}.u16), _mm_set1_epi16(0xFF))));",
v(insn.operands[0]), v(insn.operands[2]), v(insn.operands[1]));
break;
case PPC_INST_VPKUWUM:
case PPC_INST_VPKUWUM128:
println("\t_mm_store_si128((__m128i*){}.u32, _mm_load_si128((__m128i*){}.u32));", vTemp(), v(insn.operands[2]));