Deutsch English Français Italiano |
<pan$5f575$bd36f4a3$95d6d52e$b096d18c@linux.rocks> View for Bookmarking (what is this?) Look up another Usenet article |
From: Farley Flud <ff@linux.rocks> Subject: Challenge For The "Expert" Tyrone Newsgroups: comp.os.linux.advocacy Mime-Version: 1.0 Message-Id: <pan$5f575$bd36f4a3$95d6d52e$b096d18c@linux.rocks> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lines: 89 Path: ...!weretis.net!feeder9.news.weretis.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!news.usenetexpress.com!not-for-mail Date: Tue, 28 Jan 2025 16:14:38 +0000 Nntp-Posting-Date: Tue, 28 Jan 2025 16:14:38 +0000 X-Received-Bytes: 2578 Organization: UsenetExpress - www.usenetexpress.com X-Complaints-To: abuse@usenetexpress.com Bytes: 2897 Poor tired, exhausted Tyrone. He must have spent days of futile searching in an attempt to find a copy somewhere of my absolutely perfect AVX-512 assembly code. (Ha, ha, ha, ha, ha, ha, ha, ha, ha, ha!) Of course, all of his efforts were in total vain, because no such copy exists anywhere, except right here on C.O.L.A. Poor tired, exhausted Tyrone (not to mention poor, dumb bastard). (Ha, ha, ha, ha, ha, ha, ha, ha, ha, ha!) Well, I have a challenge for the "expert" Tyrone. I have ever so slightly modified my absolutely perfect AVX-512 code so that it no longer will execute. Instead it will crash horribly. The ever-so-slightly modified code follows. Let's allow the "expert" Tyrone to discover and clearly report the fault. Anyone want to takes bets? Ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha! I recommend that Tyrone invest his extensive and exhaustive search time in a search for his own stupidity. Ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha, ha! ============================================ Begin AVX-512 NASM Assembly (Modified) ============================================ BITS 64 segment .text global _start _start: mov r8, data_in mov r9, data_out mov rbx, qword [stride] xor rdx, rdx mov rax, qword [N] div rbx ; rax = quotient, rdx = remainder load: vmovdqa32 zmm1, zword [r8] vmovdqa32 zword [r9], zmm1 add r8, 64 ; increment data pointers add r9, 64 dec rax jnz load xor r11, r11 ; load mask, i.e. only rdx left over to load mov r10, -1 mov rcx, rdx shld r11, r10, cl kmovq k1, r11; vmovdqa32 zmm1{k1}{z}, zword [r8] vmovdqa32 zword [r9], zmm1 exit: xor edi,edi mov eax,60 syscall segment .data align 64 N: dq 37 ;set length of block and stride stride: dq 16 data_in: dd 16 dup (0xefbeadde) ;dummy data dd 16 dup (0xfecaafde) dd 5 dup (0xefbeadde) segment .bss alignb 64 data_out: resd 37 ======================================== End AVX-512 NASM Assembly (Modified) ======================================== -- Systemd: solving all the problems that you never knew you had.