From: David Laight <David.Laight@ACULAB.COM>
To: 'Vineet Gupta' <vineet.gupta1@synopsys.com>,
'Arnd Bergmann' <arnd@arndb.de>,
"jose.abreu@synopsys.com" <jose.abreu@synopsys.com>
Cc: "open list:SYNOPSYS ARC ARCHITECTURE"
<linux-snps-arc@lists.infradead.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"alexey.brodkin@synopsys.com" <alexey.brodkin@synopsys.com>,
Joao Pinto <joao.pinto@synopsys.com>,
"Vitor Soares" <vitor.soares@synopsys.com>
Subject: RE: [PATCH v2] ARC: io.h: Implement reads{x}()/writes{x}()
Date: Mon, 3 Dec 2018 10:10:05 +0000 [thread overview]
Message-ID: <a668562bf3cb410e90484eb0d4a436a7@AcuMS.aculab.com> (raw)
In-Reply-To: <C2D7FE5348E1B147BCA15975FBA23075014641A413@US01WEMBX2.internal.synopsys.com>
From: Vineet Gupta
...
> > It also seems to have used a different type of loop to the
> > other example, probably less efficient.
> > (Not that I'm an expert on ARC opcodes.)
>
> The difference is due to ISA and ensuing ARC gcc backends. ARCompact based cores
> don't support unaligned access and the loop there was ZOL (Zero delay loop). In
> ARCv2 based cores, the gcc backend has been tweaked to generate fewer ZOLs hence
> you see the more canonical tst and branch style loop.
Is this another case of the hardware implementing 'hardware' loop
instructions that execute slower than ones made of simple instructions?
The worst example has to be the x86 'loop' (dec cx and jump nz)
instruction which is microcoded on intel cpus.
That makes it very difficult to use the new addx instruction to
get two dependency chains through a loop.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
next prev parent reply other threads:[~2018-12-03 10:10 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-29 14:29 Jose Abreu
2018-11-29 14:38 ` David Laight
2018-11-29 14:42 ` Jose Abreu
2018-11-29 16:13 ` Jose Abreu
2018-11-29 21:20 ` Arnd Bergmann
2018-11-30 8:56 ` Jose Abreu
2018-11-30 13:44 ` Arnd Bergmann
2018-11-30 13:57 ` David Laight
2018-11-30 19:00 ` Vineet Gupta
2018-12-03 10:10 ` David Laight [this message]
2018-12-03 17:31 ` Vineet Gupta
2018-11-29 21:16 ` Vineet Gupta
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=a668562bf3cb410e90484eb0d4a436a7@AcuMS.aculab.com \
--to=david.laight@aculab.com \
--cc=alexey.brodkin@synopsys.com \
--cc=arnd@arndb.de \
--cc=joao.pinto@synopsys.com \
--cc=jose.abreu@synopsys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=vineet.gupta1@synopsys.com \
--cc=vitor.soares@synopsys.com \
/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: link
Be 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
Powered by JetHome