[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8f5af6bd-af31-8f2f-9565-f1f505e6ba11@synopsys.com>
Date: Wed, 4 Mar 2020 17:58:04 +0000
From: Vineet Gupta <Vineet.Gupta1@...opsys.com>
To: Eugeniy Paltsev <Eugeniy.Paltsev@...opsys.com>,
"linux-snps-arc@...ts.infradead.org"
<linux-snps-arc@...ts.infradead.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Alexey Brodkin" <Alexey.Brodkin@...opsys.com>
Subject: Re: [PATCH 4/5] ARC: add support for DSP-enabled userspace
applications
On 3/4/20 3:51 AM, Eugeniy Paltsev wrote:
>>> + "r" (_saveto), \
>>> + "r" (_readfrom), \
>>> + "I" (_aux), \
>>> + "I" (_offt) \
>>> + : \
>>
>> AEX with "I" constraint will likely be an 8 byte instructions always. Best to give
>> compiler wiggle room with "Ir"
>
> Could you please explain how "Ir" will work in this case?
> Does this mean that compiler can pass the value either as constant ('I') or
> via register ('r')?
Right. If the same compile-time const is used multiple times, say SR of same value
to a reg, if can decide to hoist the value in a register, if you provide it "r" or
"Ir", leading to shorter overall code.
-Vineet
Powered by blists - more mailing lists