[PATCH 3/6] x86: improve operand reversal
H.J. Lu
hjl.tools@gmail.com
Fri Aug 3 16:14:00 GMT 2018
On Fri, Aug 3, 2018 at 9:07 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 03.08.18 at 17:56, <hjl.tools@gmail.com> wrote:
>> On Fri, Aug 3, 2018 at 8:50 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>> On 03.08.18 at 17:30, <hjl.tools@gmail.com> wrote:
>>>> On Fri, Aug 3, 2018 at 12:08 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>>>> On 02.08.18 at 18:43, <hjl.tools@gmail.com> wrote:
>>>>>> Please don't make any changes to the deprecated ".s".
>>>>>
>>>>> Excuse me, but how many more times should I state that I don't
>>>>> make any changes to its behavior? I solely make {store} no longer
>>>>> match .s in behavior. In fact I've specifically undone the change
>>>>> to .s, in anticipation of your objection to any adjustment to it.
>>>>
>>>> Why do you change testcases of the .s suffix?
>>>
>>> s/change/add to/
>>>
>>> Deprecated or no, I think the .s suffix should still work, including
>>> not causing assembly to fail when used. Try assembling the
>>> additions without the source adjustments, and I think you'll find
>>> some will fail. To me such adjustments are not "changes to its
>>
>> Which one?
>
> The additions to *opts.s. For example, this
>
> mov 0x12345678, %eax
> mov.s 0x12345678, %eax
> mov %eax, 0x12345678
> mov.s %eax, 0x12345678
> mov 0x123456789abcdef0, %eax
> mov.s 0x123456789abcdef0, %eax
> mov %eax, 0x123456789abcdef0
> mov.s %eax, 0x123456789abcdef0
> movabs 0x123456789abcdef0, %eax
> movabs.s 0x123456789abcdef0, %eax
> movabs %eax, 0x123456789abcdef0
> movabs.s %eax, 0x123456789abcdef0
> mov %eax, (%rdi)
> mov.s %eax, (%rdi)
> mov (%rdi), %eax
> mov.s (%rdi), %eax
> mov %cr0, %rax
> mov.s %cr0, %rax
> mov %rax, %cr7
> mov.s %rax, %cr7
> mov %dr0, %rax
> mov.s %dr0, %rax
> mov %rax, %dr7
> mov.s %rax, %dr7
>
> doesn't assemble with 2.31.1 (several "unsupported instruction"
> and one "operand size mismatch").
I saw
s.s:4: Error: unsupported instruction `mov'
s.s:6: Error: unsupported instruction `mov'
s.s:10: Error: operand size mismatch for `movabs'
s.s:14: Error: unsupported instruction `mov'
s.s:18: Error: unsupported instruction `mov'
s.s:22: Error: unsupported instruction `mov'
There is no need to fix these since the ".s" suffix has been deprecated.
--
H.J.
More information about the Binutils
mailing list