[valgrind] [Bug 438630] Adding zero variants of arm64 v8.2 FCMEQ, FCMGE, FCMGT, FCMLE and FCMLT instructions

2021-06-29 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438630

ahashmi  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438630] Adding zero variants of arm64 v8.2 FCMEQ, FCMGE, FCMGT, FCMLE and FCMLT instructions

2021-06-29 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438630

ahashmi  changed:

   What|Removed |Added

 Status|REPORTED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from ahashmi  ---
Landed 393732dda164c1cc0fc511eadc0b8f06008ade4f

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] Addition of arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

2021-06-29 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

ahashmi  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] Addition of arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

2021-06-29 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

ahashmi  changed:

   What|Removed |Added

 Status|REPORTED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from ahashmi  ---
Landed c5331315d7a62ec1c117ff773fadfeb0bf433b02

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] Addition of arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

2021-06-29 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

--- Comment #5 from ahashmi  ---
(In reply to Julian Seward from comment #3)

> No .. ensure SIGILL is raised (decode failure) for any undecodable insns.
> Never assert.
Good point, I've changed it to:
+ else {
+/* ty = 2 is an illegal encoding */
+if (sigill_diag) {
+   vex_printf("ARM64 front end: dis_AdvSIMD_fp_conditional_compare\n");
+}
+return False;
+ }


> +   return True;
>  
> return False;
> 
> This is a strange sequence.  The second return is unreachable.  (Maybe I
> misread?)
My bad. The second return is a leftover from some debug testing which I should
have deleted.


> As a nit, in such situations I'd prefer if you set these both to NULL so as to
> protect against future snafus .. I know it's redundant as the code stands.
> Viz:
> 
>  HReg (*iselExpr)(ISelEnv*, IRExpr*) = NULL;
>  ARM64Instr* (*VCmp)(HReg, HReg) = NULL
Good point! initialised.
Bugs caused by uninitialised data can be insidious. The code is fine now but
possible future changes in the subsequent if clauses could allow such bugs to
appear.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] Addition of arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

2021-06-29 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

ahashmi  changed:

   What|Removed |Added

 Attachment #139231|0   |1
is obsolete||

--- Comment #4 from ahashmi  ---
Created attachment 139733
  --> https://bugs.kde.org/attachment.cgi?id=139733=edit
Adds arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

Updated patch to address issues raised by review.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438630] Adding zero variants of arm64 v8.2 FCMEQ, FCMGE, FCMGT, FCMLE and FCMLT instructions

2021-06-16 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438630

--- Comment #1 from ahashmi  ---
Created attachment 139381
  --> https://bugs.kde.org/attachment.cgi?id=139381=edit
Adds zero variants of arm64 v8.2 FCMEQ, FCMGE, FCMGT, FCMLE and FCMLT
instructions

NOTE: This patch is for the compare-with-zero variants of instructions
currently at review in https://bugs.kde.org/show_bug.cgi?id=438038 and is based
on a branch which includes those changes.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438630] Adding zero variants of arm64 v8.2 FCMEQ, FCMGE, FCMGT, FCMLE and FCMLT instructions

2021-06-16 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438630

ahashmi  changed:

   What|Removed |Added

Summary|Adding zero variants of |Adding zero variants of
   |arm64 v8.2 FCMEQ, FCMGE and |arm64 v8.2 FCMEQ, FCMGE,
   |FCMGT instructions  |FCMGT, FCMLE and FCMLT
   ||instructions

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438630] Adding zero variants of arm64 v8.2 FCMEQ, FCMGE and FCMGT instructions

2021-06-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438630

ahashmi  changed:

   What|Removed |Added

Summary|Adding zero variants of |Adding zero variants of
   |arm64 v8.2 FCCMP, FCCMPE,   |arm64 v8.2 FCMEQ, FCMGE and
   |FCMEQ, FCMGE and FCMGT  |FCMGT instructions
   |instructions|

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 428016] Collection of tasks for addition of ARMv8.2 instructions and related features

2021-06-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=428016

--- Comment #8 from ahashmi  ---
Adding compare-with-zero variants of arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and
FCMGT instructions:
https://bugs.kde.org/show_bug.cgi?id=438630

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] Addition of arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

2021-06-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

--- Comment #2 from ahashmi  ---
Compare-with-zero variants of these instructions are implemented by
https://bugs.kde.org/show_bug.cgi?id=438630

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438630] Adding zero variants of arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

2021-06-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438630

ahashmi  changed:

   What|Removed |Added

   Assignee|jsew...@acm.org |assad.has...@linaro.org

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438630] New: Adding zero variants of arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

2021-06-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438630

Bug ID: 438630
   Summary: Adding zero variants of arm64 v8.2 FCCMP, FCCMPE,
FCMEQ, FCMGE and FCMGT instructions
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

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 register variant of this patch is
https://bugs.kde.org/show_bug.cgi?id=438038

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] Addition of arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

2021-06-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

ahashmi  changed:

   What|Removed |Added

Summary|Addition of arm64 v8.2  |Addition of arm64 v8.2
   |FCCMP, FCCMPE and FCMEQ,|FCCMP, FCCMPE, FCMEQ, FCMGE
   |FCMGE and FCMGT |and FCMGT instructions
   |instructions|

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] Addition of arm64 v8.2 FCCMP, FCCMPE and FCMEQ, FCMGE and FCMGT instructions

