This patch is part of work adding arm64 v8.2 support as summarised in container bug https://bugs.kde.org/show_bug.cgi?id=428016 The scalar variant of this patch is https://bugs.kde.org/show_bug.cgi?id=436411
Created attachment 138348 [details] Adds arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions Adds arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions NOTE: This patch is for the vector instruction variant and is based on a branch which includes the scalar patch currently at review in https://bugs.kde.org/show_bug.cgi?id=436411
This is structurally very similar to the scalar-version patch at https://bugs.kde.org/show_bug.cgi?id=436411#c2 (which is good) and so the same comments for that patch (in comment 3) apply here, meaning, the concern about hwcaps-gating.
(In reply to Julian Seward from comment #2) > This is structurally very similar to the scalar-version patch at > https://bugs.kde.org/show_bug.cgi?id=436411#c2 (which is good) and > so the same comments for that patch (in comment 3) apply here, > meaning, the concern about hwcaps-gating. The review fixes for the scalar variants patch https://bugs.kde.org/show_bug.cgi?id=436411 (hwcaps-gating and iselIntExpr_RIL_wrk issues) means this latest patch works. Tested with regtest and combinations of --memcheck:leak-check=yes --tool=memcheck --track-origins=yes.
(In reply to ahashmi from comment #3) > The review fixes for the scalar variants patch > https://bugs.kde.org/show_bug.cgi?id=436411 (hwcaps-gating and > iselIntExpr_RIL_wrk issues) means this latest patch works. Tested with > regtest and combinations of --memcheck:leak-check=yes --tool=memcheck > --track-origins=yes. Ah, my favourite kind of patch to review -- mostly test cases :-) I didn't actually see any gating stuff in the three new frontend (guest_arm64_toIR.c) cases, but maybe it's done elsewhere? Anyways I'll take your word for it. So long as the relevant gating is done as per the scalar patch, then +1 to land. J
(In reply to Julian Seward from comment #4) > I didn't actually see any gating stuff in the three new frontend > (guest_arm64_toIR.c) cases, but maybe it's done elsewhere? Yes, the three new front-end cases are in dis_AdvSIMD_three_same_fp16() all of which is gated because that function only handles half-precision instructions, VEX_HWCAPS_ARM64_FP16.
Landed, f048559cb04bd88f0613d02a3b7aa5fdd075617b.