[PATCH] x86: relax redundant REX prefix check

H.J. Lu hjl.tools@gmail.com
Wed May 30 14:31:00 GMT 2018


On Wed, May 30, 2018 at 7:22 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 30.05.18 at 14:30, <hjl.tools@gmail.com> wrote:
>>> --- a/gas/testsuite/gas/i386/rex.s
>>> +++ b/gas/testsuite/gas/i386/rex.s
>>> @@ -10,6 +10,16 @@ _start:
>>>         rex/fxsave (%r8,%r8)
>>>         rex64/fxsave (%r8,%r8)
>>>
>>> +       rex.w add       (%rax,%rax), %eax
>>> +       rex.r add       (%rax,%rax), %eax
>>> +       rex.b add       (%rax,%rax), %eax
>>> +       rex.x add       (%rax,%rax), %eax
>>> +
>>> +       rex.w add       (%r8,%rax), %eax
>>> +       rex.r add       (%rax,%r8), %eax
>>> +       rex.b add       (%rax,%rax), %r8d
>>
>> Since R and B bits have been set in this case, shouldn't rex.r/rex.b
>> be the extra
>> REX prefix?
>
> I may not understand your question. In all of the cases prefix and
> operands specify non-overlapping sets of REX bits. In this last
> quoted line, only REX.R gets set from processing the operands.
>

My mistake.  Patch is OK.  Thanks.


-- 
H.J.



More information about the Binutils mailing list