2021-06-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

ahashmi  changed:

   What|Removed |Added

Summary|Addition of arm64 v8.2  |Addition of arm64 v8.2
   |FCCMP, FCCMPE and FCMEQ |FCCMP, FCCMPE and FCMEQ,
   |instructions|FCMGE and FCMGT
   ||instructions

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] Addition of arm64 v8.2 FCCMP, FCCMPE and FCMEQ instructions

2021-06-11 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

--- Comment #1 from ahashmi  ---
Created attachment 139231
  --> https://bugs.kde.org/attachment.cgi?id=139231=edit
Adds arm64 v8.2 FCCMP, FCCMPE, FCMEQ, FCMGE and FCMGT instructions

Note to reviewers: this patch may look a bit big at first glance but there's a
lot of boilerplate test code and fairly straightforward IR construction
additions.

Patch has been tested with --memcheck:leak-check=yes --tool=memcheck
--track-origins=yes

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436873] Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions

2021-06-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436873

ahashmi  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436873] Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions

2021-06-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436873

ahashmi  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|REPORTED|RESOLVED

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436873] Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions

2021-06-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436873

--- Comment #6 from ahashmi  ---
Landed, f048559cb04bd88f0613d02a3b7aa5fdd075617b.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436873] Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions

2021-06-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436873

--- Comment #5 from ahashmi  ---
(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.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436873] Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions

2021-06-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436873

--- Comment #3 from ahashmi  ---
(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.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] Addition of arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

2021-06-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

ahashmi  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] Addition of arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

2021-06-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

ahashmi  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|REPORTED|RESOLVED

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] Addition of arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

2021-06-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

--- Comment #7 from ahashmi  ---
Landed, 3ac86151404e6d018473dc3f6cd8b933be1ee038.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] Addition of arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

2021-06-07 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

ahashmi  changed:

   What|Removed |Added

 Attachment #138947|0   |1
is obsolete||

--- Comment #6 from ahashmi  ---
Created attachment 139074
  --> https://bugs.kde.org/attachment.cgi?id=139074=edit
Addition of arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

> That all looks fine; please land.  Just before you do -- if you haven't
> already -- please though run the test cases once by hand on Memcheck,
> with --track-origins=yes, and check nothing breaks.  This has been
> known to happen in the past, at least to me :-)

