Deutsch   English   Français   Italiano  
<20250208200249.00005047@yahoo.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Michael S <already5chosen@yahoo.com>
Newsgroups: comp.arch
Subject: Re: Cost of handling misaligned access
Date: Sat, 8 Feb 2025 20:02:49 +0200
Organization: A noiseless patient Spider
Lines: 34
Message-ID: <20250208200249.00005047@yahoo.com>
References: <5lNnP.1313925$2xE6.991023@fx18.iad>
	<vnosj6$t5o0$1@dont-email.me>
	<2025Feb3.075550@mips.complang.tuwien.ac.at>
	<wi7oP.2208275$FOb4.591154@fx15.iad>
	<2025Feb4.191631@mips.complang.tuwien.ac.at>
	<vo061a$2fiql$1@dont-email.me>
	<20250206000143.00000dd9@yahoo.com>
	<2025Feb6.115939@mips.complang.tuwien.ac.at>
	<20250206152808.0000058f@yahoo.com>
	<vo2iqq$30elm$1@dont-email.me>
	<vo2p33$31lqn$1@dont-email.me>
	<20250206211932.00001022@yahoo.com>
	<vo36go$345o3$1@dont-email.me>
	<20250206233200.00001fc3@yahoo.com>
	<vo4lvl$3eu3c$1@dont-email.me>
	<20250207124138.00006c8d@yahoo.com>
	<vo551p$3hhbc$1@dont-email.me>
	<20250207170423.000023b7@yahoo.com>
	<50c7a978b92f0af32ffe1ec06bbfa68f@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 08 Feb 2025 19:02:54 +0100 (CET)
Injection-Info: dont-email.me; posting-host="aea2c3132a7bf1710512d53d5bb1555e";
	logging-data="136643"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19ePtgXa56MS97y9QR9F5wuIB1TFKFaD7I="
Cancel-Lock: sha1:OYMjs4tm/NH5fwTQI7+8aooM5Ac=
X-Newsreader: Claws Mail 4.1.1 (GTK 3.24.34; x86_64-w64-mingw32)
Bytes: 2901

On Fri, 7 Feb 2025 22:27:03 +0000
mitchalsup@aol.com (MitchAlsup1) wrote:

> 
> 
> Simple question:: how would you port this code to a machine
> with a different SIMD instruction set ??
>

In this case, one possibility is to write it differently in the first
place.

May be, I'd use completely different programming model, like implicit
SPMD. It was promoted by Intel ispc compiler. I tried it once, it
works and it's cross-platform. I am not sure that this specific
compiler (ispc) is still supported, but there should be others of the
same kind.

Or I can use some sort of SIMD portable toolkit. There are several,
with somewhat different levels of abstraction. The developer of one of
them used to post on RWT forum.
gcc vector extensions, mentioned in post above by Anton Ertl, is
another ideologically similar possibility.

For me, personally, all those options are harder to use than intrinsic
functions. So, there is the third and the most likely way - to learn
new set of intrinsic functions and to rewrite manually. The routines
tend to be small, so it's likely faster than fighting with tools. And
it's not like I would ever have to port to a dozen of different SIMD
architectures in 3 months.