public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "siarhei.siamashka at gmail dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/43725] Poor instructions selection, scheduling and registers allocation for ARM NEON intrinsics Date: Fri, 08 Oct 2010 14:13:00 -0000 [thread overview] Message-ID: <20101008141300.K5ScD5cIb09I9aY-h33f5U3IO2q65Mh3BX-hFISmzrc@z> (raw) In-Reply-To: <bug-43725-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43725 --- Comment #5 from Siarhei Siamashka <siarhei.siamashka at gmail dot com> 2010-10-08 14:13:08 UTC --- (In reply to comment #3) > On Mon, 4 Oct 2010, siarhei.siamashka at gmail dot com wrote: > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43725 > > > > --- Comment #2 from Siarhei Siamashka <siarhei.siamashka at gmail dot com> 2010-10-04 22:59:56 UTC --- > > (In reply to comment #1) > > > So the compiler is correct not to be using vld1 for this code. The memory > > > format of int32x4_t is defined to be the format of a neon register that has > > > been filled from an array of int32 values and then stored to memory using VSTM > > > (or equivalent sequence). The implication of all this is that int32x4_t does > > > not (necessarily) have the same memory layout as int32_t[4]. > > > > Could you elaborate on this? Specifically about the case when memory format for > > VSTM and VST1 may differ. > > Big-endian. OK, I see. Looks like VLDM/VSTM instructions could be replaced with VLD1/VST1 (by artificially forcing element size to 64) in almost all cases except when SCTLR.A == 1 due to unwanted alignment traps potentially happening in this case. But the question is whether it is really necessary to suffer from a performance penalty on little endian systems? > I previously explained the issues with big-endian NEON vectors in GCC at > length: > > http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00409.html Thanks for the link, something seems to be seriously overengineered. Looks like you brought a problem upon yourself and now are trying to valiantly solve it. Does (efficient) support of NEON intrinsics on big endian systems even have any practical value? Maybe it makes sense to get a reasonable performance at least on little endian systems first. To me it looks like you are just running after two hares...
next prev parent reply other threads:[~2010-10-08 14:13 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <bug-43725-4@http.gcc.gnu.org/bugzilla/> 2010-09-29 20:50 ` rearnsha at gcc dot gnu.org 2010-10-04 23:00 ` siarhei.siamashka at gmail dot com 2010-10-04 23:46 ` joseph at codesourcery dot com 2010-10-05 7:16 ` ramana at gcc dot gnu.org 2010-10-08 14:13 ` siarhei.siamashka at gmail dot com [this message] 2011-06-29 13:35 ` siarhei.siamashka at gmail dot com 2014-07-09 12:26 ` m.zakirov at samsung dot com 2014-07-29 11:35 ` m.zakirov at samsung dot com 2014-07-29 11:46 ` m.zakirov at samsung dot com 2014-08-20 16:44 ` mkuvyrkov at gcc dot gnu.org 2021-09-27 7:21 ` pinskia at gcc dot gnu.org 2010-04-12 7:27 [Bug target/43725] New: " siarhei dot siamashka at gmail dot com 2010-05-11 7:35 ` [Bug target/43725] " ramana at gcc dot gnu dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20101008141300.K5ScD5cIb09I9aY-h33f5U3IO2q65Mh3BX-hFISmzrc@z \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).