Good point! And now I remember why I made the RIL change . When run
with --tool=memcheck:
vex: priv/host_arm64_isel.c:1292 (iselIntExpr_RIL_wrk): Assertion `ty
== Ity_I64 || ty == Ity_I32' failed.

Thanks for the out-of-band email explanation about IR traversal for isel and
the RIL functions. The latest patch includes the fix and tests pass with
--tool=memcheck and --track-origins=yes.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 428016] Collection of tasks for addition of ARMv8.2 instructions and related features

2021-06-03 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=428016

--- Comment #7 from ahashmi  ---
Addition of arm64 v8.2 FCCMP, FCCMPE and FCMEQ instructions:
https://bugs.kde.org/show_bug.cgi?id=438038

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] Addition of arm64 v8.2 FCCMP, FCCMPE and FCMEQ instructions

2021-06-03 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

ahashmi  changed:

   What|Removed |Added

   Assignee|jsew...@acm.org |assad.has...@linaro.org

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 438038] New: Addition of arm64 v8.2 FCCMP, FCCMPE and FCMEQ instructions

2021-06-03 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=438038

Bug ID: 438038
   Summary: Addition of arm64 v8.2 FCCMP, FCCMPE and FCMEQ
instructions
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

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

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] Addition of arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

2021-06-02 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

ahashmi  changed:

   What|Removed |Added

 Attachment #138343|0   |1
is obsolete||

--- Comment #4 from ahashmi  ---
Created attachment 138947
  --> https://bugs.kde.org/attachment.cgi?id=138947=edit
Adds arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

Thanks for reviewing, apologies for the delay in responding.

The first issue pertaining to CPU feature-gating of the front-end was something
I did implement in the first v8.2 instruction, FADDP
(https://bugs.kde.org/show_bug.cgi?id=413547) but for some reason ommitted in
later v8.2 work! I've added the VEX_HWCAPS_ARM64_FP16 check for all
half-precision FP instructions.

The second issue to do with the Iex_Const case for iselIntExpr_RIL_wrk() turns
out to be some sort of confusion on my part! I can't remember exactly what
happened but I think an assert to catch Ity_I16 must've fired partway through
development and I just assumed it was the the Iex_Const in
iselIntExpr_RIL_wrk(). Anyway, I've removed the unnecessary changes and tested
on v8.x where x<3.

I'd prefer to get this patch past review and merged before addressing the same
hwcaps-gating issue in https://bugs.kde.org/show_bug.cgi?id=436873.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436873] Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions

2021-05-11 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436873

--- Comment #1 from ahashmi  ---
Created attachment 138348
  --> https://bugs.kde.org/attachment.cgi?id=138348=edit
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

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 428016] Collection of tasks for addition of ARMv8.2 instructions and related features

2021-05-11 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=428016

--- Comment #6 from ahashmi  ---
Addition of vector FABD, FACGE, FACGT and FADD instructions:
https://bugs.kde.org/show_bug.cgi?id=436873

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] Addition of arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

2021-05-11 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

ahashmi  changed:

   What|Removed |Added

 Attachment #138216|0   |1
is obsolete||
 CC||assad.has...@linaro.org

--- Comment #2 from ahashmi  ---
Created attachment 138343
  --> https://bugs.kde.org/attachment.cgi?id=138343=edit
Adds arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

This is an updated patch which fixes a bug I found while working on the vector
variants of these instructions.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436873] Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions

2021-05-10 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436873

ahashmi  changed:

   What|Removed |Added

   Assignee|jsew...@acm.org |assad.has...@linaro.org

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436873] New: Addition of arm64 v8.2 vector FABD, FACGE, FACGT and FADD instructions

2021-05-10 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436873

Bug ID: 436873
   Summary: Addition of arm64 v8.2 vector FABD, FACGE, FACGT and
FADD instructions
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

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

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 428016] Collection of tasks for addition of ARMv8.2 instructions and related features

2021-05-07 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=428016

--- Comment #5 from ahashmi  ---
Addittion of v8.2 scalar FABD, FACGE, FACGT and FADD instructions:
https://bugs.kde.org/show_bug.cgi?id=436411

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] Addition of arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

2021-05-07 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

--- Comment #1 from ahashmi  ---
Created attachment 138216
  --> https://bugs.kde.org/attachment.cgi?id=138216=edit
Adds arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

This patch is for the scalar instruction variant, the vector patch will follow
next.

I have left the 16 bit immediate handling in iselIntExpr_RIL_wrk() as a TODO
while I get to grips with v8.2 immediate encodings.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] Addition of arm64 v8.2 scalar FABD, FACGE, FACGT and FADD instructions

2021-05-07 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

ahashmi  changed:

   What|Removed |Added

Summary|Addition of arm64 v8.2  |Addition of arm64 v8.2
   |FABD, FACGE, FACGT and FADD |scalar FABD, FACGE, FACGT
   |instructions|and FADD instructions

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] Addition of arm64 v8.2 FABD, FACGE, FACGT and FADD instructions

2021-04-30 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

ahashmi  changed:

   What|Removed |Added

   Assignee|jsew...@acm.org |assad.has...@linaro.org

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 436411] New: Addition of arm64 v8.2 FABD, FACGE, FACGT and FADD instructions

2021-04-30 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=436411

Bug ID: 436411
   Summary: Addition of arm64 v8.2 FABD, FACGE, FACGT and FADD
instructions
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

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

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432161] Addition of arm64 v8.2 FABS, FNEG and FSQRT instructions

2021-01-29 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=432161

ahashmi  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432161] Addition of arm64 v8.2 FABS, FNEG and FSQRT instructions

2021-01-29 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=432161

ahashmi  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|REPORTED|RESOLVED

--- Comment #7 from ahashmi  ---
Landed, 7593a4773997807695d6514e9d01a60cb489851c

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432161] Addition of arm64 v8.2 FABS, FNEG and FSQRT instructions

2021-01-27 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=432161

--- Comment #5 from ahashmi  ---
> This isn't quite right, in that the two added lines change the behaviour for 
> the fallthrough cases immediately above.
Gah, of course! Careless of me. Fixed.

> One final question: did you check that the relevant test programs run OK 
> (without any assertion failures) on memcheck, by running them by hand, with 
> --tool=memcheck and also --tool=memcheck --track-origins=yes ?
Yes, there are no assertions and nothing breaks. Alse checked debug output
displays new mnemonics and operands (using --trace-flags=1000 --tool=none).

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432161] Addition of arm64 v8.2 FABS, FNEG and FSQRT instructions

2021-01-27 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=432161

ahashmi  changed:

   What|Removed |Added

 Attachment #135211|0   |1
is obsolete||

--- Comment #4 from ahashmi  ---
Created attachment 135237
  --> https://bugs.kde.org/attachment.cgi?id=135237=edit
Adds arm64 v8.2 FABS, FNEG and FSQRT instructions

Fixes bug raised in review (case Iop_Sqrt16Fx8: position).

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432161] Addition of arm64 v8.2 FABS, FNEG and FSQRT instructions

2021-01-26 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=432161

--- Comment #2 from ahashmi  ---
When ready for checkin, please paste the following text as the Git commit
message:

- - - snip
432161 Addition of arm64 v8.2 FADDP, FNEG and FSQRT

This patch adds FP half-precision support for the following:
FABS , 
FABS ., .
FNEG , 
FNEG ., .
FSQRT , 
FSQRT ., .

Fixes https://bugs.kde.org/show_bug.cgi?id=432161
- - - snip

Unless there are any suggestions for improvements, I'll try and keep this Git
commit message format for all future arm64 v8.2 instruction patches.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432161] Addition of arm64 v8.2 FABS, FNEG and FSQRT instructions

2021-01-26 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=432161

--- Comment #1 from ahashmi  ---
Created attachment 135211
  --> https://bugs.kde.org/attachment.cgi?id=135211=edit
Adds arm64 v8.2 FABS, FNEG and FSQRT instructions

Patch ready for review.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 428016] Collection of tasks for addition of ARMv8.2 instructions and related features

2021-01-26 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=428016

--- Comment #4 from ahashmi  ---
Addition of FABS, FNEG and FSQRT instructions:
https://bugs.kde.org/show_bug.cgi?id=432161

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 432161] New: Addition of arm64 v8.2 FABS, FNEG and FSQRT instructions

2021-01-26 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=432161

Bug ID: 432161
   Summary: Addition of arm64 v8.2 FABS, FNEG and FSQRT
instructions
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

Addition of arm64 half-precision v8.2 FABS, FNEG and FSQRT instructions.

This is part of arm64 v8.2 container bug
https://bugs.kde.org/show_bug.cgi?id=428016

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 431556] Complete arm64 FADDP v8.2 instruction support started in 413547

2021-01-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=431556

ahashmi  changed:

   What|Removed |Added

 Attachment #134852|0   |1
is obsolete||

--- Comment #5 from ahashmi  ---
Created attachment 134859
  --> https://bugs.kde.org/attachment.cgi?id=134859=edit
Patch completes addition of arm64 v8.2 faddp instructions.

Changes after review. Removed redundant;
- comment in math_REARRANGE_FOR_FLOATING_PAIRWISE()
- N_N_N test case variants in fp_and_simd_v82.c

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 431556] Complete arm64 FADDP v8.2 instruction support started in 413547

2021-01-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=431556

--- Comment #4 from ahashmi  ---
(In reply to Julian Seward from comment #3)

> The cases are distinguished as follows:
> isD == True,  bitQ == 1  =>  2d
> isD == False, bitQ == 1  =>  4s
> isD == False, bitQ == 0  =>  2s
> +   isH == True,  bitQ == 0  =>  4h
> +   isH == False, bitQ == 1  =>  8h
> 
> Is this comment out of date?  The function it applies to takes an
> ARM64VecESize now,
> not isH / isD.

Ah yes! It is out-of-date. I'll remove.

> +   if (1) test_faddp_4h_00_00_00(TyH);
> 
> The tests where the three register numbers are the same .. are they of any
> value?  In particular, they won't expose mixups where the wrong register
> number is used in decode.  Those cases are covered by the _N_N+1_N+2 variants
> afaics.  Is there some other reason to keep the N_N_N variants?

The reason for the N_N_N variants is that they may flush out bugs to do with
temporaries in IR. That's my simple minded motivation. If such bugs are not
possible I can remove.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 431556] Complete arm64 FADDP v8.2 instruction support started in 413547

2021-01-14 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=431556

ahashmi  changed:

   What|Removed |Added

 Attachment #134815|0   |1
is obsolete||

--- Comment #2 from ahashmi  ---
Created attachment 134852
  --> https://bugs.kde.org/attachment.cgi?id=134852=edit
Patch completes addition of arm64 v8.2 faddp instructions.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 428016] Collection of tasks for addition of ARMv8.2 instructions and related features

2021-01-13 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=428016

--- Comment #3 from ahashmi  ---
Addition of v8.2 faddp instructions:
https://bugs.kde.org/show_bug.cgi?id=431556

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 431556] Complete arm64 FADDP v8.2 instruction support started in 413547

2021-01-13 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=431556

--- Comment #1 from ahashmi  ---
Created attachment 134815
  --> https://bugs.kde.org/attachment.cgi?id=134815=edit
arm64 v8.2 faddp instruction support

Patch completes addition of arm64 v8.2 faddp instructions.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 431556] Complete arm64 FADDP v8.2 instruction support started in 413547

2021-01-13 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=431556

ahashmi  changed:

   What|Removed |Added

   Assignee|jsew...@acm.org |assad.has...@linaro.org

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 431556] New: Complete arm64 FADDP v8.2 instruction support started in 413547

2021-01-13 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=431556

Bug ID: 431556
   Summary: Complete arm64 FADDP v8.2 instruction support started
in 413547
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

SUMMARY
Complete arm64 FADDP v8.2 instruction support started in 413547.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 430484] none/tests/arm64/atomics_v81 occassionally fails

2020-12-17 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=430484

--- Comment #1 from ahashmi  ---
CPU implementer 0x43 and CPU part 0x0af indicates a Cavium ThunderX2.

Previous experience with DynamoRIO suggests this behaviour may be limited to
ThunderX machines only. It would be interesting to see if the same occasional
failures occur on non-ThunderX machines.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 413547] regression test does not check for Arm 64 features

2020-12-17 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=413547

--- Comment #9 from ahashmi  ---
> Most of the code in this patch is, I assume, boilerplate test-support
> functions taken from other tests in none/tests/arm64.
Yes but it includes additional code for testing half-precision floating-point
instructions. See comment at Float16 definition.

> Should this be present?  It certainly looks like it shouldn't be; if it
> accepts the instruction then it gives no implementation for it, which is
> definitely bogus.
Added implementation and tests for scalar version of half-precision FADDP. The
hope is that this can be the template for future patches supporting v8.2
instructions.

> "most" is somewhat misleading; "half" might be more accurate.  Ditto in 
> randFloat.
Done.

> Just as a general sanity check .. is the way that the capabilities are
> established (by looking at auxv HWCAPS) consistent with the outcome of the
> discussion in bug 414268 ?
Yes.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 413547] regression test does not check for Arm 64 features

2020-12-17 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=413547

ahashmi  changed:

   What|Removed |Added

 Attachment #133751|0   |1
is obsolete||

--- Comment #8 from ahashmi  ---
Created attachment 134154
  --> https://bugs.kde.org/attachment.cgi?id=134154=edit
Adds arm64 feature detection for regression tests and v8.2 faddp

Patch update after first set of review comments (on 2020-12-09 10:10:23 UTC).

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-12-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

--- Comment #17 from ahashmi  ---
> One tiny nit .. please #undef get_cpu_ftr and get_ftr just before the
> closing brace of the fn that defines them.
Good spot! Fixed in latest patch.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-12-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

ahashmi  changed:

   What|Removed |Added

 Attachment #133750|0   |1
is obsolete||

--- Comment #16 from ahashmi  ---
Created attachment 133936
  --> https://bugs.kde.org/attachment.cgi?id=133936=edit
Adds arm64 feature detection for v8.x instructions

#undef get_cpu_ftr and get_ftr after use.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 413547] regression test does not check for Arm 64 features

2020-12-08 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=413547

--- Comment #6 from ahashmi  ---
> Assad, am I right to understand that the comment 3 patch
> has been made redundant by the comment 4 patch?
That's correct Julian.
I should have deleted the comment 3 patch when I uploaded the latest comment 4
patch.

Can't seem to delete it after the comment 4 patch upload.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-12-07 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

--- Comment #13 from ahashmi  ---
> So it seems to me we also need a way to filter the attribute/feature 
> registers to only advertise those armv8 instructions we actually implement. 
> That is what other arches do too (see for example the dirtyhelper_CPUID in 
> guest_x86_helpers.c or the s390x_dirtyhelper_vec_op).
ISWYM now, thanks for shining a light on an aspect of Valgrind's transparency I
hadn't thought about.

I would prefer to implement such a guest feature support view/filter as a
separate patch.

I've created https://bugs.kde.org/show_bug.cgi?id=430117 to track this change.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 430117] New: Implement guest Arm64/AArch64 feature detection support for v8 instructions

2020-12-07 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=430117

Bug ID: 430117
   Summary: Implement guest Arm64/AArch64 feature detection
support for v8 instructions
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

SUMMARY
The bug https://bugs.kde.org/show_bug.cgi?id=414268 added host AArch64 feature
detection and decoding for v8.x.

However, Valgrind must provide a view of v8.x instructions supported by
Valgrind to the guest which will not be the same as those supported by the
host, until they have been implemented in Valgrind.

ADDITIONAL INFORMATION
A helper function needs to be implemented which provides a filtered view to the
guest of a set of instructions implemented by Valgrind.

This is not the same as the set of instructions supported by the host which
Valgrind reads in order to decode instructions which may or may not be
supported by Valgrind.

When instructions are decoded, this helper function is planted in the IR to
provide the guest with the filtered view of what Valgrind wants the guest to
think are the instructions supported by the host.

As an existing example, see the x86 implementation of populating guest state
with SSE1 support: x86g_dirtyhelper_CPUID_sse1(). This sets VexGuestX86State
with SSE1 features supported by Valgrind. A pointer to the function is planted
in IR by unsafeIRDirty_0_N() when SSE1 instructions are decoded.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-12-03 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

--- Comment #11 from ahashmi  ---
> I know too little about arm64 to know whether or not we should care about 
> these.
The current approach assumes that all base v8 h/w has the features you list.
I've not seen any base v8 h/w which is different from that list.
AFAICT:
- We don't need to make any changes to Valgrind's existing base v8 support in
terms of establishing and checking features.
- Time has shown that no bugs have been raised to do with lack of base v8
feature support.

> Since programs can also check features through the attribute/feature 
> registers, do we also need to filter those when inspected by the guest code?
Hmm...I don't see why we should. We aim to faithfully support features
detected, so if guest code reads those it should expect Valgrind to support it.
If Valgrind doesn't, it means we haven't yet implemented support for that
feature. (If I understand your question correctly.)

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 413547] regression test does not check for Arm 64 features

2020-11-30 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=413547

--- Comment #4 from ahashmi  ---
Created attachment 133751
  --> https://bugs.kde.org/attachment.cgi?id=133751=edit
Adds arm64 feature detection for regression tests

Removed v8.x version detection. Now using features only.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-11-30 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

--- Comment #9 from ahashmi  ---
> It's true that if you are v8.2 or better then DC CVAP is present, but this 
> does not mean the converse (that if DC CVAP is present then you are v8.2). It 
> is valid for a v8.1 implementation to provide this feature.
That makes a difference to my decision. I made an incorrect assumption when
reading the spec:
- - - snip
0b DC CVAP not supported.
0b0001 DC CVAP supported.
0b0010 DC CVAP and DC CVADP supported.
...
In Armv8.2, the permitted values are 0b0001 and 0b0010.
>From Armv8.5, the only permitted value is 0b0010
- - - snip

"In Armv8.2" != "From Armv8.2"

But some features are more tightly bound to a version, e.g. RDM
- - - snip
0b No RDMA instructions implemented.
0b0001 SQRDMLAH and SQRDMLSH instructions implemented.

All other values are reserved.
>From Armv8.1, the only permitted value is 0b0001.
- - - snip

So, Arm publishes a version specification with a set of mandatory and optional
features. An implementer builds h/w which states conformance to a version. The
implementer's version conformance statement is fairly meaningless without a
list of features which are supported.

This answers the question: "why doesn't /proc/cpuinfo give an Arm version?"

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-11-30 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

ahashmi  changed:

   What|Removed |Added

 Attachment #133666|0   |1
is obsolete||

--- Comment #8 from ahashmi  ---
Created attachment 133750
  --> https://bugs.kde.org/attachment.cgi?id=133750=edit
Adds arm64 feature detection for v8.x instructions

Removed v8.x version detection/setting. Now using feature list only.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 413547] regression test does not check for Arm 64 features

2020-11-26 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=413547

ahashmi  changed:

   What|Removed |Added

 Attachment #133311|0   |1
is obsolete||

--- Comment #3 from ahashmi  ---
Created attachment 133667
  --> https://bugs.kde.org/attachment.cgi?id=133667=edit
Adds arm64 feature detection for regression tests

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-11-26 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

--- Comment #6 from ahashmi  ---
Thanks for reviewing/testing Mark Wielaard and Peter Maydell.

> There are two machines this seems to work correctly on:
> Arch and hwcaps: ARM64, LittleEndian, v8.1-rdm-atomics
> Arch and hwcaps: ARM64, LittleEndian, v8.2-dpcvap-rdm-atomics-fp16-vfp16
> 
> But one where I get Arch and hwcaps: ARM64, LittleEndian, v8.1 and then the 
> impossible happens:
> 
> VEX: SQRDML{AH|SH} instructions are mandatory from v8.1 onwards.
>  Found: v8.1
> Cannot continue. Good-bye
Fixed.
Just goes to show I need to test on a wider range of hardware before
submitting!

> The right way to test fields in these ID registers is to look at the entire
> 4-bit number and test that it is greater than or equal to the value
> representing the feature you're looking for. (See D13.1.3 "Principles of the 
> ID
> scheme for fields in ID registers" in the v8A Arm ARM.)
Fixed. Good spot, it was staring me in the face!

> For A-profile my recommendation is as far as you possibly can to avoid having
> any "is this v8.1?" or "is this v8.2?" tests and instead to stick strictly to
> "is feature X present?". The architecture permits a v8.x implementation to
I thought about this disconnect between version and supported feature set when
implementing the initial patch and considered omitting versions altogether. I
decided against it because I don't yet have enough experience with Valgrind,
particularly the decode-to-IR logic and the tools pipeline. On the basis that
the version is set when its mandatory option(s) are established and it may
simplify things down the line, I prefer to leave this for now. If it transpires
versions are redundant, I'll remove them at the earliest sign.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-11-26 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

ahashmi  changed:

   What|Removed |Added

 Attachment #133310|0   |1
is obsolete||

--- Comment #5 from ahashmi  ---
Created attachment 133666
  --> https://bugs.kde.org/attachment.cgi?id=133666=edit
Patch adds arm64 feature detection for v8.x instructions

Patch update after first set of review comments.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 413547] regression test does not check for Arm 64 features

2020-11-16 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=413547

ahashmi  changed:

   What|Removed |Added

 CC||jsew...@acm.org

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-11-16 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

ahashmi  changed:

   What|Removed |Added

 CC||jsew...@acm.org

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-11-16 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

ahashmi  changed:

   What|Removed |Added

   See Also||https://bugs.kde.org/show_b
   ||ug.cgi?id=413547

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 413547] regression test does not check for Arm 64 features

2020-11-16 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=413547

ahashmi  changed:

   What|Removed |Added

   See Also||https://bugs.kde.org/show_b
   ||ug.cgi?id=414268

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 413547] regression test does not check for Arm 64 features

2020-11-13 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=413547

ahashmi  changed:

   What|Removed |Added

 Attachment #123538|0   |1
is obsolete||

--- Comment #2 from ahashmi  ---
Created attachment 133311
  --> https://bugs.kde.org/attachment.cgi?id=133311=edit
Patch adds arm64 feature detection for regression tests

This patch implements arm64 ISA features/attributes checks for regression
tests, and must be committed after https://bugs.kde.org/show_bug.cgi?id=414268

The simple test of a v8.2 encoding shows how the fix for
https://bugs.kde.org/show_bug.cgi?id=414268 can be used in IR creation on
different arm64 versions.

When both patches are committed, 'make regtest' should result in the following
for v8.0 and 8.1:
- - - snip
fp_and_simd: valgrind   -q ./fp_and_simd
fp_and_simd_v82: (skipping, prereq failed: test -x fp_and_simd_v82 &&
../../../tests/arm64_features fphp)
integer: valgrind   -q ./integer
- - - snip

The test should run and pass on v8.2:
- - - snip
fp_and_simd: valgrind   -q ./fp_and_simd
fp_and_simd_v82: valgrind   -q ./fp_and_simd_v82
integer: valgrind   -q ./integer
- - - snip

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-11-13 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

ahashmi  changed:

   What|Removed |Added

 CC||assad.has...@linaro.org

--- Comment #2 from ahashmi  ---
Created attachment 133310
  --> https://bugs.kde.org/attachment.cgi?id=133310=edit
Patch adds arm64 feature detection for v8.x instructions

This patch adds hwcaps support for arm64. It uses the arm recommended method of
hwcaps feature detection where a reliable auxilliary vector's AT_HWCAP may not
be available. Instruction set attribute and feature registers are read to
establish the v8 architecture level as well as optional and mandatory ISA
features.

This patch can be tested with the patch which fixes
https://bugs.kde.org/show_bug.cgi?id=413547

This patch must be committed before https://bugs.kde.org/show_bug.cgi?id=413547

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 413547] regression test does not check for Arm 64 features

2020-10-20 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=413547

ahashmi  changed:

   What|Removed |Added

 Blocks|414270  |


Referenced Bugs:

https://bugs.kde.org/show_bug.cgi?id=414270
[Bug 414270] Collection of bugs for new ARMv8.1 work and features
-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414270] Collection of bugs for new ARMv8.1 work and features

2020-10-20 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414270

ahashmi  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|REPORTED|RESOLVED

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414268] Enable AArch64 feature detection and decoding for v8.x instructions (where x>0)

2020-10-20 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414268

ahashmi  changed:

   What|Removed |Added

 Blocks|414270  |


Referenced Bugs:

https://bugs.kde.org/show_bug.cgi?id=414270
[Bug 414270] Collection of bugs for new ARMv8.1 work and features
-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414270] Collection of bugs for new ARMv8.1 work and features

2020-10-20 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414270

ahashmi  changed:

   What|Removed |Added

 Depends on|413547, 414268  |


Referenced Bugs:

https://bugs.kde.org/show_bug.cgi?id=413547
[Bug 413547] regression test does not check for Arm 64 features
https://bugs.kde.org/show_bug.cgi?id=414268
[Bug 414268] Enable AArch64 feature detection and decoding for v8.x
instructions (where x>0)
-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414270] Collection of bugs for new ARMv8.1 work and features

2020-10-20 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414270

--- Comment #1 from ahashmi  ---
Feature detection tasks moved to https://bugs.kde.org/show_bug.cgi?id=428016
(v8.2):
https://bugs.kde.org/show_bug.cgi?id=414268
https://bugs.kde.org/show_bug.cgi?id=413547

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 428016] Collection of tasks for addition of ARMv8.2 instructions and related features

2020-10-20 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=428016

--- Comment #2 from ahashmi  ---
Feature detection tasks moved from https://bugs.kde.org/show_bug.cgi?id=414270
(v8.1) and made part of v8.2 work.

https://bugs.kde.org/show_bug.cgi?id=414268
https://bugs.kde.org/show_bug.cgi?id=413547

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 428016] Collection of tasks for addition of ARMv8.2 instructions and related features

2020-10-20 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=428016

--- Comment #1 from ahashmi  ---
Created attachment 132579
  --> https://bugs.kde.org/attachment.cgi?id=132579=edit
v8.2 instruction list (including variants)

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 428016] New: Collection of tasks for addition of ARMv8.2 instructions and related features

2020-10-20 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=428016

Bug ID: 428016
   Summary: Collection of tasks for addition of ARMv8.2
instructions and related features
   Product: valgrind
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

Created attachment 132577
  --> https://bugs.kde.org/attachment.cgi?id=132577=edit
v8.2 instruction list (excluding variants)

SUMMARY
This container is for a collection of bugs to add Arm v8.2 instruction support.

STEPS TO REPRODUCE
Compile subject source with -march=armv8.2-a. If the compiler generates any of
the instructions in the attached list (v8.2_excl_variants.txt), valgrind will
exit with unknown instruction error. 

ADDITIONAL INFORMATION
There are 71 v8.2 instructions, see attached list v8.2_excl_variants.txt.
Most of these have scalar, vector, paired, fixed and floating point variants
which brings the total number of instructions which need to be implemented to
123, see attached list v8.2_incl_variants.txt.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 421570] std_mutex fails on Arm v8.1 h/w

2020-05-15 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=421570

--- Comment #2 from ahashmi  ---
Improved test coverage for the Arm v8.1 instructions will be added in a later
patch.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 421570] std_mutex fails on Arm v8.1 h/w

2020-05-15 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=421570

--- Comment #1 from ahashmi  ---
Created attachment 128478
  --> https://bugs.kde.org/attachment.cgi?id=128478=edit
Enable v8.1 atomics and fix SWP and LDUMAX instrs

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 421570] New: std_mutex fails on Arm v8.1 h/w

2020-05-15 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=421570

Bug ID: 421570
   Summary: std_mutex fails on Arm v8.1 h/w
   Product: valgrind
   Version: 3.14.0
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

SUMMARY
The atomics test drd/tests/std_mutex hangs on Arm v8.1 h/w when built with
GCC10.

STEPS TO REPRODUCE
1. make
2. make regtest

OBSERVED RESULT
std_mutex hangs


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 421321] gcc10 arm64 build needs __getauxval for linking with libgcc

2020-05-15 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=421321

ahashmi  changed:

   What|Removed |Added

 CC||assad.has...@linaro.org

--- Comment #3 from ahashmi  ---
Created attachment 128471
  --> https://bugs.kde.org/attachment.cgi?id=128471=edit
Fix patch for std_mutex spin bug

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 418702] ARMv8.1 Paired register compare-and-swap instructions are not supported

2020-03-10 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=418702

ahashmi  changed:

   What|Removed |Added

 Attachment #126711|0   |1
is obsolete||

--- Comment #3 from ahashmi  ---
Created attachment 126714
  --> https://bugs.kde.org/attachment.cgi?id=126714=edit
Patch tests ARM v8.1 CASP instructions

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 418702] ARMv8.1 Paired register compare-and-swap instructions are not supported

2020-03-10 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=418702

--- Comment #2 from ahashmi  ---
Created attachment 126711
  --> https://bugs.kde.org/attachment.cgi?id=126711=edit
Patch tests ARM v8.1 CASP instructions

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 418702] ARMv8.1 Paired register compare-and-swap instructions are not supported

2020-03-10 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=418702

--- Comment #1 from ahashmi  ---
Created attachment 126710
  --> https://bugs.kde.org/attachment.cgi?id=126710=edit
Patch implements ARM v8.1 CASP instructions

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 418702] ARMv8.1 Paired register compare-and-swap instructions are not supported

2020-03-10 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=418702

ahashmi  changed:

   What|Removed |Added

 Blocks||414270


Referenced Bugs:

https://bugs.kde.org/show_bug.cgi?id=414270
[Bug 414270] Collection of bugs for new ARMv8.1 work and features
-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414270] Collection of bugs for new ARMv8.1 work and features

2020-03-10 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414270

ahashmi  changed:

   What|Removed |Added

 Depends on||418702


Referenced Bugs:

https://bugs.kde.org/show_bug.cgi?id=418702
[Bug 418702] ARMv8.1 Paired register compare-and-swap instructions are not
supported
-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 418702] New: ARMv8.1 Paired register compare-and-swap instructions are not supported

2020-03-10 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=418702

Bug ID: 418702
   Summary: ARMv8.1 Paired register compare-and-swap instructions
are not supported
   Product: valgrind
   Version: 3.14.0
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: vex
  Assignee: jsew...@acm.org
  Reporter: assad.has...@linaro.org
  Target Milestone: ---

SUMMARY
The following paired register compare-and-swap instructions are not currently
supported:
CASP, CASPA, CASPAL, CASPL

STEPS TO REPRODUCE
Compile with -march=armv8.1-a and if the compiler generates any of the above,
valgrind will exit with unknown instruction error.

ADDITIONAL INFORMATION
These are also referred to as double register compare-and-swap instructions on
some architectures.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 415136] ARMv8.1 Compare-and-Swap instructions are not supported

2020-02-19 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=415136

ahashmi  changed:

   What|Removed |Added

 Attachment #126174|0   |1
is obsolete||

--- Comment #6 from ahashmi  ---
Created attachment 126176
  --> https://bugs.kde.org/attachment.cgi?id=126176=edit
Patch implements ARM v8.1 CAS instructions

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 415136] ARMv8.1 Compare-and-Swap instructions are not supported

2020-02-19 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=415136

--- Comment #5 from ahashmi  ---
Thanks for reviewing in detail.

Good point about splitting up the large patch. I've
uploaded the implementation and tests as 2 separate patches:
arm64_v81_cas_impl.patch
arm64_v81_cas_test.patch

> I am going to need some context to make sense of this...

The loop in this context is not looping for the same reason guest code
using a CAS instruction would loop. In this case the cbne w8, loop
instruction is checking to see if the previous store exclusive worked.
The spec says that store exclusives return 0 in the w register if the
store updated memory, 1 if it failed to update. This way we always make
sure that memory has been updated before returning from the CAS.
Previously it would have returned even if the store failed.

> Also, what is the reason for changing the hardwired register numbers?

Adding the store check loop means we need to compare the store's status
value in a w register and since w8 is the scratch register we use that,
leaving w1/x1 untouched after the load.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 415136] ARMv8.1 Compare-and-Swap instructions are not supported

2020-02-19 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=415136

ahashmi  changed:

   What|Removed |Added

 Attachment #124590|0   |1
is obsolete||

--- Comment #3 from ahashmi  ---
Created attachment 126174
  --> https://bugs.kde.org/attachment.cgi?id=126174=edit
Patch implements ARM v8.1 CAS instructions

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 415136] ARMv8.1 Compare-and-Swap instructions are not supported

2020-02-19 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=415136

--- Comment #4 from ahashmi  ---
Created attachment 126175
  --> https://bugs.kde.org/attachment.cgi?id=126175=edit
Patch tests ARM v8.1 CAS instructions

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 415136] ARMv8.1 Compare-and-Swap instructions are not supported

2019-12-19 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=415136

--- Comment #1 from ahashmi  ---
Created attachment 124590
  --> https://bugs.kde.org/attachment.cgi?id=124590=edit
Patch implements and tests ARM v8.1 CAS instructions

This patch adds support for the following ARM v8.1 instructions:
CAS, CASA, CASAL, CASL
CASB, CASAB, CASALB, CASLB
CASH, CASAH, CASALH, CASLH

(Note this patch does not add support for the pairwise CAS instructions:
 CASP, CASPA, CASPAL, CASPL)

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 414270] Collection of bugs for new ARMv8.1 work and features

2019-12-13 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=414270

ahashmi  changed:

   What|Removed |Added

 Depends on||415136


Referenced Bugs:

https://bugs.kde.org/show_bug.cgi?id=415136
[Bug 415136] ARMv8.1 Compare-and-Swap instructions are not supported
-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 415136] ARMv8.1 Compare-and-Swap instructions are not supported

2019-12-13 Thread ahashmi
https://bugs.kde.org/show_bug.cgi?id=415136

ahashmi  changed:

   What|Removed |Added

 Blocks||414270


Referenced Bugs:

https://bugs.kde.org/show_bug.cgi?id=414270
[Bug 414270] Collection of bugs for new ARMv8.1 work and features
-- 
You are receiving this mail because:
You are watching all bug changes.

  1   2   >