lkml.org 
[lkml]   [2024]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] x86: Remove dynamic NOP selection
On January 19, 2024 10:58:56 PM PST, Thorsten Glaser <tg@debian.org> wrote:
>Peter Zijlstra dixit:
>
>>-/* generic versions from gas
>[…]
>>- 3: leal 0x00(%esi),%esi
>>- 4: leal 0x00(,%esi,1),%esi
>>- 6: leal 0x00000000(%esi),%esi
>>- 7: leal 0x00000000(,%esi,1),%esi
>
>vs.
>
>>+ * Generic 32bit nops from GAS:
>[…]
>>+ * 3: leal 0x0(%esi),%esi
>>+ * 4: leal 0x0(%esi,%eiz,1),%esi
>>+ * 5: leal %ds:0x0(%esi,%eiz,1),%esi
>>+ * 6: leal 0x0(%esi),%esi
>>+ * 7: leal 0x0(%esi,%eiz,1),%esi
>>+ * 8: leal %ds:0x0(%esi,%eiz,1),%esi
>
>I think there’s some mistake introduced. The BYTES_* are
>identical for e.g. #7, but %eiz must be wrong, it’s not
>a register. Indeed, gas (on Debian bullseye) does not
>assemble that either.
>
>(Awful AT&T syntax aside…)
>
>bye,
>//mirabilos

%eiz was something that binutils used to put in when disassembling certain redundant encodings with SIB at some point.

\
 
 \ /
  Last update: 2024-01-20 10:05    [W:0.195 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site