| 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.