Use SQXTUN instead of UQXTN in PACKUSWB on arm64

This commit is contained in:
Jasmine Iwanek
2022-12-02 14:03:30 -05:00
committed by Cacodemon345
parent 9702e28e5c
commit 6de981363e
3 changed files with 10 additions and 2 deletions

View File

@@ -1480,8 +1480,8 @@ codegen_PACKUSWB(codeblock_t *block, uop_t *uop)
int dest_size = IREG_GET_SIZE(uop->dest_reg_a_real), src_size_b = IREG_GET_SIZE(uop->src_reg_b_real);
if (REG_IS_Q(dest_size) && REG_IS_Q(src_size_b) && uop->dest_reg_a_real == uop->src_reg_a_real) {
host_arm64_UQXTN_V8B_8H(block, REG_V_TEMP, src_reg_b);
host_arm64_UQXTN_V8B_8H(block, dest_reg, dest_reg);
host_arm64_SQXTUN_V8B_8H(block, REG_V_TEMP, src_reg_b);
host_arm64_SQXTUN_V8B_8H(block, dest_reg, dest_reg);
host_arm64_ZIP1_V2S(block, dest_reg, dest_reg, REG_V_TEMP);
} else
fatal("PACKUSWB %02x %02x %02x\n", uop->dest_reg_a_real, uop->src_reg_a_real, uop->src_reg_b_real);