Re: [PATCH 1/2] x86: Remove dynamic NOP selection

From: Thorsten Glaser
Date: Sat Jan 20 2024 - 02:21:23 EST


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
--
„Cool, /usr/share/doc/mksh/examples/uhr.gz ist ja ein Grund,
mksh auf jedem System zu installieren.“
-- XTaran auf der OpenRheinRuhr, ganz begeistert
(EN: “[…]uhr.gz is a reason to install mksh on every system.”)