[valgrind] [Bug 460616] disInstr(arm64): unhandled instruction 0x4E819402 (dotprod/ASIMDDP)

2023-11-10 Thread William Ashley
https://bugs.kde.org/show_bug.cgi?id=460616

--- Comment #6 from William Ashley  ---
Thanks Mark!

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

[valgrind] [Bug 460616] disInstr(arm64): unhandled instruction 0x4E819402

2023-08-01 Thread William Ashley
https://bugs.kde.org/show_bug.cgi?id=460616

William Ashley  changed:

   What|Removed |Added

 Attachment #160568|0   |1
is obsolete||

--- Comment #3 from William Ashley  ---
Created attachment 160669
  --> https://bugs.kde.org/attachment.cgi?id=160669=edit
Patch to add FEAT_DotProd support

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

[valgrind] [Bug 460616] disInstr(arm64): unhandled instruction 0x4E819402

2023-07-31 Thread William Ashley
https://bugs.kde.org/show_bug.cgi?id=460616

--- Comment #2 from William Ashley  ---
On Friday I submitted the change to the valgrind-developers mailing list,
https://sourceforge.net/p/valgrind/mailman/valgrind-developers/thread/ed40273d-295d-445c-8d97-9fc48f535...@amazon.com/

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

[valgrind] [Bug 441109] [ARM64] Invalid write of size 8 when it's really 16

2023-07-28 Thread William Ashley
https://bugs.kde.org/show_bug.cgi?id=441109

--- Comment #2 from William Ashley  ---
With stp (store pair), there's a similar problem. Pairs of 32, 64 and 128-bit
values all get reported as the wrong write sizes.

asm volatile ("stp s0, s1, [%0]" :: "r" (ptr) : "s0", "s1", "memory");
asm volatile ("stp d0, d1, [%0]" :: "r" (ptr) : "d0", "d1", "memory");
asm volatile ("stp q0, q1, [%0]" :: "r" (ptr) : "q0", "q1", "memory");

==26048== Invalid write of size 4
==26048==at 0x400630: main (strtest.c:12)
==26048==  Address 0x4a1a140 is 0 bytes after a block of size 256 alloc'd
==26048==at 0x48682A4: malloc (vg_replace_malloc.c:431)
==26048==by 0x4005F3: main (strtest.c:3)
==26048== 
==26048== Invalid write of size 8
==26048==at 0x400638: main (strtest.c:13)
==26048==  Address 0x4a1a140 is 0 bytes after a block of size 256 alloc'd
==26048==at 0x48682A4: malloc (vg_replace_malloc.c:431)
==26048==by 0x4005F3: main (strtest.c:3)
==26048== 
==26048== Invalid write of size 8
==26048==at 0x400640: main (strtest.c:14)
==26048==  Address 0x4a1a140 is 0 bytes after a block of size 256 alloc'd
==26048==at 0x48682A4: malloc (vg_replace_malloc.c:431)
==26048==by 0x4005F3: main (strtest.c:3)

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

[valgrind] [Bug 441109] [ARM64] Invalid write of size 8 when it's really 16

2023-07-28 Thread William Ashley
https://bugs.kde.org/show_bug.cgi?id=441109

--- Comment #1 from William Ashley  ---
To expand on this a bit, here's a sweep through all of the 'str' sizes:

#include 
int main(void) {
char *ptr = malloc(256);
ptr += 256;
asm volatile ("str b0, [%0]" :: "r" (ptr) : "b0", "memory");
asm volatile ("str h0, [%0]" :: "r" (ptr) : "h0", "memory");
asm volatile ("str s0, [%0]" :: "r" (ptr) : "s0", "memory");
asm volatile ("str d0, [%0]" :: "r" (ptr) : "d0", "memory");
asm volatile ("str q0, [%0]" :: "r" (ptr) : "q0", "memory");
free(ptr - 256);
return 0;
}

which under the latest valgrind release shows the expected sizes except for q

==5990== Invalid write of size 1
==5990==at 0x400608: main (strtest.c:5)
==5990==  Address 0x4a1a140 is 0 bytes after a block of size 256 alloc'd
==5990==at 0x48682A4: malloc (vg_replace_malloc.c:431)
==5990==by 0x4005F3: main (strtest.c:3)
==5990== 
==5990== Invalid write of size 2
==5990==at 0x400610: main (strtest.c:6)
==5990==  Address 0x4a1a140 is 0 bytes after a block of size 256 alloc'd
==5990==at 0x48682A4: malloc (vg_replace_malloc.c:431)
==5990==by 0x4005F3: main (strtest.c:3)
==5990== 
==5990== Invalid write of size 4
==5990==at 0x400618: main (strtest.c:7)
==5990==  Address 0x4a1a140 is 0 bytes after a block of size 256 alloc'd
==5990==at 0x48682A4: malloc (vg_replace_malloc.c:431)
==5990==by 0x4005F3: main (strtest.c:3)
==5990== 
==5990== Invalid write of size 8
==5990==at 0x400620: main (strtest.c:8)
==5990==  Address 0x4a1a140 is 0 bytes after a block of size 256 alloc'd
==5990==at 0x48682A4: malloc (vg_replace_malloc.c:431)
==5990==by 0x4005F3: main (strtest.c:3)
==5990== 
==5990== Invalid write of size 8
==5990==at 0x400628: main (strtest.c:9)
==5990==  Address 0x4a1a140 is 0 bytes after a block of size 256 alloc'd
==5990==at 0x48682A4: malloc (vg_replace_malloc.c:431)
==5990==by 0x4005F3: main (strtest.c:3)

Decode for the 'q' case does look correct (GET:V128, so it would be a 16-byte
value)

(arm64) 0x400628:  str q0, [x0, #0]
  -- IMark(0x400628, 4, 0) --
  t21 = Add64(GET:I64(16),0x0:I64)
  STle(t21) = GET:V128(320)
  PUT(272) = 0x40062C:I64

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

[valgrind] [Bug 441109] [ARM64] Invalid write of size 8 when it's really 16

2023-07-28 Thread William Ashley
https://bugs.kde.org/show_bug.cgi?id=441109

William Ashley  changed:

   What|Removed |Added

 CC||w...@amazon.com

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

[valgrind] [Bug 438322] disInstr(arm): unhandled instruction: 0xE320F014

2023-07-28 Thread William Ashley
https://bugs.kde.org/show_bug.cgi?id=438322

William Ashley  changed:

   What|Removed |Added

 CC|w...@amazon.com |

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

[valgrind] [Bug 438322] disInstr(arm): unhandled instruction: 0xE320F014

2023-07-28 Thread William Ashley
https://bugs.kde.org/show_bug.cgi?id=438322

William Ashley  changed:

   What|Removed |Added

 CC||w...@amazon.com

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

[valgrind] [Bug 460616] disInstr(arm64): unhandled instruction 0x4E819402

2023-07-27 Thread William Ashley
https://bugs.kde.org/show_bug.cgi?id=460616

William Ashley  changed:

   What|Removed |Added

 CC||w...@amazon.com

--- Comment #1 from William Ashley  ---
Created attachment 160568
  --> https://bugs.kde.org/attachment.cgi?id=160568=edit
Patch to add FEAT_DotProd support

I have implemented support for the dot product instructions (more specifically
those under the FEAT_DotProd feature). The attached patch file applies cleanly
to 'master' as of this writing. I haven't yet figured out the 'correct' process
for submitting changes to the valgrind project.

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