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 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).

On an older assembler (which would then also not support
bundle align mode) rep;bsr could be used equally well.

Jan


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