]> git.ipfire.org Git - thirdparty/valgrind.git/commit
x86 regtest: fix clobber lists in generated asm statements
authorGra??vydas Ignotas <notasas@gmail.com>
Fri, 9 Feb 2024 17:02:23 +0000 (19:02 +0200)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Fri, 9 Feb 2024 20:56:33 +0000 (21:56 +0100)
commit8b3d0828451f8e69e0eaf3807ffbe502aecda428
tree5517d5e17367e5c8dbcb9641cf8b039a96a8a0d0
parent62cda3da36ec851d3d0e8eba2e228c6124459f65
x86 regtest: fix clobber lists in generated asm statements

Must add result registers also, or else code like this is generated:

      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "cdq\n"
         "movl %%edx, %0\n"
         "movl %%eax, %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (state[0])
         : "eax"
      );

This crashes on my machine because gcc places some pointer in %%edx.
none/tests/amd64/gen_insn_test.pl
none/tests/x86/gen_insn_test.pl