Bug 436873 - Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions
Summary: Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions
Status: CLOSED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: ahashmi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-10 15:12 UTC by ahashmi
Modified: 2021-06-08 16:10 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Adds arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions (273.56 KB, text/plain)
2021-05-11 16:52 UTC, ahashmi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ahashmi 2021-05-10 15:12:23 UTC
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
Comment 1 ahashmi 2021-05-11 16:52:24 UTC
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
Comment 2 Julian Seward 2021-05-25 11:59:22 UTC
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.
Comment 3 ahashmi 2021-06-08 11:24:29 UTC
(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.
Comment 4 Julian Seward 2021-06-08 15:21:42 UTC
(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
Comment 5 ahashmi 2021-06-08 15:53:45 UTC
(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.
Comment 6 ahashmi 2021-06-08 16:09:26 UTC
Landed, f048559cb04bd88f0613d02a3b7aa5fdd075617b.