Moving the following instructions to decodetree : v{add,sub}{u,s}{b,h,w}s : VX-form
However, the following instructions were paired using the GEN_VXFORM_DUAL macros in the vmx-impl and vmx-ops files : vaddubs and vmul10uq vadduhs and vmul10euq vaddshs and bcdcpsgn vsububs and bcdadd vsubuhs and bcdsub vsubsbs and bcdtrunc vsubsws and xpnd04_2 Out of those 7 above mentioned pairs, I have moved the first one of each pair and added respective entry of the 2nd one in the vmx-ops file. However, I lack some clarity on those flag checks added for those insns in the ops file. It would be great if someone sheds some light at this. The issue; let's take the following example : 1. vsubsbs and bcdtrunc : In this pair, bcdtrunc has the insn flag check PPC2_ISA300 in the vmx-impl file, within the GEN_VXFORM_DUAL macro, which does this flag check. However it also has this flag check in the vmx-ops file. Hence I have retained the same in the new entry in the vmx-ops file. This is consistent with the behaviour in done in the following commit : https://github.com/qemu/qemu/commit/b132be53a4ba6a0a40d5643d791822f958a36e53 So even though the flag check is removed from the vmx-impl file, it is retained in the vmx-ops file. All good here. 2. vadduhs and vmul10euq : In this pair, vmul10euq has the insn flag check PPC2_ISA300 in the vmx-impl file, check done within the GEN_VXFORM_DUAL macro. However the same flag was NOT originally present in the vmx-ops file, so I have NOT included in its new entry in the vmx-ops file. I have done this, following the behaviour done in the following commit : https://github.com/qemu/qemu/commit/c85929b2ddf6bbad737635c9b85213007ec043af So this flag check for vmul10euq is excluded now. Is this not a problem ? I feel that this leads to the flag check being skipped now, however this behaviour was followed in the above mentioned commit. Requesting anyone to please let me know why this behaviour was followed and how the flag checks are retained here, or if they are really skipped, why is it okay to skip them here ? Regards, Chinmay Chinmay Rath (1): target/ppc: Move VMX integer add/sub saturate insns to decodetree. target/ppc/helper.h | 24 +-- target/ppc/insn32.decode | 16 ++ target/ppc/int_helper.c | 22 +-- target/ppc/translate/vmx-impl.c.inc | 242 ++++++++++++++++++++-------- target/ppc/translate/vmx-ops.c.inc | 19 +-- 5 files changed, 224 insertions(+), 99 deletions(-) -- 2.39.3