🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #15072

IA-32 SIMD Assembly: het roteren van een byte

#15072
From: Armin Gerritsen
Date: Tue, 28 Nov 2000 00:00
29 lines
1670 bytes
Hallo,

Ik vroeg me af of iemand een methode kende om packed bytes te roteren.
En gewone byte roteren is vrij makkelijk:

ror AL, 1

Maar met grote hoeveelheden data gaat dat traag worden.
Nu vroeg ik mij af of het niet ook met MMX (of SSE/Enhanced 3DNow!) kan.

64bit-SIMD geeft 8 bytes en als ik die in een keer kan roteren scheelt dat
behoorlijk in de performance. Helaas heeft geen enkel SIMD instructie-set de
mogelijkheid bytes te roteren (wel word, double word en quadword).

Nu kan ik wel ingerwikkeld gaan doen met shifts, and-operaties etc., maar
dan is het voordeel een beetje weg.

Zie ik wat over het hoofd en is er een simpel algorithme, of is dit gewoon
zo'n zeldzaam geval dat er simpelweg daarom geen instructie voor gemaakt is.

Armin
--
Philips Semiconductors B.V.
Systems Laboratory Eindhoven (PS-SLE)

Backup not found: (A)bort (R)etry (P)anic

Tools:
http://www.phys.uu.nl/~gerritsn/download.html
Technical Details
Message-ID: <9003ii$86n$1@porthos.nl.uu.net>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,44f2eeb603f6acb7,start
X-Google-Attributes: gidfcea4,public
X-Google-Thread: 107324,44f2eeb603f6acb7,start
X-Google-Attributes: gid107324,public
From: "Armin Gerritsen" <Armin.Gerritsen@philips.com>
Subject: IA-32 SIMD Assembly: het roteren van een byte
Date: 2000/11/28
Message-ID: <9003ii$86n$1@porthos.nl.uu.net>
X-Deja-AN: 698623269
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3612.1700
X-Complaints-To: abuse@nl.uu.net
X-Trace: porthos.nl.uu.net 975409554 8407 212.153.190.3 (28 Nov 2000 11:05:54 GMT)
Organization: Philips Semiconductors
NNTP-Posting-Date: 28 Nov 2000 11:05:54 GMT
Newsgroups: be.comp.programming,nl.comp.programmeren