Terraspace / UASM

UASM - Macro Assembler
http://www.terraspace.co.uk/uasm.html
Other
220 stars 49 forks source link

Back to AVX512 development #43

Closed gwoltman closed 7 years ago

gwoltman commented 7 years ago
vmovdqu zmm14, ZMMWORD PTR [r14][rdx]

assembles as vmovdqu32 (%rdx,%r14,1),%zmm14 according to gcc ... that looks right to me.

But, vmovdqa ZMMWORD PTR [rdi][rdx], zmm14 assembles as: vmovdqa32 %xmm14,(%rdx,%r15,1) according to gcc.

Also, this vpandn ymm14, ymm15, ymm14 assembles as: (bad) according to gcc. But it does execute properly.

gwoltman commented 7 years ago

and vmovdqa32 ZMMWORD PTR [rdi][rdx], zmm14 assembles as vmovdqa32 %zmm30,(%rdx,%r15,1)

john-terraspace commented 7 years ago

Working on them now, one more change to make to get them all fixed and we’ll have another update.

From: gwoltman [mailto:notifications@github.com] Sent: 26 November 2016 09:22 PM To: Terraspace/HJWasm HJWasm@noreply.github.com Subject: Re: [Terraspace/HJWasm] Back to AVX512 development (#43)

and vmovdqa32 ZMMWORD PTR [rdi][rdx], zmm14 assembles as vmovdqa32 %zmm30,(%rdx,%r15,1)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Terraspace/HJWasm/issues/43#issuecomment-263086683 , or mute the thread https://github.com/notifications/unsubscribe-auth/AQGQVFeHBxxzad3ubcIfZdChxOfl9kRiks5rCKMVgaJpZM4K8_lF .

john-terraspace commented 7 years ago

Hi,

Update (dated 29th) is available for download, it should fix this latest set of issues.

Regards,

John

From: gwoltman [mailto:notifications@github.com] Sent: 26 November 2016 09:22 PM To: Terraspace/HJWasm HJWasm@noreply.github.com Subject: Re: [Terraspace/HJWasm] Back to AVX512 development (#43)

and vmovdqa32 ZMMWORD PTR [rdi][rdx], zmm14 assembles as vmovdqa32 %zmm30,(%rdx,%r15,1)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Terraspace/HJWasm/issues/43#issuecomment-263086683 , or mute the thread https://github.com/notifications/unsubscribe-auth/AQGQVFeHBxxzad3ubcIfZdChxOfl9kRiks5rCKMVgaJpZM4K8_lF .

gwoltman commented 7 years ago

Next: vpsrad zmm15, zmm0, 31 assembles as: vpsrad $0x1f,0x0(%rax,%rax,8),%zmm15

And: vpsrad ymm15, ymm8, 31 assembles as accoring to gdb: (bad) but executes OK.

john-terraspace commented 7 years ago

Fixing now..

From: gwoltman [mailto:notifications@github.com] Sent: 29 November 2016 08:27 PM To: Terraspace/HJWasm HJWasm@noreply.github.com Cc: John Hankinson john@terraspace.co.uk; Comment comment@noreply.github.com Subject: {Spam?} Re: [Terraspace/HJWasm] Back to AVX512 development (#43)

Next: vpsrad zmm15, zmm0, 31 assembles as: vpsrad $0x1f,0x0(%rax,%rax,8),%zmm15

And: vpsrad ymm15, ymm8, 31 assembles as accoring to gdb: (bad) but executes OK.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Terraspace/HJWasm/issues/43#issuecomment-263688487 , or mute the thread https://github.com/notifications/unsubscribe-auth/AQGQVG38kw1Se1AgyO63Gjsebi-hGASTks5rDIqHgaJpZM4K8_lF .

john-terraspace commented 7 years ago

Fixes up, please test again.

From: gwoltman [mailto:notifications@github.com] Sent: 29 November 2016 08:27 PM To: Terraspace/HJWasm HJWasm@noreply.github.com Cc: John Hankinson john@terraspace.co.uk; Comment comment@noreply.github.com Subject: {Spam?} Re: [Terraspace/HJWasm] Back to AVX512 development (#43)

Next: vpsrad zmm15, zmm0, 31 assembles as: vpsrad $0x1f,0x0(%rax,%rax,8),%zmm15

And: vpsrad ymm15, ymm8, 31 assembles as accoring to gdb: (bad) but executes OK.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Terraspace/HJWasm/issues/43#issuecomment-263688487 , or mute the thread https://github.com/notifications/unsubscribe-auth/AQGQVG38kw1Se1AgyO63Gjsebi-hGASTks5rDIqHgaJpZM4K8_lF .

gwoltman commented 7 years ago

Those 2 are fixed.

More cases where gdb does not disassemble properly: vpsrlq ymm9, ymm9, 30 dumps as: c4 c1 35 73 (bad)

I'm debugging a different problem now. I may have more to report later.

john-terraspace commented 7 years ago

Just tried this one with the latest updated package:

I’m getting:

000000013fd41000 C4 C1 35 73 D1 1E vpsrlq ymm9, ymm9, 0x1e

Which is correct and reported the same via Defuse:

Assembly

Raw Hex (zero bytes in bold):

C4C13573D11E

String Literal:

"\xC4\xC1\x35\x73\xD1\x1E"

Array Literal:

{ 0xC4, 0xC1, 0x35, 0x73, 0xD1, 0x1E }

Disassembly:

0: c4 c1 35 73 d1 1e vpsrlq ymm9,ymm9,0x1e

From: gwoltman [mailto:notifications@github.com] Sent: 29 November 2016 10:47 PM To: Terraspace/HJWasm HJWasm@noreply.github.com Cc: John Hankinson john@terraspace.co.uk; Comment comment@noreply.github.com Subject: Re: [Terraspace/HJWasm] Back to AVX512 development (#43)

Those 2 are fixed.

More cases where gdb does not disassemble properly: vpsrlq ymm9, ymm9, 30 dumps as: c4 c1 35 73 (bad)

I'm debugging a different problem now. I may have more to report later.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Terraspace/HJWasm/issues/43#issuecomment-263725300 , or mute the thread https://github.com/notifications/unsubscribe-auth/AQGQVGzu2P6l_Xwu-iUbW0AHmRvtw6mZks5rDKt2gaJpZM4K8_lF .

gwoltman commented 7 years ago

Hmm, you are right. I must have objdump'ed an older object file.

How about: vaddpd zmm2, zmm2, zmm3 Do you get this? 62 d1 ed 48 58 d3 vaddpd %zmm11,%zmm2,%zmm2

gwoltman commented 7 years ago

and: vcmpeqpd k1, zmm2, zmm0 vmovapd zmm5, zmm6 vmulpd zmm2, zmm28, zmm6 assembles as: 62 d1 ed 48 c2 c8 00 vcmpeqpd %zmm8,%zmm2,%k1 62 d1 fd 48 28 ee vmovapd %zmm14,%zmm5 62 d1 9d 40 59 d6 vmulpd %zmm14,%zmm28,%zmm2

john-terraspace commented 7 years ago

New build up today 30th with fixes.

From: gwoltman [mailto:notifications@github.com] Sent: 30 November 2016 01:58 AM To: Terraspace/HJWasm HJWasm@noreply.github.com Cc: John Hankinson john@terraspace.co.uk; Comment comment@noreply.github.com Subject: Re: [Terraspace/HJWasm] Back to AVX512 development (#43)

and: vcmpeqpd k1, zmm2, zmm0 vmovapd zmm5, zmm6 vmulpd zmm2, zmm28, zmm6 assembles as: 62 d1 ed 48 c2 c8 00 vcmpeqpd %zmm8,%zmm2,%k1 62 d1 fd 48 28 ee vmovapd %zmm14,%zmm5 62 d1 9d 40 59 d6 vmulpd %zmm14,%zmm28,%zmm2

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Terraspace/HJWasm/issues/43#issuecomment-263759973 , or mute the thread https://github.com/notifications/unsubscribe-auth/AQGQVHtIPuJ6h-nDn76j4Oc0UZOw3X8Rks5rDNgPgaJpZM4K8_lF .

gwoltman commented 7 years ago

those are done, next up: vdivpd zmm15, zmm27, zmm17 vaddpd zmm16, zmm16, zmm17 vmulpd zmm17, zmm28, zmm17 vmovapd zmm19, zmm20
assemble as (according to objconv): vdivpd zmm15, zmm27, zmm25 ; 7051 62 11 A5 40: 5E. F9 vaddpd zmm16, zmm16, zmm25 ; 7A31 62 81 FD 40: 58. C1 vmulpd zmm17, zmm28, zmm25 ; 7337 62 81 9D 40: 59. C9 vmovapd zmm19, zmm28 ; 7918 62 81 FD 48: 28. DC

john-terraspace commented 7 years ago

These are all fixed now.

One note however:

vcvtpd2ps ymm0,xmm1

vcvtpd2ps ymm0,xmmword ptr mop

;000000013f6c1274 C5 FD 5A C1 vcvtpd2ps xmm0, ymm1

;000000013f6c1278 C5 FD 5A 05 80 2D 00 00 vcvtpd2ps xmm0, ymmword ptr [rip+0x2d80]

This has been adjusted to now produce an error during assembly, as the operands should be xmm then ymm, (so they’re back to front).

From: gwoltman [mailto:notifications@github.com] Sent: 01 December 2016 12:48 AM To: Terraspace/HJWasm HJWasm@noreply.github.com Cc: John Hankinson john@terraspace.co.uk; Comment comment@noreply.github.com Subject: Re: [Terraspace/HJWasm] Back to AVX512 development (#43)

those are done, next up: vdivpd zmm15, zmm27, zmm17 vaddpd zmm16, zmm16, zmm17 vmulpd zmm17, zmm28, zmm17 vmovapd zmm19, zmm20 assemble as (according to objconv): vdivpd zmm15, zmm27, zmm25 ; 7051 62 11 A5 40: 5E. F9 vaddpd zmm16, zmm16, zmm25 ; 7A31 62 81 FD 40: 58. C1 vmulpd zmm17, zmm28, zmm25 ; 7337 62 81 9D 40: 59. C9 vmovapd zmm19, zmm28 ; 7918 62 81 FD 48: 28. DC

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Terraspace/HJWasm/issues/43#issuecomment-264044930 , or mute the thread https://github.com/notifications/unsubscribe-auth/AQGQVLGa6V10oGNLS7jss51Yk3xK6EQPks5rDhlWgaJpZM4K8_lF .

gwoltman commented 7 years ago

No issues at present! Well done.