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.