This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH]: x86 gas: allow 'rep' prefix on 'bsf' and 'bsr' instructions


On Fri, Jul 6, 2012 at 6:47 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 06.07.12 at 15:06, "H.J. Lu" <hjl.tools@gmail.com> wrote:
>> On Fri, Jul 6, 2012 at 2:52 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>> On 21.06.12 at 23:36, Roland McGrath <mcgrathr@google.com> wrote:
>>>> 'rep; bsf ...'/'rep; bsr ...' are encoded the same as 'tzcnt ...'/'lzcnt
>>>> ...'.
>>>
>>> While tzcnt really is an extension of bsf, lzcnt is not one of bsr,
>>> so I don't really follow why it's useful to allow the prefix there.
>>>
>>
>> It can be used to encode lzcnt with the older assembler,
>> similar to pause.
>
> You didn't get my point: rep bsr, for non-zero input, is _not_
> equivalent to bsr (this equivalence exists only for bsf/tzcnt,
> no matter what the Intel SDM says). Hence allowing this
> combination is potentially misleading, and not useful to gcc
> (which was the supposed original goal of the change).
>

lzcnt is executed as bsr on the older processors.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]