[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CE53F232-3D2D-4910-94B4-A4304F5990C7@zytor.com>
Date: Sat, 20 Jan 2024 00:22:59 -0800
From: "H. Peter Anvin" <hpa@...or.com>
To: Thorsten Glaser <tg@...ian.org>, Peter Zijlstra <peterz@...radead.org>
CC: x86@...nel.org, rostedt@...dmis.org, torvalds@...uxfoundation.org,
linux-kernel@...r.kernel.org, linux-toolchains@...r.kernel.org,
jpoimboe@...hat.com, alexei.starovoitov@...il.com, mhiramat@...nel.org
Subject: Re: [PATCH 1/2] x86: Remove dynamic NOP selection
On January 19, 2024 10:58:56 PM PST, Thorsten Glaser <tg@...ian.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.
Powered by blists - more mailing lists