[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7923928f-1f4e-3fa8-3d38-40fcb2074b4a@synopsys.com>
Date: Thu, 30 May 2019 10:58:08 -0700
From: Vineet Gupta <Vineet.Gupta1@...opsys.com>
To: Claudiu Zissulescu <Claudiu.Zissulescu@...opsys.com>
CC: Eugeniy Paltsev <Eugeniy.Paltsev@...opsys.com>,
"paltsev@...opsys.com" <paltsev@...opsys.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Alexey Brodkin <Alexey.Brodkin@...opsys.com>,
"linux-snps-arc@...ts.infradead.org"
<linux-snps-arc@...ts.infradead.org>
Subject: extraneous generated EXTB (was Re: [PATCH 4/9] ARC: mm: do_page_fault
refactor #3: tidyup vma access permission code)
On 5/17/19 3:23 PM, Eugeniy Paltsev wrote:
> Hmmm,
>
> so load the bool variable from memory is converted to such asm code:
>
> ----------------->8-------------------
> ldb r2,[some_bool_address]
> extb_s r2,r2
> ----------------->8-------------------
>
> Could you please describe that the magic is going on there?
>
> This extb_s instruction looks completely useless here, according on the LDB description from PRM:
> ----------------->8-------------------
> LD LDH LDW LDB LDD:
> The size of the requested data is specified by the data size field <.zz> and by default, data is zero
> extended from the most-significant bit of the data to the most-significant bit of the destination
> register.
> ----------------->8-------------------
>
> Am I missing something?
@Claudiu is that a target specific optimization/tuning in ARC backend ?
>
> On Thu, 2019-05-16 at 17:37 +0000, Vineet Gupta wrote:
>> On 5/16/19 10:24 AM, Eugeniy Paltsev wrote:
>>>> + unsigned int write = 0, exec = 0, mask;
>>>
>>> Probably it's better to use 'bool' type for 'write' and 'exec' as we really use them as a boolean variables.
>>
>> Right those are semantics, but the generated code for "bool" is not ideal - given
>> it is inherently a "char" it is promoted first to an int with an additional EXTB
>> which I really dislike.
>> Guess it is more of a style thing.
>>
>> -Vineet
Powered by blists - more mailing lists