All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1565940417783.5399@bt.com>

diff --git a/a/content_digest b/N1/content_digest
index 3f3745a..83cff3c 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,95 +1,94 @@
  "ref\043bc5e07ac614d0e8e740bf6007ff77b@tpw09926dag18e.domain1.systemhost.net\0"
  "From\0<tony.nguyen@bt.com>\0"
- "Subject\0[Qemu-riscv] [Qemu-devel] [PATCH v7 02/42] tcg: TCGMemOp is now accelerator independent MemOp\0"
+ "Subject\0[Qemu-arm] [Qemu-devel] [PATCH v7 02/42] tcg: TCGMemOp is now accelerator independent MemOp\0"
  "Date\0Fri, 16 Aug 2019 07:26:59 +0000\0"
  "To\0<qemu-devel@nongnu.org>\0"
- "Cc\0<rth@twiddle.net>"
-  <pbonzini@redhat.com>
-  <mst@redhat.com>
-  <imammedo@redhat.com>
-  <marcel.apfelbaum@gmail.com>
-  <xiaoguangrong.eric@gmail.com>
-  <alistair@alistair23.me>
-  <peter.maydell@linaro.org>
-  <b.galvani@gmail.com>
-  <clg@kaod.org>
-  <andrew@aj.id.au>
-  <joel@jms.id.au>
-  <i.mitsyanko@gmail.com>
-  <robh@kernel.org>
-  <peter.chubb@nicta.com.au>
-  <sundeep.lkml@gmail.com>
-  <jan.kiszka@web.de>
-  <balrogg@gmail.com>
-  <eric.auger@redhat.com>
-  <kraxel@redhat.com>
-  <michael@walle.cc>
-  <kwolf@redhat.com>
-  <mreitz@redhat.com>
-  <jsnow@redhat.com>
-  <keith.busch@intel.com>
-  <philmd@redhat.com>
-  <marcandre.lureau@redhat.com>
-  <Andrew.Baumann@microsoft.com>
-  <edgar.iglesias@gmail.com>
-  <antonynpavlov@gmail.com>
-  <chouteau@adacore.com>
-  <frederic.konrad@adacore.com>
-  <huth@tuxfamily.org>
-  <mark.cave-ayland@ilande.co.uk>
-  <hpoussin@reactos.org>
-  <arikalo@wavecomp.com>
-  <balaton@eik.bme.hu>
-  <gxt@mprc.pku.edu.cn>
-  <david@gibson.dropbear.id.au>
-  <deller@gmx.de>
-  <ehabkost@redhat.com>
-  <sstabellini@kernel.org>
-  <anthony.perard@citrix.com>
-  <paul.durrant@citrix.com>
-  <aurelien@aurel32.net>
-  <amarkovic@wavecomp.com>
-  <magnus.damm@gmail.com>
-  <berto@igalia.com>
-  <minyard@acm.org>
-  <pburton@wavecomp.com>
-  <jslaby@suse.cz>
-  <jcd@tribudubois.net>
-  <andrew.smirnov@gmail.com>
-  <green@moxielogic.com>
-  <jasowang@redhat.com>
-  <dmitry.fleytman@gmail.com>
-  <sw@weilnetz.de>
-  <jiri@resnulli.us>
-  <crwulff@gmail.com>
-  <marex@denx.de>
-  <lersek@redhat.com>
-  <proljc@gmail.com>
-  <shorne@gmail.com>
-  <yuval.shaia@oracle.com>
-  <palmer@sifive.com>
-  <sagark@eecs.berkeley.edu>
-  <kbastian@mail.uni-paderborn.de>
-  <walling@linux.ibm.com>
-  <cohuck@redhat.com>
-  <david@redhat.com>
-  <pasic@linux.ibm.com>
-  <borntraeger@de.ibm.com>
-  <fam@euphon.net>
-  <hare@suse.com>
-  <atar4qemu@gmail.com>
-  <stefanb@linux.ibm.com>
-  <alex.williamson@redhat.com>
-  <jcmvbkbc@gmail.com>
-  <laurent@vivier.eu>
-  <claudio.fontana@suse.com>
-  <stefanha@redhat.com>
-  <qemu-arm@nongnu.org>
-  <qemu-block@nongnu.org>
-  <qemu-ppc@nongnu.org>
-  <xen-devel@lists.xenproject.org>
-  <qemu-riscv@nongnu.org>
- " <qemu-s390x@nongnu.org>\0"
+ "Cc\0frederic.konrad@adacore.com"
+  berto@igalia.com
+  qemu-block@nongnu.org
+  arikalo@wavecomp.com
+  pasic@linux.ibm.com
+  hpoussin@reactos.org
+  anthony.perard@citrix.com
+  xen-devel@lists.xenproject.org
+  lersek@redhat.com
+  jasowang@redhat.com
+  jiri@resnulli.us
+  ehabkost@redhat.com
+  b.galvani@gmail.com
+  eric.auger@redhat.com
+  alex.williamson@redhat.com
+  stefanha@redhat.com
+  jsnow@redhat.com
+  rth@twiddle.net
+  kwolf@redhat.com
+  andrew@aj.id.au
+  claudio.fontana@suse.com
+  crwulff@gmail.com
+  laurent@vivier.eu
+  sundeep.lkml@gmail.com
+  michael@walle.cc
+  qemu-ppc@nongnu.org
+  kbastian@mail.uni-paderborn.de
+  imammedo@redhat.com
+  fam@euphon.net
+  peter.maydell@linaro.org
+  david@redhat.com
+  palmer@sifive.com
+  balaton@eik.bme.hu
+  keith.busch@intel.com
+  jcmvbkbc@gmail.com
+  hare@suse.com
+  sstabellini@kernel.org
+  andrew.smirnov@gmail.com
+  deller@gmx.de
+  magnus.damm@gmail.com
+  marcel.apfelbaum@gmail.com
+  atar4qemu@gmail.com
+  minyard@acm.org
+  sw@weilnetz.de
+  yuval.shaia@oracle.com
+  qemu-s390x@nongnu.org
+  qemu-arm@nongnu.org
+  jan.kiszka@web.de
+  clg@kaod.org
+  shorne@gmail.com
+  qemu-riscv@nongnu.org
+  i.mitsyanko@gmail.com
+  cohuck@redhat.com
+  philmd@redhat.com
+  amarkovic@wavecomp.com
+  peter.chubb@nicta.com.au
+  aurelien@aurel32.net
+  pburton@wavecomp.com
+  sagark@eecs.berkeley.edu
+  green@moxielogic.com
+  kraxel@redhat.com
+  gxt@mprc.pku.edu.cn
+  robh@kernel.org
+  borntraeger@de.ibm.com
+  joel@jms.id.au
+  antonynpavlov@gmail.com
+  chouteau@adacore.com
+  balrogg@gmail.com
+  Andrew.Baumann@microsoft.com
+  mreitz@redhat.com
+  walling@linux.ibm.com
+  dmitry.fleytman@gmail.com
+  mst@redhat.com
+  mark.cave-ayland@ilande.co.uk
+  jslaby@suse.cz
+  marex@denx.de
+  proljc@gmail.com
+  marcandre.lureau@redhat.com
+  alistair@alistair23.me
+  paul.durrant@citrix.com
+  david@gibson.dropbear.id.au
+  xiaoguangrong.eric@gmail.com
+  huth@tuxfamily.org
+  jcd@tribudubois.net
+  pbonzini@redhat.com
+ " stefanb@linux.ibm.com\0"
  "\01:1\0"
  "b\0"
  "Preparation for collapsing the two byte swaps, adjust_endianness and\n"
@@ -5565,4 +5564,4 @@
  "</body>\r\n"
  "</html>\r\n"
 
-db8536e3ed94cbe04b09d62e3589775b76edac95045071f5f61d3b26de193fa8
+7bfc6f8a93ce6ff351768d02b222714c7652c2740c208f458286b95d2538365a

diff --git a/N2/1.1.hdr b/N2/1.1.hdr
new file mode 100644
index 0000000..12686e4
--- /dev/null
+++ b/N2/1.1.hdr
@@ -0,0 +1,2 @@
+Content-Type: text/plain; charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
diff --git a/a/1.txt b/N2/1.1.txt
similarity index 100%
rename from a/1.txt
rename to N2/1.1.txt
diff --git a/a/2.bin b/N2/1.2.bin
similarity index 100%
rename from a/2.bin
rename to N2/1.2.bin
diff --git a/N2/1.2.hdr b/N2/1.2.hdr
new file mode 100644
index 0000000..e54d0ae
--- /dev/null
+++ b/N2/1.2.hdr
@@ -0,0 +1,2 @@
+Content-Type: text/html; charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
diff --git a/a/2.hdr b/N2/2.hdr
index e54d0ae..5216513 100644
--- a/a/2.hdr
+++ b/N2/2.hdr
@@ -1,2 +1,4 @@
-Content-Type: text/html; charset="iso-8859-1"
-Content-Transfer-Encoding: quoted-printable
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: base64
+Content-Disposition: inline
diff --git a/N2/2.txt b/N2/2.txt
new file mode 100644
index 0000000..d2ea9a6
--- /dev/null
+++ b/N2/2.txt
@@ -0,0 +1,4 @@
+_______________________________________________
+Xen-devel mailing list
+Xen-devel@lists.xenproject.org
+https://lists.xenproject.org/mailman/listinfo/xen-devel
diff --git a/a/content_digest b/N2/content_digest
index 3f3745a..acc7eb0 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,96 +1,96 @@
  "ref\043bc5e07ac614d0e8e740bf6007ff77b@tpw09926dag18e.domain1.systemhost.net\0"
  "From\0<tony.nguyen@bt.com>\0"
- "Subject\0[Qemu-riscv] [Qemu-devel] [PATCH v7 02/42] tcg: TCGMemOp is now accelerator independent MemOp\0"
+ "Subject\0[Xen-devel] [Qemu-devel] [PATCH v7 02/42] tcg: TCGMemOp is now accelerator independent MemOp\0"
  "Date\0Fri, 16 Aug 2019 07:26:59 +0000\0"
  "To\0<qemu-devel@nongnu.org>\0"
- "Cc\0<rth@twiddle.net>"
-  <pbonzini@redhat.com>
-  <mst@redhat.com>
-  <imammedo@redhat.com>
-  <marcel.apfelbaum@gmail.com>
-  <xiaoguangrong.eric@gmail.com>
-  <alistair@alistair23.me>
-  <peter.maydell@linaro.org>
-  <b.galvani@gmail.com>
-  <clg@kaod.org>
-  <andrew@aj.id.au>
-  <joel@jms.id.au>
-  <i.mitsyanko@gmail.com>
-  <robh@kernel.org>
-  <peter.chubb@nicta.com.au>
-  <sundeep.lkml@gmail.com>
-  <jan.kiszka@web.de>
-  <balrogg@gmail.com>
-  <eric.auger@redhat.com>
-  <kraxel@redhat.com>
-  <michael@walle.cc>
-  <kwolf@redhat.com>
-  <mreitz@redhat.com>
-  <jsnow@redhat.com>
-  <keith.busch@intel.com>
-  <philmd@redhat.com>
-  <marcandre.lureau@redhat.com>
-  <Andrew.Baumann@microsoft.com>
-  <edgar.iglesias@gmail.com>
-  <antonynpavlov@gmail.com>
-  <chouteau@adacore.com>
-  <frederic.konrad@adacore.com>
-  <huth@tuxfamily.org>
-  <mark.cave-ayland@ilande.co.uk>
-  <hpoussin@reactos.org>
-  <arikalo@wavecomp.com>
-  <balaton@eik.bme.hu>
-  <gxt@mprc.pku.edu.cn>
-  <david@gibson.dropbear.id.au>
-  <deller@gmx.de>
-  <ehabkost@redhat.com>
-  <sstabellini@kernel.org>
-  <anthony.perard@citrix.com>
-  <paul.durrant@citrix.com>
-  <aurelien@aurel32.net>
-  <amarkovic@wavecomp.com>
-  <magnus.damm@gmail.com>
-  <berto@igalia.com>
-  <minyard@acm.org>
-  <pburton@wavecomp.com>
-  <jslaby@suse.cz>
-  <jcd@tribudubois.net>
-  <andrew.smirnov@gmail.com>
-  <green@moxielogic.com>
-  <jasowang@redhat.com>
-  <dmitry.fleytman@gmail.com>
-  <sw@weilnetz.de>
-  <jiri@resnulli.us>
-  <crwulff@gmail.com>
-  <marex@denx.de>
-  <lersek@redhat.com>
-  <proljc@gmail.com>
-  <shorne@gmail.com>
-  <yuval.shaia@oracle.com>
-  <palmer@sifive.com>
-  <sagark@eecs.berkeley.edu>
-  <kbastian@mail.uni-paderborn.de>
-  <walling@linux.ibm.com>
-  <cohuck@redhat.com>
-  <david@redhat.com>
-  <pasic@linux.ibm.com>
-  <borntraeger@de.ibm.com>
-  <fam@euphon.net>
-  <hare@suse.com>
-  <atar4qemu@gmail.com>
-  <stefanb@linux.ibm.com>
-  <alex.williamson@redhat.com>
-  <jcmvbkbc@gmail.com>
-  <laurent@vivier.eu>
-  <claudio.fontana@suse.com>
-  <stefanha@redhat.com>
-  <qemu-arm@nongnu.org>
-  <qemu-block@nongnu.org>
-  <qemu-ppc@nongnu.org>
-  <xen-devel@lists.xenproject.org>
-  <qemu-riscv@nongnu.org>
- " <qemu-s390x@nongnu.org>\0"
- "\01:1\0"
+ "Cc\0frederic.konrad@adacore.com"
+  berto@igalia.com
+  qemu-block@nongnu.org
+  arikalo@wavecomp.com
+  pasic@linux.ibm.com
+  hpoussin@reactos.org
+  anthony.perard@citrix.com
+  xen-devel@lists.xenproject.org
+  lersek@redhat.com
+  jasowang@redhat.com
+  jiri@resnulli.us
+  ehabkost@redhat.com
+  b.galvani@gmail.com
+  eric.auger@redhat.com
+  alex.williamson@redhat.com
+  stefanha@redhat.com
+  jsnow@redhat.com
+  rth@twiddle.net
+  kwolf@redhat.com
+  andrew@aj.id.au
+  claudio.fontana@suse.com
+  crwulff@gmail.com
+  laurent@vivier.eu
+  sundeep.lkml@gmail.com
+  michael@walle.cc
+  qemu-ppc@nongnu.org
+  kbastian@mail.uni-paderborn.de
+  imammedo@redhat.com
+  fam@euphon.net
+  peter.maydell@linaro.org
+  david@redhat.com
+  palmer@sifive.com
+  balaton@eik.bme.hu
+  keith.busch@intel.com
+  jcmvbkbc@gmail.com
+  hare@suse.com
+  sstabellini@kernel.org
+  andrew.smirnov@gmail.com
+  deller@gmx.de
+  magnus.damm@gmail.com
+  marcel.apfelbaum@gmail.com
+  atar4qemu@gmail.com
+  minyard@acm.org
+  sw@weilnetz.de
+  yuval.shaia@oracle.com
+  qemu-s390x@nongnu.org
+  qemu-arm@nongnu.org
+  jan.kiszka@web.de
+  clg@kaod.org
+  shorne@gmail.com
+  qemu-riscv@nongnu.org
+  i.mitsyanko@gmail.com
+  cohuck@redhat.com
+  philmd@redhat.com
+  amarkovic@wavecomp.com
+  peter.chubb@nicta.com.au
+  aurelien@aurel32.net
+  pburton@wavecomp.com
+  sagark@eecs.berkeley.edu
+  green@moxielogic.com
+  kraxel@redhat.com
+  edgar.iglesias@gmail.com
+  gxt@mprc.pku.edu.cn
+  robh@kernel.org
+  borntraeger@de.ibm.com
+  joel@jms.id.au
+  antonynpavlov@gmail.com
+  chouteau@adacore.com
+  balrogg@gmail.com
+  Andrew.Baumann@microsoft.com
+  mreitz@redhat.com
+  walling@linux.ibm.com
+  dmitry.fleytman@gmail.com
+  mst@redhat.com
+  mark.cave-ayland@ilande.co.uk
+  jslaby@suse.cz
+  marex@denx.de
+  proljc@gmail.com
+  marcandre.lureau@redhat.com
+  alistair@alistair23.me
+  paul.durrant@citrix.com
+  david@gibson.dropbear.id.au
+  xiaoguangrong.eric@gmail.com
+  huth@tuxfamily.org
+  jcd@tribudubois.net
+  pbonzini@redhat.com
+ " stefanb@linux.ibm.com\0"
+ "\02:1.1\0"
  "b\0"
  "Preparation for collapsing the two byte swaps, adjust_endianness and\n"
  "handle_bswap, along the I/O path.\n"
@@ -2819,7 +2819,7 @@
  "1.8.3.1\n"
  "\n"
  ?
- "\01:2\0"
+ "\02:1.2\0"
  "b\0"
  "<html>\r\n"
  "<head>\r\n"
@@ -5564,5 +5564,11 @@
  "</p>\r\n"
  "</body>\r\n"
  "</html>\r\n"
+ "\01:2\0"
+ "b\0"
+ "_______________________________________________\n"
+ "Xen-devel mailing list\n"
+ "Xen-devel@lists.xenproject.org\n"
+ https://lists.xenproject.org/mailman/listinfo/xen-devel
 
-db8536e3ed94cbe04b09d62e3589775b76edac95045071f5f61d3b26de193fa8
+d5b8bc8518eceb3ce8fda7302fb45b1021e26764a1bfbeea963d324fb023b1b5

diff --git a/a/2.bin b/a/2.bin
deleted file mode 100644
index acf4da8..0000000
--- a/a/2.bin
+++ /dev/null
@@ -1,2743 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<style type="text/css" style="display:none"><!-- P { margin-top: 0px; margin-bottom: 0px; } .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(128, 0, 0); }--></style>
-</head>
-<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
-<p></p>
-<div><span style="font-size: 12pt;">Preparation for collapsing the two byte swaps, adjust_endianness and</span><br>
-</div>
-<div>handle_bswap, along the I/O path.</div>
-<div><br>
-</div>
-<div>Target dependant attributes are conditionalized upon NEED_CPU_H.</div>
-<div><br>
-</div>
-<div>Signed-off-by: Tony Nguyen &lt;tony.nguyen@bt.com&gt;</div>
-<div>Acked-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;</div>
-<div>Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;</div>
-<div>Acked-by: Cornelia Huck &lt;cohuck@redhat.com&gt;</div>
-<div>---</div>
-<div>&nbsp;MAINTAINERS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 1 &#43;</div>
-<div>&nbsp;accel/tcg/cputlb.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;include/exec/memop.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 110 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;</div>
-<div>&nbsp;target/alpha/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;target/arm/translate-a64.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;48 &#43;&#43;&#43;&#43;&#43;&#43;------</div>
-<div>&nbsp;target/arm/translate-a64.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;target/arm/translate-sve.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;target/arm/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;32 &#43;&#43;&#43;&#43;----</div>
-<div>&nbsp;target/arm/translate.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;target/hppa/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;14 &#43;&#43;--</div>
-<div>&nbsp;target/i386/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 132 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;----------------</div>
-<div>&nbsp;target/m68k/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 2 &#43;-</div>
-<div>&nbsp;target/microblaze/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 4 &#43;-</div>
-<div>&nbsp;target/mips/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 8 &#43;-</div>
-<div>&nbsp;target/openrisc/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 4 &#43;-</div>
-<div>&nbsp;target/ppc/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;12 &#43;--</div>
-<div>&nbsp;target/riscv/insn_trans/trans_rva.inc.c | &nbsp; 8 &#43;-</div>
-<div>&nbsp;target/riscv/insn_trans/trans_rvi.inc.c | &nbsp; 4 &#43;-</div>
-<div>&nbsp;target/s390x/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 6 &#43;-</div>
-<div>&nbsp;target/s390x/translate_vx.inc.c &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;10 &#43;--</div>
-<div>&nbsp;target/sparc/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;14 &#43;&#43;--</div>
-<div>&nbsp;target/tilegx/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;10 &#43;--</div>
-<div>&nbsp;target/tricore/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 8 &#43;-</div>
-<div>&nbsp;tcg/README &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;tcg/aarch64/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;26 &#43;&#43;&#43;----</div>
-<div>&nbsp;tcg/arm/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;26 &#43;&#43;&#43;----</div>
-<div>&nbsp;tcg/i386/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;24 &#43;&#43;&#43;---</div>
-<div>&nbsp;tcg/mips/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;16 &#43;&#43;--</div>
-<div>&nbsp;tcg/optimize.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;tcg/ppc/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;12 &#43;--</div>
-<div>&nbsp;tcg/riscv/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;20 &#43;&#43;---</div>
-<div>&nbsp;tcg/s390/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;14 &#43;&#43;--</div>
-<div>&nbsp;tcg/sparc/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 6 &#43;-</div>
-<div>&nbsp;tcg/tcg-op.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;38 &#43;&#43;&#43;&#43;-----</div>
-<div>&nbsp;tcg/tcg-op.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;86 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;-----------</div>
-<div>&nbsp;tcg/tcg.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 2 &#43;-</div>
-<div>&nbsp;tcg/tcg.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 101 &#43;&#43;----------------------</div>
-<div>&nbsp;trace/mem-internal.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 4 &#43;-</div>
-<div>&nbsp;trace/mem.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 4 &#43;-</div>
-<div>&nbsp;39 files changed, 421 insertions(&#43;), 399 deletions(-)</div>
-<div>&nbsp;create mode 100644 include/exec/memop.h</div>
-<div><br>
-</div>
-<div>diff --git a/MAINTAINERS b/MAINTAINERS</div>
-<div>index d6de200..c7cf84a 100644</div>
-<div>--- a/MAINTAINERS</div>
-<div>&#43;&#43;&#43; b/MAINTAINERS</div>
-<div>@@ -1889,6 &#43;1889,7 @@ M: Paolo Bonzini &lt;pbonzini@redhat.com&gt;</div>
-<div>&nbsp;S: Supported</div>
-<div>&nbsp;F: include/exec/ioport.h</div>
-<div>&nbsp;F: ioport.c</div>
-<div>&#43;F: include/exec/memop.h</div>
-<div>&nbsp;F: include/exec/memory.h</div>
-<div>&nbsp;F: include/exec/ram_addr.h</div>
-<div>&nbsp;F: memory.c</div>
-<div>diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c</div>
-<div>index bb9897b..523be4c 100644</div>
-<div>--- a/accel/tcg/cputlb.c</div>
-<div>&#43;&#43;&#43; b/accel/tcg/cputlb.c</div>
-<div>@@ -1133,7 &#43;1133,7 @@ static void *atomic_mmu_lookup(CPUArchState *env, target_ulong addr,</div>
-<div>&nbsp; &nbsp; &nbsp;uintptr_t index = tlb_index(env, mmu_idx, addr);</div>
-<div>&nbsp; &nbsp; &nbsp;CPUTLBEntry *tlbe = tlb_entry(env, mmu_idx, addr);</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong tlb_addr = tlb_addr_write(tlbe);</div>
-<div>- &nbsp; &nbsp;TCGMemOp mop = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp mop = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;int a_bits = get_alignment_bits(mop);</div>
-<div>&nbsp; &nbsp; &nbsp;int s_bits = mop &amp; MO_SIZE;</div>
-<div>&nbsp; &nbsp; &nbsp;void *hostaddr;</div>
-<div>diff --git a/include/exec/memop.h b/include/exec/memop.h</div>
-<div>new file mode 100644</div>
-<div>index 0000000..7262ca3</div>
-<div>--- /dev/null</div>
-<div>&#43;&#43;&#43; b/include/exec/memop.h</div>
-<div>@@ -0,0 &#43;1,110 @@</div>
-<div>&#43;/*</div>
-<div>&#43; * Constants for memory operations</div>
-<div>&#43; *</div>
-<div>&#43; * Authors:</div>
-<div>&#43; * &nbsp;Richard Henderson &lt;rth@twiddle.net&gt;</div>
-<div>&#43; *</div>
-<div>&#43; * This work is licensed under the terms of the GNU GPL, version 2 or later.</div>
-<div>&#43; * See the COPYING file in the top-level directory.</div>
-<div>&#43; *</div>
-<div>&#43; */</div>
-<div>&#43;</div>
-<div>&#43;#ifndef MEMOP_H</div>
-<div>&#43;#define MEMOP_H</div>
-<div>&#43;</div>
-<div>&#43;typedef enum MemOp {</div>
-<div>&#43; &nbsp; &nbsp;MO_8 &nbsp; &nbsp; = 0,</div>
-<div>&#43; &nbsp; &nbsp;MO_16 &nbsp; &nbsp;= 1,</div>
-<div>&#43; &nbsp; &nbsp;MO_32 &nbsp; &nbsp;= 2,</div>
-<div>&#43; &nbsp; &nbsp;MO_64 &nbsp; &nbsp;= 3,</div>
-<div>&#43; &nbsp; &nbsp;MO_SIZE &nbsp;= 3, &nbsp; /* Mask for the above. &nbsp;*/</div>
-<div>&#43;</div>
-<div>&#43; &nbsp; &nbsp;MO_SIGN &nbsp;= 4, &nbsp; /* Sign-extended, otherwise zero-extended. &nbsp;*/</div>
-<div>&#43;</div>
-<div>&#43; &nbsp; &nbsp;MO_BSWAP = 8, &nbsp; /* Host reverse endian. &nbsp;*/</div>
-<div>&#43;#ifdef HOST_WORDS_BIGENDIAN</div>
-<div>&#43; &nbsp; &nbsp;MO_LE &nbsp; &nbsp;= MO_BSWAP,</div>
-<div>&#43; &nbsp; &nbsp;MO_BE &nbsp; &nbsp;= 0,</div>
-<div>&#43;#else</div>
-<div>&#43; &nbsp; &nbsp;MO_LE &nbsp; &nbsp;= 0,</div>
-<div>&#43; &nbsp; &nbsp;MO_BE &nbsp; &nbsp;= MO_BSWAP,</div>
-<div>&#43;#endif</div>
-<div>&#43;#ifdef NEED_CPU_H</div>
-<div>&#43;#ifdef TARGET_WORDS_BIGENDIAN</div>
-<div>&#43; &nbsp; &nbsp;MO_TE &nbsp; &nbsp;= MO_BE,</div>
-<div>&#43;#else</div>
-<div>&#43; &nbsp; &nbsp;MO_TE &nbsp; &nbsp;= MO_LE,</div>
-<div>&#43;#endif</div>
-<div>&#43;#endif</div>
-<div>&#43;</div>
-<div>&#43; &nbsp; &nbsp;/*</div>
-<div>&#43; &nbsp; &nbsp; * MO_UNALN accesses are never checked for alignment.</div>
-<div>&#43; &nbsp; &nbsp; * MO_ALIGN accesses will result in a call to the CPU's</div>
-<div>&#43; &nbsp; &nbsp; * do_unaligned_access hook if the guest address is not aligned.</div>
-<div>&#43; &nbsp; &nbsp; * The default depends on whether the target CPU defines</div>
-<div>&#43; &nbsp; &nbsp; * TARGET_ALIGNED_ONLY.</div>
-<div>&#43; &nbsp; &nbsp; *</div>
-<div>&#43; &nbsp; &nbsp; * Some architectures (e.g. ARMv8) need the address which is aligned</div>
-<div>&#43; &nbsp; &nbsp; * to a size more than the size of the memory access.</div>
-<div>&#43; &nbsp; &nbsp; * Some architectures (e.g. SPARCv9) need an address which is aligned,</div>
-<div>&#43; &nbsp; &nbsp; * but less strictly than the natural alignment.</div>
-<div>&#43; &nbsp; &nbsp; *</div>
-<div>&#43; &nbsp; &nbsp; * MO_ALIGN supposes the alignment size is the size of a memory access.</div>
-<div>&#43; &nbsp; &nbsp; *</div>
-<div>&#43; &nbsp; &nbsp; * There are three options:</div>
-<div>&#43; &nbsp; &nbsp; * - unaligned access permitted (MO_UNALN).</div>
-<div>&#43; &nbsp; &nbsp; * - an alignment to the size of an access (MO_ALIGN);</div>
-<div>&#43; &nbsp; &nbsp; * - an alignment to a specified size, which may be more or less than</div>
-<div>&#43; &nbsp; &nbsp; * &nbsp; the access size (MO_ALIGN_x where 'x' is a size in bytes);</div>
-<div>&#43; &nbsp; &nbsp; */</div>
-<div>&#43; &nbsp; &nbsp;MO_ASHIFT = 4,</div>
-<div>&#43; &nbsp; &nbsp;MO_AMASK = 7 &lt;&lt; MO_ASHIFT,</div>
-<div>&#43;#ifdef NEED_CPU_H</div>
-<div>&#43;#ifdef TARGET_ALIGNED_ONLY</div>
-<div>&#43; &nbsp; &nbsp;MO_ALIGN = 0,</div>
-<div>&#43; &nbsp; &nbsp;MO_UNALN = MO_AMASK,</div>
-<div>&#43;#else</div>
-<div>&#43; &nbsp; &nbsp;MO_ALIGN = MO_AMASK,</div>
-<div>&#43; &nbsp; &nbsp;MO_UNALN = 0,</div>
-<div>&#43;#endif</div>
-<div>&#43;#endif</div>
-<div>&#43; &nbsp; &nbsp;MO_ALIGN_2 &nbsp;= 1 &lt;&lt; MO_ASHIFT,</div>
-<div>&#43; &nbsp; &nbsp;MO_ALIGN_4 &nbsp;= 2 &lt;&lt; MO_ASHIFT,</div>
-<div>&#43; &nbsp; &nbsp;MO_ALIGN_8 &nbsp;= 3 &lt;&lt; MO_ASHIFT,</div>
-<div>&#43; &nbsp; &nbsp;MO_ALIGN_16 = 4 &lt;&lt; MO_ASHIFT,</div>
-<div>&#43; &nbsp; &nbsp;MO_ALIGN_32 = 5 &lt;&lt; MO_ASHIFT,</div>
-<div>&#43; &nbsp; &nbsp;MO_ALIGN_64 = 6 &lt;&lt; MO_ASHIFT,</div>
-<div>&#43;</div>
-<div>&#43; &nbsp; &nbsp;/* Combinations of the above, for ease of use. &nbsp;*/</div>
-<div>&#43; &nbsp; &nbsp;MO_UB &nbsp; &nbsp;= MO_8,</div>
-<div>&#43; &nbsp; &nbsp;MO_UW &nbsp; &nbsp;= MO_16,</div>
-<div>&#43; &nbsp; &nbsp;MO_UL &nbsp; &nbsp;= MO_32,</div>
-<div>&#43; &nbsp; &nbsp;MO_SB &nbsp; &nbsp;= MO_SIGN | MO_8,</div>
-<div>&#43; &nbsp; &nbsp;MO_SW &nbsp; &nbsp;= MO_SIGN | MO_16,</div>
-<div>&#43; &nbsp; &nbsp;MO_SL &nbsp; &nbsp;= MO_SIGN | MO_32,</div>
-<div>&#43; &nbsp; &nbsp;MO_Q &nbsp; &nbsp; = MO_64,</div>
-<div>&#43;</div>
-<div>&#43; &nbsp; &nbsp;MO_LEUW &nbsp;= MO_LE | MO_UW,</div>
-<div>&#43; &nbsp; &nbsp;MO_LEUL &nbsp;= MO_LE | MO_UL,</div>
-<div>&#43; &nbsp; &nbsp;MO_LESW &nbsp;= MO_LE | MO_SW,</div>
-<div>&#43; &nbsp; &nbsp;MO_LESL &nbsp;= MO_LE | MO_SL,</div>
-<div>&#43; &nbsp; &nbsp;MO_LEQ &nbsp; = MO_LE | MO_Q,</div>
-<div>&#43;</div>
-<div>&#43; &nbsp; &nbsp;MO_BEUW &nbsp;= MO_BE | MO_UW,</div>
-<div>&#43; &nbsp; &nbsp;MO_BEUL &nbsp;= MO_BE | MO_UL,</div>
-<div>&#43; &nbsp; &nbsp;MO_BESW &nbsp;= MO_BE | MO_SW,</div>
-<div>&#43; &nbsp; &nbsp;MO_BESL &nbsp;= MO_BE | MO_SL,</div>
-<div>&#43; &nbsp; &nbsp;MO_BEQ &nbsp; = MO_BE | MO_Q,</div>
-<div>&#43;</div>
-<div>&#43;#ifdef NEED_CPU_H</div>
-<div>&#43; &nbsp; &nbsp;MO_TEUW &nbsp;= MO_TE | MO_UW,</div>
-<div>&#43; &nbsp; &nbsp;MO_TEUL &nbsp;= MO_TE | MO_UL,</div>
-<div>&#43; &nbsp; &nbsp;MO_TESW &nbsp;= MO_TE | MO_SW,</div>
-<div>&#43; &nbsp; &nbsp;MO_TESL &nbsp;= MO_TE | MO_SL,</div>
-<div>&#43; &nbsp; &nbsp;MO_TEQ &nbsp; = MO_TE | MO_Q,</div>
-<div>&#43;#endif</div>
-<div>&#43;</div>
-<div>&#43; &nbsp; &nbsp;MO_SSIZE = MO_SIZE | MO_SIGN,</div>
-<div>&#43;} MemOp;</div>
-<div>&#43;</div>
-<div>&#43;#endif</div>
-<div>diff --git a/target/alpha/translate.c b/target/alpha/translate.c</div>
-<div>index 2c9cccf..d5d4888 100644</div>
-<div>--- a/target/alpha/translate.c</div>
-<div>&#43;&#43;&#43; b/target/alpha/translate.c</div>
-<div>@@ -403,7 &#43;403,7 @@ static inline void gen_store_mem(DisasContext *ctx,</div>
-<div>&nbsp;</div>
-<div>&nbsp;static DisasJumpType gen_store_conditional(DisasContext *ctx, int ra, int rb,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int32_t disp16, int mem_idx,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp op)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp op)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGLabel *lab_fail, *lab_done;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv addr, val;</div>
-<div>diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c</div>
-<div>index d323147..b6c07d6 100644</div>
-<div>--- a/target/arm/translate-a64.c</div>
-<div>&#43;&#43;&#43; b/target/arm/translate-a64.c</div>
-<div>@@ -85,7 &#43;85,7 @@ typedef void NeonGenOneOpFn(TCGv_i64, TCGv_i64);</div>
-<div>&nbsp;typedef void CryptoTwoOpFn(TCGv_ptr, TCGv_ptr);</div>
-<div>&nbsp;typedef void CryptoThreeOpIntFn(TCGv_ptr, TCGv_ptr, TCGv_i32);</div>
-<div>&nbsp;typedef void CryptoThreeOpFn(TCGv_ptr, TCGv_ptr, TCGv_ptr);</div>
-<div>-typedef void AtomicThreeOpFn(TCGv_i64, TCGv_i64, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>&#43;typedef void AtomicThreeOpFn(TCGv_i64, TCGv_i64, TCGv_i64, TCGArg, MemOp);</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* initialize TCG globals. &nbsp;*/</div>
-<div>&nbsp;void a64_translate_init(void)</div>
-<div>@@ -455,7 &#43;455,7 @@ TCGv_i64 read_cpu_reg_sp(DisasContext *s, int reg, int sf)</div>
-<div>&nbsp; * Dn, Sn, Hn or Bn).</div>
-<div>&nbsp; * (Note that this is not the same mapping as for A32; see cpu.h)</div>
-<div>&nbsp; */</div>
-<div>-static inline int fp_reg_offset(DisasContext *s, int regno, TCGMemOp size)</div>
-<div>&#43;static inline int fp_reg_offset(DisasContext *s, int regno, MemOp size)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;return vec_reg_offset(s, regno, 0, size);</div>
-<div>&nbsp;}</div>
-<div>@@ -871,7 &#43;871,7 @@ static void do_gpr_ld_memidx(DisasContext *s,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bool iss_valid, unsigned int iss_srt,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bool iss_sf, bool iss_ar)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop = s-&gt;be_data &#43; size;</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop = s-&gt;be_data &#43; size;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;g_assert(size &lt;= 3);</div>
-<div>&nbsp;</div>
-<div>@@ -948,7 &#43;948,7 @@ static void do_fp_ld(DisasContext *s, int destidx, TCGv_i64 tcg_addr, int size)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tmphi;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (size &lt; 4) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = s-&gt;be_data &#43; size;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = s-&gt;be_data &#43; size;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmphi = tcg_const_i64(0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_i64(tmplo, tcg_addr, get_mem_index(s), memop);</div>
-<div>&nbsp; &nbsp; &nbsp;} else {</div>
-<div>@@ -989,7 &#43;989,7 @@ static void do_fp_ld(DisasContext *s, int destidx, TCGv_i64 tcg_addr, int size)</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Get value of an element within a vector register */</div>
-<div>&nbsp;static void read_vec_element(DisasContext *s, TCGv_i64 tcg_dest, int srcidx,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int vect_off = vec_reg_offset(s, srcidx, element, memop &amp; MO_SIZE);</div>
-<div>&nbsp; &nbsp; &nbsp;switch (memop) {</div>
-<div>@@ -1021,7 &#43;1021,7 @@ static void read_vec_element(DisasContext *s, TCGv_i64 tcg_dest, int srcidx,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void read_vec_element_i32(DisasContext *s, TCGv_i32 tcg_dest, int srcidx,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int vect_off = vec_reg_offset(s, srcidx, element, memop &amp; MO_SIZE);</div>
-<div>&nbsp; &nbsp; &nbsp;switch (memop) {</div>
-<div>@@ -1048,7 &#43;1048,7 @@ static void read_vec_element_i32(DisasContext *s, TCGv_i32 tcg_dest, int srcidx,</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Set value of an element within a vector register */</div>
-<div>&nbsp;static void write_vec_element(DisasContext *s, TCGv_i64 tcg_src, int destidx,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int element, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int element, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int vect_off = vec_reg_offset(s, destidx, element, memop &amp; MO_SIZE);</div>
-<div>&nbsp; &nbsp; &nbsp;switch (memop) {</div>
-<div>@@ -1070,7 &#43;1070,7 @@ static void write_vec_element(DisasContext *s, TCGv_i64 tcg_src, int destidx,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void write_vec_element_i32(DisasContext *s, TCGv_i32 tcg_src,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int destidx, int element, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int destidx, int element, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int vect_off = vec_reg_offset(s, destidx, element, memop &amp; MO_SIZE);</div>
-<div>&nbsp; &nbsp; &nbsp;switch (memop) {</div>
-<div>@@ -1090,7 &#43;1090,7 @@ static void write_vec_element_i32(DisasContext *s, TCGv_i32 tcg_src,</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Store from vector register to memory */</div>
-<div>&nbsp;static void do_vec_st(DisasContext *s, int srcidx, int element,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_addr, int size, TCGMemOp endian)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_addr, int size, MemOp endian)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_tmp = tcg_temp_new_i64();</div>
-<div>&nbsp;</div>
-<div>@@ -1102,7 &#43;1102,7 @@ static void do_vec_st(DisasContext *s, int srcidx, int element,</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Load from memory to vector register */</div>
-<div>&nbsp;static void do_vec_ld(DisasContext *s, int destidx, int element,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_addr, int size, TCGMemOp endian)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_addr, int size, MemOp endian)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_tmp = tcg_temp_new_i64();</div>
-<div>&nbsp;</div>
-<div>@@ -2200,7 &#43;2200,7 @@ static void gen_load_exclusive(DisasContext *s, int rt, int rt2,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGv_i64 addr, int size, bool is_pair)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int idx = get_mem_index(s);</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop = s-&gt;be_data;</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop = s-&gt;be_data;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;g_assert(size &lt;= 3);</div>
-<div>&nbsp; &nbsp; &nbsp;if (is_pair) {</div>
-<div>@@ -3286,7 &#43;3286,7 @@ static void disas_ldst_multiple_struct(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp;bool is_postidx = extract32(insn, 23, 1);</div>
-<div>&nbsp; &nbsp; &nbsp;bool is_q = extract32(insn, 30, 1);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 clean_addr, tcg_rn, tcg_ebytes;</div>
-<div>- &nbsp; &nbsp;TCGMemOp endian = s-&gt;be_data;</div>
-<div>&#43; &nbsp; &nbsp;MemOp endian = s-&gt;be_data;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;int ebytes; &nbsp; /* bytes per element */</div>
-<div>&nbsp; &nbsp; &nbsp;int elements; /* elements per vector */</div>
-<div>@@ -5455,7 &#43;5455,7 @@ static void disas_fp_csel(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned int mos, type, rm, cond, rn, rd;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 t_true, t_false, t_zero;</div>
-<div>&nbsp; &nbsp; &nbsp;DisasCompare64 c;</div>
-<div>- &nbsp; &nbsp;TCGMemOp sz;</div>
-<div>&#43; &nbsp; &nbsp;MemOp sz;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;mos = extract32(insn, 29, 3);</div>
-<div>&nbsp; &nbsp; &nbsp;type = extract32(insn, 22, 2);</div>
-<div>@@ -6267,7 &#43;6267,7 @@ static void disas_fp_imm(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp;int mos = extract32(insn, 29, 3);</div>
-<div>&nbsp; &nbsp; &nbsp;uint64_t imm;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_res;</div>
-<div>- &nbsp; &nbsp;TCGMemOp sz;</div>
-<div>&#43; &nbsp; &nbsp;MemOp sz;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (mos || imm5) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>
-<div>@@ -7030,7 &#43;7030,7 @@ static TCGv_i32 do_reduction_op(DisasContext *s, int fpopcode, int rn,</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (esize == size) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int element;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp msize = esize == 16 ? MO_16 : MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp msize = esize == 16 ? MO_16 : MO_32;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_elem;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* We should have one register left here */</div>
-<div>@@ -8022,7 &#43;8022,7 @@ static void handle_vec_simd_sqshrn(DisasContext *s, bool is_scalar, bool is_q,</div>
-<div>&nbsp; &nbsp; &nbsp;int shift = (2 * esize) - immhb;</div>
-<div>&nbsp; &nbsp; &nbsp;int elements = is_scalar ? 1 : (64 / esize);</div>
-<div>&nbsp; &nbsp; &nbsp;bool round = extract32(opcode, 0, 1);</div>
-<div>- &nbsp; &nbsp;TCGMemOp ldop = (size &#43; 1) | (is_u_shift ? 0 : MO_SIGN);</div>
-<div>&#43; &nbsp; &nbsp;MemOp ldop = (size &#43; 1) | (is_u_shift ? 0 : MO_SIGN);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_rn, tcg_rd, tcg_round;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tcg_rd_narrowed;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_final;</div>
-<div>@@ -8181,7 &#43;8181,7 @@ static void handle_simd_qshl(DisasContext *s, bool scalar, bool is_q,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;};</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenTwoOpEnvFn *genfn = fns[src_unsigned][dst_unsigned][size];</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = scalar ? size : MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = scalar ? size : MO_32;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int maxpass = scalar ? 1 : is_q ? 4 : 2;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; maxpass; pass&#43;&#43;) {</div>
-<div>@@ -8225,7 &#43;8225,7 @@ static void handle_simd_intfp_conv(DisasContext *s, int rd, int rn,</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_ptr tcg_fpst = get_fpstatus_ptr(size == MO_16);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tcg_shift = NULL;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;TCGMemOp mop = size | (is_signed ? MO_SIGN : 0);</div>
-<div>&#43; &nbsp; &nbsp;MemOp mop = size | (is_signed ? MO_SIGN : 0);</div>
-<div>&nbsp; &nbsp; &nbsp;int pass;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (fracbits || size == MO_64) {</div>
-<div>@@ -10004,7 &#43;10004,7 @@ static void handle_vec_simd_shri(DisasContext *s, bool is_q, bool is_u,</div>
-<div>&nbsp; &nbsp; &nbsp;int dsize = is_q ? 128 : 64;</div>
-<div>&nbsp; &nbsp; &nbsp;int esize = 8 &lt;&lt; size;</div>
-<div>&nbsp; &nbsp; &nbsp;int elements = dsize/esize;</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop = size | (is_u ? 0 : MO_SIGN);</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop = size | (is_u ? 0 : MO_SIGN);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_rn = new_tmp_a64(s);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_rd = new_tmp_a64(s);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_round;</div>
-<div>@@ -10347,7 &#43;10347,7 @@ static void handle_3rd_widening(DisasContext *s, int is_q, int is_u, int size,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op1 = tcg_temp_new_i64();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op2 = tcg_temp_new_i64();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_passres;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = MO_32 | (is_u ? 0 : MO_SIGN);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = MO_32 | (is_u ? 0 : MO_SIGN);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int elt = pass &#43; is_q * 2;</div>
-<div>&nbsp;</div>
-<div>@@ -11827,7 &#43;11827,7 @@ static void handle_2misc_pairwise(DisasContext *s, int opcode, bool u,</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (size == 2) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 32 &#43; 32 -&gt; 64 op */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = size &#43; (u ? 0 : MO_SIGN);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = size &#43; (u ? 0 : MO_SIGN);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; maxpass; pass&#43;&#43;) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op1 = tcg_temp_new_i64();</div>
-<div>@@ -12849,7 &#43;12849,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (is_fp) {</div>
-<div>&nbsp; &nbsp; &nbsp;case 1: /* normal fp */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;/* convert insn encoded size to TCGMemOp size */</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;/* convert insn encoded size to MemOp size */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0: /* half-precision */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_16;</div>
-<div>@@ -12897,7 &#43;12897,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;/* Given TCGMemOp size, adjust register and indexing. &nbsp;*/</div>
-<div>&#43; &nbsp; &nbsp;/* Given MemOp size, adjust register and indexing. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp;switch (size) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_16:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;index = h &lt;&lt; 2 | l &lt;&lt; 1 | m;</div>
-<div>@@ -13194,7 &#43;13194,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_res[2];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int pass;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bool satop = extract32(opcode, 0, 1);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = MO_32;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (satop || !u) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;memop |= MO_SIGN;</div>
-<div>diff --git a/target/arm/translate-a64.h b/target/arm/translate-a64.h</div>
-<div>index 9ab4087..f1246b7 100644</div>
-<div>--- a/target/arm/translate-a64.h</div>
-<div>&#43;&#43;&#43; b/target/arm/translate-a64.h</div>
-<div>@@ -64,7 &#43;64,7 @@ static inline void assert_fp_access_checked(DisasContext *s)</div>
-<div>&nbsp; * the FP/vector register Qn.</div>
-<div>&nbsp; */</div>
-<div>&nbsp;static inline int vec_reg_offset(DisasContext *s, int regno,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, TCGMemOp size)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, MemOp size)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int element_size = 1 &lt;&lt; size;</div>
-<div>&nbsp; &nbsp; &nbsp;int offs = element * element_size;</div>
-<div>diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c</div>
-<div>index fa068b0..5d7edd0 100644</div>
-<div>--- a/target/arm/translate-sve.c</div>
-<div>&#43;&#43;&#43; b/target/arm/translate-sve.c</div>
-<div>@@ -4567,7 &#43;4567,7 @@ static bool trans_STR_pri(DisasContext *s, arg_rri *a)</div>
-<div>&nbsp; */</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* The memory mode of the dtype. &nbsp;*/</div>
-<div>-static const TCGMemOp dtype_mop[16] = {</div>
-<div>&#43;static const MemOp dtype_mop[16] = {</div>
-<div>&nbsp; &nbsp; &nbsp;MO_UB, MO_UB, MO_UB, MO_UB,</div>
-<div>&nbsp; &nbsp; &nbsp;MO_SL, MO_UW, MO_UW, MO_UW,</div>
-<div>&nbsp; &nbsp; &nbsp;MO_SW, MO_SW, MO_UL, MO_UL,</div>
-<div>diff --git a/target/arm/translate.c b/target/arm/translate.c</div>
-<div>index 7853462..d116c8c 100644</div>
-<div>--- a/target/arm/translate.c</div>
-<div>&#43;&#43;&#43; b/target/arm/translate.c</div>
-<div>@@ -114,7 &#43;114,7 @@ typedef enum ISSInfo {</div>
-<div>&nbsp;} ISSInfo;</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Save the syndrome information for a Data Abort */</div>
-<div>-static void disas_set_da_iss(DisasContext *s, TCGMemOp memop, ISSInfo issinfo)</div>
-<div>&#43;static void disas_set_da_iss(DisasContext *s, MemOp memop, ISSInfo issinfo)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;uint32_t syn;</div>
-<div>&nbsp; &nbsp; &nbsp;int sas = memop &amp; MO_SIZE;</div>
-<div>@@ -1079,7 &#43;1079,7 @@ static inline void store_reg_from_load(DisasContext *s, int reg, TCGv_i32 var)</div>
-<div>&nbsp; * that the address argument is TCGv_i32 rather than TCGv.</div>
-<div>&nbsp; */</div>
-<div>&nbsp;</div>
-<div>-static inline TCGv gen_aa32_addr(DisasContext *s, TCGv_i32 a32, TCGMemOp op)</div>
-<div>&#43;static inline TCGv gen_aa32_addr(DisasContext *s, TCGv_i32 a32, MemOp op)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv addr = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_extu_i32_tl(addr, a32);</div>
-<div>@@ -1092,7 &#43;1092,7 @@ static inline TCGv gen_aa32_addr(DisasContext *s, TCGv_i32 a32, TCGMemOp op)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_aa32_ld_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, TCGMemOp opc)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, MemOp opc)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv addr;</div>
-<div>&nbsp;</div>
-<div>@@ -1107,7 &#43;1107,7 @@ static void gen_aa32_ld_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_aa32_st_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, TCGMemOp opc)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, MemOp opc)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv addr;</div>
-<div>&nbsp;</div>
-<div>@@ -1160,7 &#43;1160,7 @@ static inline void gen_aa32_frob64(DisasContext *s, TCGv_i64 val)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_aa32_ld_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, TCGMemOp opc)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, MemOp opc)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv addr = gen_aa32_addr(s, a32, opc);</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_i64(val, addr, index, opc);</div>
-<div>@@ -1175,7 &#43;1175,7 @@ static inline void gen_aa32_ld64(DisasContext *s, TCGv_i64 val,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_aa32_st_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, TCGMemOp opc)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, MemOp opc)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv addr = gen_aa32_addr(s, a32, opc);</div>
-<div>&nbsp;</div>
-<div>@@ -1400,7 &#43;1400,7 @@ neon_reg_offset (int reg, int n)</div>
-<div>&nbsp; * where 0 is the least significant end of the register.</div>
-<div>&nbsp; */</div>
-<div>&nbsp;static inline long</div>
-<div>-neon_element_offset(int reg, int element, TCGMemOp size)</div>
-<div>&#43;neon_element_offset(int reg, int element, MemOp size)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int element_size = 1 &lt;&lt; size;</div>
-<div>&nbsp; &nbsp; &nbsp;int ofs = element * element_size;</div>
-<div>@@ -1422,7 &#43;1422,7 @@ static TCGv_i32 neon_load_reg(int reg, int pass)</div>
-<div>&nbsp; &nbsp; &nbsp;return tmp;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void neon_load_element(TCGv_i32 var, int reg, int ele, TCGMemOp mop)</div>
-<div>&#43;static void neon_load_element(TCGv_i32 var, int reg, int ele, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;long offset = neon_element_offset(reg, ele, mop &amp; MO_SIZE);</div>
-<div>&nbsp;</div>
-<div>@@ -1441,7 &#43;1441,7 @@ static void neon_load_element(TCGv_i32 var, int reg, int ele, TCGMemOp mop)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void neon_load_element64(TCGv_i64 var, int reg, int ele, TCGMemOp mop)</div>
-<div>&#43;static void neon_load_element64(TCGv_i64 var, int reg, int ele, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;long offset = neon_element_offset(reg, ele, mop &amp; MO_SIZE);</div>
-<div>&nbsp;</div>
-<div>@@ -1469,7 &#43;1469,7 @@ static void neon_store_reg(int reg, int pass, TCGv_i32 var)</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_temp_free_i32(var);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void neon_store_element(int reg, int ele, TCGMemOp size, TCGv_i32 var)</div>
-<div>&#43;static void neon_store_element(int reg, int ele, MemOp size, TCGv_i32 var)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;long offset = neon_element_offset(reg, ele, size);</div>
-<div>&nbsp;</div>
-<div>@@ -1488,7 &#43;1488,7 @@ static void neon_store_element(int reg, int ele, TCGMemOp size, TCGv_i32 var)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void neon_store_element64(int reg, int ele, TCGMemOp size, TCGv_i64 var)</div>
-<div>&#43;static void neon_store_element64(int reg, int ele, MemOp size, TCGv_i64 var)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;long offset = neon_element_offset(reg, ele, size);</div>
-<div>&nbsp;</div>
-<div>@@ -3558,7 &#43;3558,7 @@ static int disas_neon_ls_insn(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp;int n;</div>
-<div>&nbsp; &nbsp; &nbsp;int vec_size;</div>
-<div>&nbsp; &nbsp; &nbsp;int mmu_idx;</div>
-<div>- &nbsp; &nbsp;TCGMemOp endian;</div>
-<div>&#43; &nbsp; &nbsp;MemOp endian;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 addr;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tmp;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tmp2;</div>
-<div>@@ -6867,7 &#43;6867,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else if ((insn &amp; 0x380) == 0) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* VDUP */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int element;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp size;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp size;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((insn &amp; (7 &lt;&lt; 16)) == 0 || (q &amp;&amp; (rd &amp; 1))) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 1;</div>
-<div>@@ -7435,7 &#43;7435,7 @@ static void gen_load_exclusive(DisasContext *s, int rt, int rt2,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGv_i32 addr, int size)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tmp = tcg_temp_new_i32();</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = size | MO_ALIGN | s-&gt;be_data;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = size | MO_ALIGN | s-&gt;be_data;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;s-&gt;is_ldex = true;</div>
-<div>&nbsp;</div>
-<div>@@ -7489,7 &#43;7489,7 @@ static void gen_store_exclusive(DisasContext *s, int rd, int rt, int rt2,</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv taddr;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGLabel *done_label;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGLabel *fail_label;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = size | MO_ALIGN | s-&gt;be_data;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = size | MO_ALIGN | s-&gt;be_data;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* if (env-&gt;exclusive_addr == addr &amp;&amp; env-&gt;exclusive_val == [addr]) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [addr] = {Rt};</div>
-<div>@@ -8603,7 &#43;8603,7 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv taddr;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp opc = s-&gt;be_data;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp opc = s-&gt;be_data;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm = (insn) &amp; 0xf;</div>
-<div>&nbsp;</div>
-<div>diff --git a/target/arm/translate.h b/target/arm/translate.h</div>
-<div>index a20f6e2..284c510 100644</div>
-<div>--- a/target/arm/translate.h</div>
-<div>&#43;&#43;&#43; b/target/arm/translate.h</div>
-<div>@@ -21,7 &#43;21,7 @@ typedef struct DisasContext {</div>
-<div>&nbsp; &nbsp; &nbsp;int condexec_cond;</div>
-<div>&nbsp; &nbsp; &nbsp;int thumb;</div>
-<div>&nbsp; &nbsp; &nbsp;int sctlr_b;</div>
-<div>- &nbsp; &nbsp;TCGMemOp be_data;</div>
-<div>&#43; &nbsp; &nbsp;MemOp be_data;</div>
-<div>&nbsp;#if !defined(CONFIG_USER_ONLY)</div>
-<div>&nbsp; &nbsp; &nbsp;int user;</div>
-<div>&nbsp;#endif</div>
-<div>diff --git a/target/hppa/translate.c b/target/hppa/translate.c</div>
-<div>index 188fe68..ff4802a 100644</div>
-<div>--- a/target/hppa/translate.c</div>
-<div>&#43;&#43;&#43; b/target/hppa/translate.c</div>
-<div>@@ -1500,7 &#43;1500,7 @@ static void form_gva(DisasContext *ctx, TCGv_tl *pgva, TCGv_reg *pofs,</div>
-<div>&nbsp; */</div>
-<div>&nbsp;static void do_load_32(DisasContext *ctx, TCGv_i32 dest, unsigned rb,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned rx, int scale, target_sreg disp,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned sp, int modify, TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned sp, int modify, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_reg ofs;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>
-<div>@@ -1518,7 &#43;1518,7 @@ static void do_load_32(DisasContext *ctx, TCGv_i32 dest, unsigned rb,</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void do_load_64(DisasContext *ctx, TCGv_i64 dest, unsigned rb,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned rx, int scale, target_sreg disp,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned sp, int modify, TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned sp, int modify, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_reg ofs;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>
-<div>@@ -1536,7 &#43;1536,7 @@ static void do_load_64(DisasContext *ctx, TCGv_i64 dest, unsigned rb,</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void do_store_32(DisasContext *ctx, TCGv_i32 src, unsigned rb,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned rx, int scale, target_sreg disp,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_reg ofs;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>
-<div>@@ -1554,7 &#43;1554,7 @@ static void do_store_32(DisasContext *ctx, TCGv_i32 src, unsigned rb,</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void do_store_64(DisasContext *ctx, TCGv_i64 src, unsigned rb,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned rx, int scale, target_sreg disp,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_reg ofs;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>
-<div>@@ -1580,7 &#43;1580,7 @@ static void do_store_64(DisasContext *ctx, TCGv_i64 src, unsigned rb,</div>
-<div>&nbsp;</div>
-<div>&nbsp;static bool do_load(DisasContext *ctx, unsigned rt, unsigned rb,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned rx, int scale, target_sreg disp,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_reg dest;</div>
-<div>&nbsp;</div>
-<div>@@ -1653,7 &#43;1653,7 @@ static bool trans_fldd(DisasContext *ctx, arg_ldst *a)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static bool do_store(DisasContext *ctx, unsigned rt, unsigned rb,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target_sreg disp, unsigned sp,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int modify, TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int modify, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;nullify_over(ctx);</div>
-<div>&nbsp; &nbsp; &nbsp;do_store_reg(ctx, load_gpr(ctx, rt), rb, 0, 0, disp, sp, modify, mop);</div>
-<div>@@ -2940,7 &#43;2940,7 @@ static bool trans_st(DisasContext *ctx, arg_ldst *a)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static bool trans_ldc(DisasContext *ctx, arg_ldst *a)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp mop = MO_TEUL | MO_ALIGN_16 | a-&gt;size;</div>
-<div>&#43; &nbsp; &nbsp;MemOp mop = MO_TEUL | MO_ALIGN_16 | a-&gt;size;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_reg zero, dest, ofs;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>
-<div>&nbsp;</div>
-<div>diff --git a/target/i386/translate.c b/target/i386/translate.c</div>
-<div>index 03150a8..def9867 100644</div>
-<div>--- a/target/i386/translate.c</div>
-<div>&#43;&#43;&#43; b/target/i386/translate.c</div>
-<div>@@ -87,8 &#43;87,8 @@ typedef struct DisasContext {</div>
-<div>&nbsp; &nbsp; &nbsp;/* current insn context */</div>
-<div>&nbsp; &nbsp; &nbsp;int override; /* -1 if no override */</div>
-<div>&nbsp; &nbsp; &nbsp;int prefix;</div>
-<div>- &nbsp; &nbsp;TCGMemOp aflag;</div>
-<div>- &nbsp; &nbsp;TCGMemOp dflag;</div>
-<div>&#43; &nbsp; &nbsp;MemOp aflag;</div>
-<div>&#43; &nbsp; &nbsp;MemOp dflag;</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong pc_start;</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong pc; /* pc = eip &#43; cs_base */</div>
-<div>&nbsp; &nbsp; &nbsp;/* current block context */</div>
-<div>@@ -149,7 &#43;149,7 @@ static void gen_eob(DisasContext *s);</div>
-<div>&nbsp;static void gen_jr(DisasContext *s, TCGv dest);</div>
-<div>&nbsp;static void gen_jmp(DisasContext *s, target_ulong eip);</div>
-<div>&nbsp;static void gen_jmp_tb(DisasContext *s, target_ulong eip, int tb_num);</div>
-<div>-static void gen_op(DisasContext *s1, int op, TCGMemOp ot, int d);</div>
-<div>&#43;static void gen_op(DisasContext *s1, int op, MemOp ot, int d);</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* i386 arith/logic operations */</div>
-<div>&nbsp;enum {</div>
-<div>@@ -320,7 &#43;320,7 @@ static inline bool byte_reg_is_xH(DisasContext *s, int reg)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Select the size of a push/pop operation. &nbsp;*/</div>
-<div>-static inline TCGMemOp mo_pushpop(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline MemOp mo_pushpop(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (CODE64(s)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return ot == MO_16 ? MO_16 : MO_64;</div>
-<div>@@ -330,13 &#43;330,13 @@ static inline TCGMemOp mo_pushpop(DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Select the size of the stack pointer. &nbsp;*/</div>
-<div>-static inline TCGMemOp mo_stacksize(DisasContext *s)</div>
-<div>&#43;static inline MemOp mo_stacksize(DisasContext *s)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;return CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_32 : MO_16;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Select only size 64 else 32. &nbsp;Used for SSE operand sizes. &nbsp;*/</div>
-<div>-static inline TCGMemOp mo_64_32(TCGMemOp ot)</div>
-<div>&#43;static inline MemOp mo_64_32(MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>&nbsp; &nbsp; &nbsp;return ot == MO_64 ? MO_64 : MO_32;</div>
-<div>@@ -347,19 &#43;347,19 @@ static inline TCGMemOp mo_64_32(TCGMemOp ot)</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Select size 8 if lsb of B is clear, else OT. &nbsp;Used for decoding</div>
-<div>&nbsp; &nbsp; byte vs word opcodes. &nbsp;*/</div>
-<div>-static inline TCGMemOp mo_b_d(int b, TCGMemOp ot)</div>
-<div>&#43;static inline MemOp mo_b_d(int b, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;return b &amp; 1 ? ot : MO_8;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Select size 8 if lsb of B is clear, else OT capped at 32.</div>
-<div>&nbsp; &nbsp; Used for decoding operand size of port opcodes. &nbsp;*/</div>
-<div>-static inline TCGMemOp mo_b_d32(int b, TCGMemOp ot)</div>
-<div>&#43;static inline MemOp mo_b_d32(int b, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;return b &amp; 1 ? (ot == MO_16 ? MO_16 : MO_32) : MO_8;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_op_mov_reg_v(DisasContext *s, TCGMemOp ot, int reg, TCGv t0)</div>
-<div>&#43;static void gen_op_mov_reg_v(DisasContext *s, MemOp ot, int reg, TCGv t0)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch(ot) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>
-<div>@@ -388,7 &#43;388,7 @@ static void gen_op_mov_reg_v(DisasContext *s, TCGMemOp ot, int reg, TCGv t0)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline</div>
-<div>-void gen_op_mov_v_reg(DisasContext *s, TCGMemOp ot, TCGv t0, int reg)</div>
-<div>&#43;void gen_op_mov_v_reg(DisasContext *s, MemOp ot, TCGv t0, int reg)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (ot == MO_8 &amp;&amp; byte_reg_is_xH(s, reg)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_extract_tl(t0, cpu_regs[reg - 4], 8, 8);</div>
-<div>@@ -411,13 &#43;411,13 @@ static inline void gen_op_jmp_v(TCGv dest)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline</div>
-<div>-void gen_op_add_reg_im(DisasContext *s, TCGMemOp size, int reg, int32_t val)</div>
-<div>&#43;void gen_op_add_reg_im(DisasContext *s, MemOp size, int reg, int32_t val)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(s-&gt;tmp0, cpu_regs[reg], val);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, size, reg, s-&gt;tmp0);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_op_add_reg_T0(DisasContext *s, TCGMemOp size, int reg)</div>
-<div>&#43;static inline void gen_op_add_reg_T0(DisasContext *s, MemOp size, int reg)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_add_tl(s-&gt;tmp0, cpu_regs[reg], s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, size, reg, s-&gt;tmp0);</div>
-<div>@@ -451,7 &#43;451,7 @@ static inline void gen_jmp_im(DisasContext *s, target_ulong pc)</div>
-<div>&nbsp;/* Compute SEG:REG into A0. &nbsp;SEG is selected from the override segment</div>
-<div>&nbsp; &nbsp; (OVR_SEG) and the default segment (DEF_SEG). &nbsp;OVR_SEG may be -1 to</div>
-<div>&nbsp; &nbsp; indicate no override. &nbsp;*/</div>
-<div>-static void gen_lea_v_seg(DisasContext *s, TCGMemOp aflag, TCGv a0,</div>
-<div>&#43;static void gen_lea_v_seg(DisasContext *s, MemOp aflag, TCGv a0,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int def_seg, int ovr_seg)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch (aflag) {</div>
-<div>@@ -514,13 &#43;514,13 @@ static inline void gen_string_movl_A0_EDI(DisasContext *s)</div>
-<div>&nbsp; &nbsp; &nbsp;gen_lea_v_seg(s, s-&gt;aflag, cpu_regs[R_EDI], R_ES, -1);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_op_movl_T0_Dshift(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline void gen_op_movl_T0_Dshift(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_ld32s_tl(s-&gt;T0, cpu_env, offsetof(CPUX86State, df));</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_shli_tl(s-&gt;T0, s-&gt;T0, ot);</div>
-<div>&nbsp;};</div>
-<div>&nbsp;</div>
-<div>-static TCGv gen_ext_tl(TCGv dst, TCGv src, TCGMemOp size, bool sign)</div>
-<div>&#43;static TCGv gen_ext_tl(TCGv dst, TCGv src, MemOp size, bool sign)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch (size) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>
-<div>@@ -551,18 &#43;551,18 @@ static TCGv gen_ext_tl(TCGv dst, TCGv src, TCGMemOp size, bool sign)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_extu(TCGMemOp ot, TCGv reg)</div>
-<div>&#43;static void gen_extu(MemOp ot, TCGv reg)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_ext_tl(reg, reg, ot, false);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_exts(TCGMemOp ot, TCGv reg)</div>
-<div>&#43;static void gen_exts(MemOp ot, TCGv reg)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_ext_tl(reg, reg, ot, true);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline</div>
-<div>-void gen_op_jnz_ecx(DisasContext *s, TCGMemOp size, TCGLabel *label1)</div>
-<div>&#43;void gen_op_jnz_ecx(DisasContext *s, MemOp size, TCGLabel *label1)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_mov_tl(s-&gt;tmp0, cpu_regs[R_ECX]);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_extu(size, s-&gt;tmp0);</div>
-<div>@@ -570,14 &#43;570,14 @@ void gen_op_jnz_ecx(DisasContext *s, TCGMemOp size, TCGLabel *label1)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline</div>
-<div>-void gen_op_jz_ecx(DisasContext *s, TCGMemOp size, TCGLabel *label1)</div>
-<div>&#43;void gen_op_jz_ecx(DisasContext *s, MemOp size, TCGLabel *label1)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_mov_tl(s-&gt;tmp0, cpu_regs[R_ECX]);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_extu(size, s-&gt;tmp0);</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_brcondi_tl(TCG_COND_EQ, s-&gt;tmp0, 0, label1);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_helper_in_func(TCGMemOp ot, TCGv v, TCGv_i32 n)</div>
-<div>&#43;static void gen_helper_in_func(MemOp ot, TCGv v, TCGv_i32 n)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch (ot) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>
-<div>@@ -594,7 &#43;594,7 @@ static void gen_helper_in_func(TCGMemOp ot, TCGv v, TCGv_i32 n)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_helper_out_func(TCGMemOp ot, TCGv_i32 v, TCGv_i32 n)</div>
-<div>&#43;static void gen_helper_out_func(MemOp ot, TCGv_i32 v, TCGv_i32 n)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch (ot) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>
-<div>@@ -611,7 &#43;611,7 @@ static void gen_helper_out_func(TCGMemOp ot, TCGv_i32 v, TCGv_i32 n)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_check_io(DisasContext *s, TCGMemOp ot, target_ulong cur_eip,</div>
-<div>&#43;static void gen_check_io(DisasContext *s, MemOp ot, target_ulong cur_eip,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; uint32_t svm_flags)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong next_eip;</div>
-<div>@@ -644,7 &#43;644,7 @@ static void gen_check_io(DisasContext *s, TCGMemOp ot, target_ulong cur_eip,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_movs(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline void gen_movs(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_ESI(s);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, ot, s-&gt;T0, s-&gt;A0);</div>
-<div>@@ -840,7 &#43;840,7 @@ static CCPrepare gen_prepare_eflags_s(DisasContext *s, TCGv reg)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return (CCPrepare) { .cond = TCG_COND_NEVER, .mask = -1 };</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp size = (s-&gt;cc_op - CC_OP_ADDB) &amp; 3;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp size = (s-&gt;cc_op - CC_OP_ADDB) &amp; 3;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv t0 = gen_ext_tl(reg, cpu_cc_dst, size, true);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return (CCPrepare) { .cond = TCG_COND_LT, .reg = t0, .mask = -1 };</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -885,7 &#43;885,7 @@ static CCPrepare gen_prepare_eflags_z(DisasContext *s, TCGv reg)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .mask = -1 };</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp size = (s-&gt;cc_op - CC_OP_ADDB) &amp; 3;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp size = (s-&gt;cc_op - CC_OP_ADDB) &amp; 3;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv t0 = gen_ext_tl(reg, cpu_cc_dst, size, false);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return (CCPrepare) { .cond = TCG_COND_EQ, .reg = t0, .mask = -1 };</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -897,7 &#43;897,7 @@ static CCPrepare gen_prepare_eflags_z(DisasContext *s, TCGv reg)</div>
-<div>&nbsp;static CCPrepare gen_prepare_cc(DisasContext *s, int b, TCGv reg)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int inv, jcc_op, cond;</div>
-<div>- &nbsp; &nbsp;TCGMemOp size;</div>
-<div>&#43; &nbsp; &nbsp;MemOp size;</div>
-<div>&nbsp; &nbsp; &nbsp;CCPrepare cc;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv t0;</div>
-<div>&nbsp;</div>
-<div>@@ -1075,7 &#43;1075,7 @@ static TCGLabel *gen_jz_ecx_string(DisasContext *s, target_ulong next_eip)</div>
-<div>&nbsp; &nbsp; &nbsp;return l2;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_stos(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline void gen_stos(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, R_EAX);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_EDI(s);</div>
-<div>@@ -1084,7 &#43;1084,7 @@ static inline void gen_stos(DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_add_reg_T0(s, s-&gt;aflag, R_EDI);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_lods(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline void gen_lods(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_ESI(s);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, ot, s-&gt;T0, s-&gt;A0);</div>
-<div>@@ -1093,7 &#43;1093,7 @@ static inline void gen_lods(DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_add_reg_T0(s, s-&gt;aflag, R_ESI);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_scas(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline void gen_scas(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_EDI(s);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, ot, s-&gt;T1, s-&gt;A0);</div>
-<div>@@ -1102,7 &#43;1102,7 @@ static inline void gen_scas(DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_add_reg_T0(s, s-&gt;aflag, R_EDI);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_cmps(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline void gen_cmps(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_EDI(s);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, ot, s-&gt;T1, s-&gt;A0);</div>
-<div>@@ -1126,7 &#43;1126,7 @@ static void gen_bpt_io(DisasContext *s, TCGv_i32 t_port, int ot)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_ins(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline void gen_ins(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (tb_cflags(s-&gt;base.tb) &amp; CF_USE_ICOUNT) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_io_start();</div>
-<div>@@ -1148,7 &#43;1148,7 @@ static inline void gen_ins(DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_outs(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline void gen_outs(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (tb_cflags(s-&gt;base.tb) &amp; CF_USE_ICOUNT) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_io_start();</div>
-<div>@@ -1171,7 &#43;1171,7 @@ static inline void gen_outs(DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp;/* same method as Valgrind : we generate jumps to current or next</div>
-<div>&nbsp; &nbsp; instruction */</div>
-<div>&nbsp;#define GEN_REPZ(op) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>-static inline void gen_repz_ ## op(DisasContext *s, TCGMemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&#43;static inline void gen_repz_ ## op(DisasContext *s, MemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target_ulong cur_eip, target_ulong next_eip) \</div>
-<div>&nbsp;{ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp;TCGLabel *l2; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>@@ -1187,7 &#43;1187,7 @@ static inline void gen_repz_ ## op(DisasContext *s, TCGMemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;#define GEN_REPZ2(op) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>-static inline void gen_repz_ ## op(DisasContext *s, TCGMemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&#43;static inline void gen_repz_ ## op(DisasContext *s, MemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target_ulong cur_eip, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target_ulong next_eip, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int nz) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>@@ -1284,7 &#43;1284,7 @@ static void gen_illegal_opcode(DisasContext *s)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* if d == OR_TMP0, it means memory operand (address in A0) */</div>
-<div>-static void gen_op(DisasContext *s1, int op, TCGMemOp ot, int d)</div>
-<div>&#43;static void gen_op(DisasContext *s1, int op, MemOp ot, int d)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (d != OR_TMP0) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s1-&gt;prefix &amp; PREFIX_LOCK) {</div>
-<div>@@ -1395,7 &#43;1395,7 @@ static void gen_op(DisasContext *s1, int op, TCGMemOp ot, int d)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* if d == OR_TMP0, it means memory operand (address in A0) */</div>
-<div>-static void gen_inc(DisasContext *s1, TCGMemOp ot, int d, int c)</div>
-<div>&#43;static void gen_inc(DisasContext *s1, MemOp ot, int d, int c)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (s1-&gt;prefix &amp; PREFIX_LOCK) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (d != OR_TMP0) {</div>
-<div>@@ -1421,7 &#43;1421,7 @@ static void gen_inc(DisasContext *s1, TCGMemOp ot, int d, int c)</div>
-<div>&nbsp; &nbsp; &nbsp;set_cc_op(s1, (c &gt; 0 ? CC_OP_INCB : CC_OP_DECB) &#43; ot);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_shift_flags(DisasContext *s, TCGMemOp ot, TCGv result,</div>
-<div>&#43;static void gen_shift_flags(DisasContext *s, MemOp ot, TCGv result,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv shm1, TCGv count, bool is_right)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 z32, s32, oldop;</div>
-<div>@@ -1466,7 &#43;1466,7 @@ static void gen_shift_flags(DisasContext *s, TCGMemOp ot, TCGv result,</div>
-<div>&nbsp; &nbsp; &nbsp;set_cc_op(s, CC_OP_DYNAMIC);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_shift_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>
-<div>&#43;static void gen_shift_rm_T1(DisasContext *s, MemOp ot, int op1,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int is_right, int is_arith)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong mask = (ot == MO_64 ? 0x3f : 0x1f);</div>
-<div>@@ -1502,7 &#43;1502,7 @@ static void gen_shift_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>
-<div>&nbsp; &nbsp; &nbsp;gen_shift_flags(s, ot, s-&gt;T0, s-&gt;tmp0, s-&gt;T1, is_right);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_shift_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>
-<div>&#43;static void gen_shift_rm_im(DisasContext *s, MemOp ot, int op1, int op2,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int is_right, int is_arith)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int mask = (ot == MO_64 ? 0x3f : 0x1f);</div>
-<div>@@ -1542,7 &#43;1542,7 @@ static void gen_shift_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_rot_rm_T1(DisasContext *s, TCGMemOp ot, int op1, int is_right)</div>
-<div>&#43;static void gen_rot_rm_T1(DisasContext *s, MemOp ot, int op1, int is_right)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong mask = (ot == MO_64 ? 0x3f : 0x1f);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 t0, t1;</div>
-<div>@@ -1627,7 &#43;1627,7 @@ static void gen_rot_rm_T1(DisasContext *s, TCGMemOp ot, int op1, int is_right)</div>
-<div>&nbsp; &nbsp; &nbsp;set_cc_op(s, CC_OP_DYNAMIC);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_rot_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>
-<div>&#43;static void gen_rot_rm_im(DisasContext *s, MemOp ot, int op1, int op2,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int is_right)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int mask = (ot == MO_64 ? 0x3f : 0x1f);</div>
-<div>@@ -1705,7 &#43;1705,7 @@ static void gen_rot_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* XXX: add faster immediate = 1 case */</div>
-<div>-static void gen_rotc_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>
-<div>&#43;static void gen_rotc_rm_T1(DisasContext *s, MemOp ot, int op1,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int is_right)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_compute_eflags(s);</div>
-<div>@@ -1761,7 &#43;1761,7 @@ static void gen_rotc_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* XXX: add faster immediate case */</div>
-<div>-static void gen_shiftd_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>
-<div>&#43;static void gen_shiftd_rm_T1(DisasContext *s, MemOp ot, int op1,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bool is_right, TCGv count_in)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong mask = (ot == MO_64 ? 63 : 31);</div>
-<div>@@ -1842,7 &#43;1842,7 @@ static void gen_shiftd_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_temp_free(count);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_shift(DisasContext *s1, int op, TCGMemOp ot, int d, int s)</div>
-<div>&#43;static void gen_shift(DisasContext *s1, int op, MemOp ot, int d, int s)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (s != OR_TMP1)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s1, ot, s1-&gt;T1, s);</div>
-<div>@@ -1872,7 &#43;1872,7 @@ static void gen_shift(DisasContext *s1, int op, TCGMemOp ot, int d, int s)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_shifti(DisasContext *s1, int op, TCGMemOp ot, int d, int c)</div>
-<div>&#43;static void gen_shifti(DisasContext *s1, int op, MemOp ot, int d, int c)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch(op) {</div>
-<div>&nbsp; &nbsp; &nbsp;case OP_ROL:</div>
-<div>@@ -2149,7 &#43;2149,7 @@ static void gen_add_A0_ds_seg(DisasContext *s)</div>
-<div>&nbsp;/* generate modrm memory load or store of 'reg'. TMP0 is used if reg ==</div>
-<div>&nbsp; &nbsp; OR_TMP0 */</div>
-<div>&nbsp;static void gen_ldst_modrm(CPUX86State *env, DisasContext *s, int modrm,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp ot, int reg, int is_store)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp ot, int reg, int is_store)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int mod, rm;</div>
-<div>&nbsp;</div>
-<div>@@ -2179,7 &#43;2179,7 @@ static void gen_ldst_modrm(CPUX86State *env, DisasContext *s, int modrm,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;uint32_t ret;</div>
-<div>&nbsp;</div>
-<div>@@ -2202,7 &#43;2202,7 @@ static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp; &nbsp; &nbsp;return ret;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline int insn_const_size(TCGMemOp ot)</div>
-<div>&#43;static inline int insn_const_size(MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (ot &lt;= MO_32) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 1 &lt;&lt; ot;</div>
-<div>@@ -2266,7 &#43;2266,7 @@ static inline void gen_jcc(DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_cmovcc1(CPUX86State *env, DisasContext *s, TCGMemOp ot, int b,</div>
-<div>&#43;static void gen_cmovcc1(CPUX86State *env, DisasContext *s, MemOp ot, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int modrm, int reg)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;CCPrepare cc;</div>
-<div>@@ -2363,8 &#43;2363,8 @@ static inline void gen_stack_update(DisasContext *s, int addend)</div>
-<div>&nbsp;/* Generate a push. It depends on ss32, addseg and dflag. &nbsp;*/</div>
-<div>&nbsp;static void gen_push_v(DisasContext *s, TCGv val)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>
-<div>- &nbsp; &nbsp;TCGMemOp a_ot = mo_stacksize(s);</div>
-<div>&#43; &nbsp; &nbsp;MemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>
-<div>&#43; &nbsp; &nbsp;MemOp a_ot = mo_stacksize(s);</div>
-<div>&nbsp; &nbsp; &nbsp;int size = 1 &lt;&lt; d_ot;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv new_esp = s-&gt;A0;</div>
-<div>&nbsp;</div>
-<div>@@ -2383,9 &#43;2383,9 @@ static void gen_push_v(DisasContext *s, TCGv val)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* two step pop is necessary for precise exceptions */</div>
-<div>-static TCGMemOp gen_pop_T0(DisasContext *s)</div>
-<div>&#43;static MemOp gen_pop_T0(DisasContext *s)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>
-<div>&#43; &nbsp; &nbsp;MemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;gen_lea_v_seg(s, mo_stacksize(s), cpu_regs[R_ESP], R_SS, -1);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, d_ot, s-&gt;T0, s-&gt;A0);</div>
-<div>@@ -2393,7 &#43;2393,7 @@ static TCGMemOp gen_pop_T0(DisasContext *s)</div>
-<div>&nbsp; &nbsp; &nbsp;return d_ot;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void gen_pop_update(DisasContext *s, TCGMemOp ot)</div>
-<div>&#43;static inline void gen_pop_update(DisasContext *s, MemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_stack_update(s, 1 &lt;&lt; ot);</div>
-<div>&nbsp;}</div>
-<div>@@ -2405,8 &#43;2405,8 @@ static inline void gen_stack_A0(DisasContext *s)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_pusha(DisasContext *s)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp s_ot = s-&gt;ss32 ? MO_32 : MO_16;</div>
-<div>- &nbsp; &nbsp;TCGMemOp d_ot = s-&gt;dflag;</div>
-<div>&#43; &nbsp; &nbsp;MemOp s_ot = s-&gt;ss32 ? MO_32 : MO_16;</div>
-<div>&#43; &nbsp; &nbsp;MemOp d_ot = s-&gt;dflag;</div>
-<div>&nbsp; &nbsp; &nbsp;int size = 1 &lt;&lt; d_ot;</div>
-<div>&nbsp; &nbsp; &nbsp;int i;</div>
-<div>&nbsp;</div>
-<div>@@ -2421,8 &#43;2421,8 @@ static void gen_pusha(DisasContext *s)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_popa(DisasContext *s)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp s_ot = s-&gt;ss32 ? MO_32 : MO_16;</div>
-<div>- &nbsp; &nbsp;TCGMemOp d_ot = s-&gt;dflag;</div>
-<div>&#43; &nbsp; &nbsp;MemOp s_ot = s-&gt;ss32 ? MO_32 : MO_16;</div>
-<div>&#43; &nbsp; &nbsp;MemOp d_ot = s-&gt;dflag;</div>
-<div>&nbsp; &nbsp; &nbsp;int size = 1 &lt;&lt; d_ot;</div>
-<div>&nbsp; &nbsp; &nbsp;int i;</div>
-<div>&nbsp;</div>
-<div>@@ -2442,8 &#43;2442,8 @@ static void gen_popa(DisasContext *s)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_enter(DisasContext *s, int esp_addend, int level)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>
-<div>- &nbsp; &nbsp;TCGMemOp a_ot = CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_32 : MO_16;</div>
-<div>&#43; &nbsp; &nbsp;MemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>
-<div>&#43; &nbsp; &nbsp;MemOp a_ot = CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_32 : MO_16;</div>
-<div>&nbsp; &nbsp; &nbsp;int size = 1 &lt;&lt; d_ot;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* Push BP; compute FrameTemp into T1. &nbsp;*/</div>
-<div>@@ -2482,8 &#43;2482,8 @@ static void gen_enter(DisasContext *s, int esp_addend, int level)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_leave(DisasContext *s)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>
-<div>- &nbsp; &nbsp;TCGMemOp a_ot = mo_stacksize(s);</div>
-<div>&#43; &nbsp; &nbsp;MemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>
-<div>&#43; &nbsp; &nbsp;MemOp a_ot = mo_stacksize(s);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;gen_lea_v_seg(s, a_ot, cpu_regs[R_EBP], R_SS, -1);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, d_ot, s-&gt;T0, s-&gt;A0);</div>
-<div>@@ -3045,7 &#43;3045,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp;SSEFunc_0_eppi sse_fn_eppi;</div>
-<div>&nbsp; &nbsp; &nbsp;SSEFunc_0_ppi sse_fn_ppi;</div>
-<div>&nbsp; &nbsp; &nbsp;SSEFunc_0_eppt sse_fn_eppt;</div>
-<div>- &nbsp; &nbsp;TCGMemOp ot;</div>
-<div>&#43; &nbsp; &nbsp;MemOp ot;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;b &amp;= 0xff;</div>
-<div>&nbsp; &nbsp; &nbsp;if (s-&gt;prefix &amp; PREFIX_DATA)</div>
-<div>@@ -4488,7 &#43;4488,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp;CPUX86State *env = cpu-&gt;env_ptr;</div>
-<div>&nbsp; &nbsp; &nbsp;int b, prefixes;</div>
-<div>&nbsp; &nbsp; &nbsp;int shift;</div>
-<div>- &nbsp; &nbsp;TCGMemOp ot, aflag, dflag;</div>
-<div>&#43; &nbsp; &nbsp;MemOp ot, aflag, dflag;</div>
-<div>&nbsp; &nbsp; &nbsp;int modrm, reg, rm, mod, op, opreg, val;</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong next_eip, tval;</div>
-<div>&nbsp; &nbsp; &nbsp;int rex_w, rex_r;</div>
-<div>@@ -5567,8 &#43;5567,8 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x1be: /* movsbS Gv, Eb */</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x1bf: /* movswS Gv, Eb */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp d_ot;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp s_ot;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp d_ot;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp s_ot;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* d_ot is the size of destination */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;d_ot = dflag;</div>
-<div>diff --git a/target/m68k/translate.c b/target/m68k/translate.c</div>
-<div>index 60bcfb7..24c1dd3 100644</div>
-<div>--- a/target/m68k/translate.c</div>
-<div>&#43;&#43;&#43; b/target/m68k/translate.c</div>
-<div>@@ -2414,7 &#43;2414,7 @@ DISAS_INSN(cas)</div>
-<div>&nbsp; &nbsp; &nbsp;uint16_t ext;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv load;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv cmp;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch ((insn &gt;&gt; 9) &amp; 3) {</div>
-<div>&nbsp; &nbsp; &nbsp;case 1:</div>
-<div>diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c</div>
-<div>index 9ce65f3..41d1b8b 100644</div>
-<div>--- a/target/microblaze/translate.c</div>
-<div>&#43;&#43;&#43; b/target/microblaze/translate.c</div>
-<div>@@ -919,7 &#43;919,7 @@ static void dec_load(DisasContext *dc)</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned int size;</div>
-<div>&nbsp; &nbsp; &nbsp;bool rev = false, ex = false, ea = false;</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_index = cpu_mmu_index(&amp;dc-&gt;cpu-&gt;env, false);</div>
-<div>- &nbsp; &nbsp;TCGMemOp mop;</div>
-<div>&#43; &nbsp; &nbsp;MemOp mop;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;mop = dc-&gt;opcode &amp; 3;</div>
-<div>&nbsp; &nbsp; &nbsp;size = 1 &lt;&lt; mop;</div>
-<div>@@ -1035,7 &#43;1035,7 @@ static void dec_store(DisasContext *dc)</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned int size;</div>
-<div>&nbsp; &nbsp; &nbsp;bool rev = false, ex = false, ea = false;</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_index = cpu_mmu_index(&amp;dc-&gt;cpu-&gt;env, false);</div>
-<div>- &nbsp; &nbsp;TCGMemOp mop;</div>
-<div>&#43; &nbsp; &nbsp;MemOp mop;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;mop = dc-&gt;opcode &amp; 3;</div>
-<div>&nbsp; &nbsp; &nbsp;size = 1 &lt;&lt; mop;</div>
-<div>diff --git a/target/mips/translate.c b/target/mips/translate.c</div>
-<div>index ca62800..59b5d85 100644</div>
-<div>--- a/target/mips/translate.c</div>
-<div>&#43;&#43;&#43; b/target/mips/translate.c</div>
-<div>@@ -2526,7 &#43;2526,7 @@ typedef struct DisasContext {</div>
-<div>&nbsp; &nbsp; &nbsp;int32_t CP0_Config5;</div>
-<div>&nbsp; &nbsp; &nbsp;/* Routine used to access memory */</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_idx;</div>
-<div>- &nbsp; &nbsp;TCGMemOp default_tcg_memop_mask;</div>
-<div>&#43; &nbsp; &nbsp;MemOp default_tcg_memop_mask;</div>
-<div>&nbsp; &nbsp; &nbsp;uint32_t hflags, saved_hflags;</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong btarget;</div>
-<div>&nbsp; &nbsp; &nbsp;bool ulri;</div>
-<div>@@ -3706,7 &#43;3706,7 @@ static void gen_st(DisasContext *ctx, uint32_t opc, int rt,</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Store conditional */</div>
-<div>&nbsp;static void gen_st_cond(DisasContext *ctx, int rt, int base, int offset,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp tcg_mo, bool eva)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp tcg_mo, bool eva)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv addr, t0, val;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGLabel *l1 = gen_new_label();</div>
-<div>@@ -4546,7 &#43;4546,7 @@ static void gen_HILO(DisasContext *ctx, uint32_t opc, int acc, int reg)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline void gen_r6_ld(target_long addr, int reg, int memidx,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_const_tl(addr);</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_tl(t0, t0, memidx, memop);</div>
-<div>@@ -21828,7 &#43;21828,7 @@ static int decode_nanomips_32_48_opc(CPUMIPSState *env, DisasContext *ctx)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; extract32(ctx-&gt;opcode, 0, 8);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv va = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv t1 = tcg_temp_new();</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = (extract32(ctx-&gt;opcode, 8, 3)) ==</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = (extract32(ctx-&gt;opcode, 8, 3)) ==</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NM_P_LS_UAWM ? MO_UNALN : 0;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;count = (count == 0) ? 8 : count;</div>
-<div>diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c</div>
-<div>index 4360ce4..b189c50 100644</div>
-<div>--- a/target/openrisc/translate.c</div>
-<div>&#43;&#43;&#43; b/target/openrisc/translate.c</div>
-<div>@@ -681,7 &#43;681,7 @@ static bool trans_l_lwa(DisasContext *dc, arg_load *a)</div>
-<div>&nbsp; &nbsp; &nbsp;return true;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void do_load(DisasContext *dc, arg_load *a, TCGMemOp mop)</div>
-<div>&#43;static void do_load(DisasContext *dc, arg_load *a, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv ea;</div>
-<div>&nbsp;</div>
-<div>@@ -763,7 &#43;763,7 @@ static bool trans_l_swa(DisasContext *dc, arg_store *a)</div>
-<div>&nbsp; &nbsp; &nbsp;return true;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void do_store(DisasContext *dc, arg_store *a, TCGMemOp mop)</div>
-<div>&#43;static void do_store(DisasContext *dc, arg_store *a, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(t0, cpu_R[a-&gt;a], a-&gt;i);</div>
-<div>diff --git a/target/ppc/translate.c b/target/ppc/translate.c</div>
-<div>index 4a5de28..31800ed 100644</div>
-<div>--- a/target/ppc/translate.c</div>
-<div>&#43;&#43;&#43; b/target/ppc/translate.c</div>
-<div>@@ -162,7 &#43;162,7 @@ struct DisasContext {</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_idx;</div>
-<div>&nbsp; &nbsp; &nbsp;int access_type;</div>
-<div>&nbsp; &nbsp; &nbsp;/* Translation flags */</div>
-<div>- &nbsp; &nbsp;TCGMemOp default_tcg_memop_mask;</div>
-<div>&#43; &nbsp; &nbsp;MemOp default_tcg_memop_mask;</div>
-<div>&nbsp;#if defined(TARGET_PPC64)</div>
-<div>&nbsp; &nbsp; &nbsp;bool sf_mode;</div>
-<div>&nbsp; &nbsp; &nbsp;bool has_cfar;</div>
-<div>@@ -3142,7 &#43;3142,7 @@ static void gen_isync(DisasContext *ctx)</div>
-<div>&nbsp;</div>
-<div>&nbsp;#define MEMOP_GET_SIZE(x) &nbsp;(1 &lt;&lt; ((x) &amp; MO_SIZE))</div>
-<div>&nbsp;</div>
-<div>-static void gen_load_locked(DisasContext *ctx, TCGMemOp memop)</div>
-<div>&#43;static void gen_load_locked(DisasContext *ctx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv gpr = cpu_gpr[rD(ctx-&gt;opcode)];</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_temp_new();</div>
-<div>@@ -3167,7 &#43;3167,7 @@ LARX(lbarx, DEF_MEMOP(MO_UB))</div>
-<div>&nbsp;LARX(lharx, DEF_MEMOP(MO_UW))</div>
-<div>&nbsp;LARX(lwarx, DEF_MEMOP(MO_UL))</div>
-<div>&nbsp;</div>
-<div>-static void gen_fetch_inc_conditional(DisasContext *ctx, TCGMemOp memop,</div>
-<div>&#43;static void gen_fetch_inc_conditional(DisasContext *ctx, MemOp memop,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv EA, TCGCond cond, int addend)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv t = tcg_temp_new();</div>
-<div>@@ -3193,7 &#43;3193,7 @@ static void gen_fetch_inc_conditional(DisasContext *ctx, TCGMemOp memop,</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_temp_free(u);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void gen_ld_atomic(DisasContext *ctx, TCGMemOp memop)</div>
-<div>&#43;static void gen_ld_atomic(DisasContext *ctx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;uint32_t gpr_FC = FC(ctx-&gt;opcode);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv EA = tcg_temp_new();</div>
-<div>@@ -3306,7 &#43;3306,7 @@ static void gen_ldat(DisasContext *ctx)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp;</div>
-<div>-static void gen_st_atomic(DisasContext *ctx, TCGMemOp memop)</div>
-<div>&#43;static void gen_st_atomic(DisasContext *ctx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;uint32_t gpr_FC = FC(ctx-&gt;opcode);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv EA = tcg_temp_new();</div>
-<div>@@ -3389,7 &#43;3389,7 @@ static void gen_stdat(DisasContext *ctx)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp;</div>
-<div>-static void gen_conditional_store(DisasContext *ctx, TCGMemOp memop)</div>
-<div>&#43;static void gen_conditional_store(DisasContext *ctx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGLabel *l1 = gen_new_label();</div>
-<div>&nbsp; &nbsp; &nbsp;TCGLabel *l2 = gen_new_label();</div>
-<div>diff --git a/target/riscv/insn_trans/trans_rva.inc.c b/target/riscv/insn_trans/trans_rva.inc.c</div>
-<div>index fadd888..be8a9f0 100644</div>
-<div>--- a/target/riscv/insn_trans/trans_rva.inc.c</div>
-<div>&#43;&#43;&#43; b/target/riscv/insn_trans/trans_rva.inc.c</div>
-<div>@@ -18,7 &#43;18,7 @@</div>
-<div>&nbsp; * this program. &nbsp;If not, see &lt;http://www.gnu.org/licenses/&gt;.</div>
-<div>&nbsp; */</div>
-<div>&nbsp;</div>
-<div>-static inline bool gen_lr(DisasContext *ctx, arg_atomic *a, TCGMemOp mop)</div>
-<div>&#43;static inline bool gen_lr(DisasContext *ctx, arg_atomic *a, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv src1 = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;/* Put addr in load_res, data in load_val. &nbsp;*/</div>
-<div>@@ -37,7 &#43;37,7 @@ static inline bool gen_lr(DisasContext *ctx, arg_atomic *a, TCGMemOp mop)</div>
-<div>&nbsp; &nbsp; &nbsp;return true;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline bool gen_sc(DisasContext *ctx, arg_atomic *a, TCGMemOp mop)</div>
-<div>&#43;static inline bool gen_sc(DisasContext *ctx, arg_atomic *a, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv src1 = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv src2 = tcg_temp_new();</div>
-<div>@@ -82,8 &#43;82,8 @@ static inline bool gen_sc(DisasContext *ctx, arg_atomic *a, TCGMemOp mop)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static bool gen_amo(DisasContext *ctx, arg_atomic *a,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void(*func)(TCGv, TCGv, TCGv, TCGArg, TCGMemOp),</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void(*func)(TCGv, TCGv, TCGv, TCGArg, MemOp),</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv src1 = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv src2 = tcg_temp_new();</div>
-<div>diff --git a/target/riscv/insn_trans/trans_rvi.inc.c b/target/riscv/insn_trans/trans_rvi.inc.c</div>
-<div>index ea64731..cf440d1 100644</div>
-<div>--- a/target/riscv/insn_trans/trans_rvi.inc.c</div>
-<div>&#43;&#43;&#43; b/target/riscv/insn_trans/trans_rvi.inc.c</div>
-<div>@@ -135,7 &#43;135,7 @@ static bool trans_bgeu(DisasContext *ctx, arg_bgeu *a)</div>
-<div>&nbsp; &nbsp; &nbsp;return gen_branch(ctx, a, TCG_COND_GEU);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static bool gen_load(DisasContext *ctx, arg_lb *a, TCGMemOp memop)</div>
-<div>&#43;static bool gen_load(DisasContext *ctx, arg_lb *a, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv t1 = tcg_temp_new();</div>
-<div>@@ -174,7 &#43;174,7 @@ static bool trans_lhu(DisasContext *ctx, arg_lhu *a)</div>
-<div>&nbsp; &nbsp; &nbsp;return gen_load(ctx, a, MO_TEUW);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static bool gen_store(DisasContext *ctx, arg_sb *a, TCGMemOp memop)</div>
-<div>&#43;static bool gen_store(DisasContext *ctx, arg_sb *a, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv dat = tcg_temp_new();</div>
-<div>diff --git a/target/s390x/translate.c b/target/s390x/translate.c</div>
-<div>index ac0d8b6..2927247 100644</div>
-<div>--- a/target/s390x/translate.c</div>
-<div>&#43;&#43;&#43; b/target/s390x/translate.c</div>
-<div>@@ -152,7 &#43;152,7 @@ static inline int vec_full_reg_offset(uint8_t reg)</div>
-<div>&nbsp; &nbsp; &nbsp;return offsetof(CPUS390XState, vregs[reg][0]);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline int vec_reg_offset(uint8_t reg, uint8_t enr, TCGMemOp es)</div>
-<div>&#43;static inline int vec_reg_offset(uint8_t reg, uint8_t enr, MemOp es)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;/* Convert element size (es) - e.g. MO_8 - to bytes */</div>
-<div>&nbsp; &nbsp; &nbsp;const uint8_t bytes = 1 &lt;&lt; es;</div>
-<div>@@ -2262,7 &#43;2262,7 @@ static DisasJumpType op_csst(DisasContext *s, DisasOps *o)</div>
-<div>&nbsp;#ifndef CONFIG_USER_ONLY</div>
-<div>&nbsp;static DisasJumpType op_csp(DisasContext *s, DisasOps *o)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp mop = s-&gt;insn-&gt;data;</div>
-<div>&#43; &nbsp; &nbsp;MemOp mop = s-&gt;insn-&gt;data;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 addr, old, cc;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGLabel *lab = gen_new_label();</div>
-<div>&nbsp;</div>
-<div>@@ -3228,7 &#43;3228,7 @@ static DisasJumpType op_lm64(DisasContext *s, DisasOps *o)</div>
-<div>&nbsp;static DisasJumpType op_lpd(DisasContext *s, DisasOps *o)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 a1, a2;</div>
-<div>- &nbsp; &nbsp;TCGMemOp mop = s-&gt;insn-&gt;data;</div>
-<div>&#43; &nbsp; &nbsp;MemOp mop = s-&gt;insn-&gt;data;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* In a parallel context, stop the world and single step. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp;if (tb_cflags(s-&gt;base.tb) &amp; CF_PARALLEL) {</div>
-<div>diff --git a/target/s390x/translate_vx.inc.c b/target/s390x/translate_vx.inc.c</div>
-<div>index 41d5cf8..4c56bbb 100644</div>
-<div>--- a/target/s390x/translate_vx.inc.c</div>
-<div>&#43;&#43;&#43; b/target/s390x/translate_vx.inc.c</div>
-<div>@@ -57,13 &#43;57,13 @@</div>
-<div>&nbsp;#define FPF_LONG &nbsp; &nbsp; &nbsp; &nbsp;3</div>
-<div>&nbsp;#define FPF_EXT &nbsp; &nbsp; &nbsp; &nbsp; 4</div>
-<div>&nbsp;</div>
-<div>-static inline bool valid_vec_element(uint8_t enr, TCGMemOp es)</div>
-<div>&#43;static inline bool valid_vec_element(uint8_t enr, MemOp es)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;return !(enr &amp; ~(NUM_VEC_ELEMENTS(es) - 1));</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void read_vec_element_i64(TCGv_i64 dst, uint8_t reg, uint8_t enr,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;const int offs = vec_reg_offset(reg, enr, memop &amp; MO_SIZE);</div>
-<div>&nbsp;</div>
-<div>@@ -96,7 &#43;96,7 @@ static void read_vec_element_i64(TCGv_i64 dst, uint8_t reg, uint8_t enr,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void read_vec_element_i32(TCGv_i32 dst, uint8_t reg, uint8_t enr,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;const int offs = vec_reg_offset(reg, enr, memop &amp; MO_SIZE);</div>
-<div>&nbsp;</div>
-<div>@@ -123,7 &#43;123,7 @@ static void read_vec_element_i32(TCGv_i32 dst, uint8_t reg, uint8_t enr,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void write_vec_element_i64(TCGv_i64 src, int reg, uint8_t enr,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;const int offs = vec_reg_offset(reg, enr, memop &amp; MO_SIZE);</div>
-<div>&nbsp;</div>
-<div>@@ -146,7 &#43;146,7 @@ static void write_vec_element_i64(TCGv_i64 src, int reg, uint8_t enr,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void write_vec_element_i32(TCGv_i32 src, int reg, uint8_t enr,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;const int offs = vec_reg_offset(reg, enr, memop &amp; MO_SIZE);</div>
-<div>&nbsp;</div>
-<div>diff --git a/target/sparc/translate.c b/target/sparc/translate.c</div>
-<div>index 091bab5..bef9ce6 100644</div>
-<div>--- a/target/sparc/translate.c</div>
-<div>&#43;&#43;&#43; b/target/sparc/translate.c</div>
-<div>@@ -2019,7 &#43;2019,7 @@ static inline void gen_ne_fop_QD(DisasContext *dc, int rd, int rs,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_swap(DisasContext *dc, TCGv dst, TCGv src,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGv addr, int mmu_idx, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGv addr, int mmu_idx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_address_mask(dc, addr);</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_atomic_xchg_tl(dst, addr, src, mmu_idx, memop);</div>
-<div>@@ -2050,10 &#43;2050,10 @@ typedef struct {</div>
-<div>&nbsp; &nbsp; &nbsp;ASIType type;</div>
-<div>&nbsp; &nbsp; &nbsp;int asi;</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_idx;</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop;</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop;</div>
-<div>&nbsp;} DisasASI;</div>
-<div>&nbsp;</div>
-<div>-static DisasASI get_asi(DisasContext *dc, int insn, TCGMemOp memop)</div>
-<div>&#43;static DisasASI get_asi(DisasContext *dc, int insn, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int asi = GET_FIELD(insn, 19, 26);</div>
-<div>&nbsp; &nbsp; &nbsp;ASIType type = GET_ASI_HELPER;</div>
-<div>@@ -2267,7 &#43;2267,7 @@ static DisasASI get_asi(DisasContext *dc, int insn, TCGMemOp memop)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_ld_asi(DisasContext *dc, TCGv dst, TCGv addr,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int insn, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int insn, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;DisasASI da = get_asi(dc, insn, memop);</div>
-<div>&nbsp;</div>
-<div>@@ -2305,7 &#43;2305,7 @@ static void gen_ld_asi(DisasContext *dc, TCGv dst, TCGv addr,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_st_asi(DisasContext *dc, TCGv src, TCGv addr,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int insn, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int insn, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;DisasASI da = get_asi(dc, insn, memop);</div>
-<div>&nbsp;</div>
-<div>@@ -2511,7 &#43;2511,7 @@ static void gen_ldf_asi(DisasContext *dc, TCGv addr,</div>
-<div>&nbsp; &nbsp; &nbsp;case GET_ASI_BLOCK:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Valid for lddfa on aligned registers only. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 8 &amp;&amp; (rd &amp; 7) == 0) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv eight;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int i;</div>
-<div>&nbsp;</div>
-<div>@@ -2625,7 &#43;2625,7 @@ static void gen_stf_asi(DisasContext *dc, TCGv addr,</div>
-<div>&nbsp; &nbsp; &nbsp;case GET_ASI_BLOCK:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Valid for stdfa on aligned registers only. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 8 &amp;&amp; (rd &amp; 7) == 0) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv eight;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int i;</div>
-<div>&nbsp;</div>
-<div>diff --git a/target/tilegx/translate.c b/target/tilegx/translate.c</div>
-<div>index c46a4ab..68dd4aa 100644</div>
-<div>--- a/target/tilegx/translate.c</div>
-<div>&#43;&#43;&#43; b/target/tilegx/translate.c</div>
-<div>@@ -290,7 &#43;290,7 @@ static void gen_cmul2(TCGv tdest, TCGv tsrca, TCGv tsrcb, int sh, int rd)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static TileExcp gen_st_opcode(DisasContext *dc, unsigned dest, unsigned srca,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned srcb, TCGMemOp memop, const char *name)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned srcb, MemOp memop, const char *name)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (dest) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return TILEGX_EXCP_OPCODE_UNKNOWN;</div>
-<div>@@ -305,7 &#43;305,7 @@ static TileExcp gen_st_opcode(DisasContext *dc, unsigned dest, unsigned srca,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static TileExcp gen_st_add_opcode(DisasContext *dc, unsigned srca, unsigned srcb,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int imm, TCGMemOp memop, const char *name)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int imm, MemOp memop, const char *name)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv tsrca = load_gr(dc, srca);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv tsrcb = load_gr(dc, srcb);</div>
-<div>@@ -496,7 &#43;496,7 @@ static TileExcp gen_rr_opcode(DisasContext *dc, unsigned opext,</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv tdest, tsrca;</div>
-<div>&nbsp; &nbsp; &nbsp;const char *mnemonic;</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop;</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop;</div>
-<div>&nbsp; &nbsp; &nbsp;TileExcp ret = TILEGX_EXCP_NONE;</div>
-<div>&nbsp; &nbsp; &nbsp;bool prefetch_nofault = false;</div>
-<div>&nbsp;</div>
-<div>@@ -1478,7 &#43;1478,7 @@ static TileExcp gen_rri_opcode(DisasContext *dc, unsigned opext,</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv tsrca = load_gr(dc, srca);</div>
-<div>&nbsp; &nbsp; &nbsp;bool prefetch_nofault = false;</div>
-<div>&nbsp; &nbsp; &nbsp;const char *mnemonic;</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop;</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop;</div>
-<div>&nbsp; &nbsp; &nbsp;int i2, i3;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv t0;</div>
-<div>&nbsp;</div>
-<div>@@ -2106,7 &#43;2106,7 @@ static TileExcp decode_y2(DisasContext *dc, tilegx_bundle_bits bundle)</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned srca = get_SrcA_Y2(bundle);</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned srcbdest = get_SrcBDest_Y2(bundle);</div>
-<div>&nbsp; &nbsp; &nbsp;const char *mnemonic;</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop;</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop;</div>
-<div>&nbsp; &nbsp; &nbsp;bool prefetch_nofault = false;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (OEY2(opc, mode)) {</div>
-<div>diff --git a/target/tricore/translate.c b/target/tricore/translate.c</div>
-<div>index dc2a65f..87a5f50 100644</div>
-<div>--- a/target/tricore/translate.c</div>
-<div>&#43;&#43;&#43; b/target/tricore/translate.c</div>
-<div>@@ -227,7 &#43;227,7 @@ static inline void generate_trap(DisasContext *ctx, int class, int tin);</div>
-<div>&nbsp;/* Functions for load/save to/from memory */</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline void gen_offset_ld(DisasContext *ctx, TCGv r1, TCGv r2,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int16_t con, TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int16_t con, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv temp = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(temp, r2, con);</div>
-<div>@@ -236,7 &#43;236,7 @@ static inline void gen_offset_ld(DisasContext *ctx, TCGv r1, TCGv r2,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline void gen_offset_st(DisasContext *ctx, TCGv r1, TCGv r2,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int16_t con, TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int16_t con, MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv temp = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(temp, r2, con);</div>
-<div>@@ -284,7 &#43;284,7 @@ static void gen_offset_ld_2regs(TCGv rh, TCGv rl, TCGv base, int16_t con,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_st_preincr(DisasContext *ctx, TCGv r1, TCGv r2, int16_t off,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv temp = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(temp, r2, off);</div>
-<div>@@ -294,7 &#43;294,7 @@ static void gen_st_preincr(DisasContext *ctx, TCGv r1, TCGv r2, int16_t off,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_ld_preincr(DisasContext *ctx, TCGv r1, TCGv r2, int16_t off,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp mop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp mop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv temp = tcg_temp_new();</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(temp, r2, off);</div>
-<div>diff --git a/tcg/README b/tcg/README</div>
-<div>index 21fcdf7..b4382fa 100644</div>
-<div>--- a/tcg/README</div>
-<div>&#43;&#43;&#43; b/tcg/README</div>
-<div>@@ -512,7 &#43;512,7 @@ Both t0 and t1 may be split into little-endian ordered pairs of registers</div>
-<div>&nbsp;if dealing with 64-bit quantities on a 32-bit host.</div>
-<div>&nbsp;</div>
-<div>&nbsp;The memidx selects the qemu tlb index to use (e.g. user or kernel access).</div>
-<div>-The flags are the TCGMemOp bits, selecting the sign, width, and endianness</div>
-<div>&#43;The flags are the MemOp bits, selecting the sign, width, and endianness</div>
-<div>&nbsp;of the memory access.</div>
-<div>&nbsp;</div>
-<div>&nbsp;For a 32-bit host, qemu_ld/st_i64 is guaranteed to only be used with a</div>
-<div>diff --git a/tcg/aarch64/tcg-target.inc.c b/tcg/aarch64/tcg-target.inc.c</div>
-<div>index 0713448..3f92101 100644</div>
-<div>--- a/tcg/aarch64/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/aarch64/tcg-target.inc.c</div>
-<div>@@ -1423,7 &#43;1423,7 @@ static inline void tcg_out_rev16(TCGContext *s, TCGReg rd, TCGReg rn)</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_out_insn(s, 3507, REV16, TCG_TYPE_I32, rd, rn);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void tcg_out_sxt(TCGContext *s, TCGType ext, TCGMemOp s_bits,</div>
-<div>&#43;static inline void tcg_out_sxt(TCGContext *s, TCGType ext, MemOp s_bits,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg rd, TCGReg rn)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;/* Using ALIASes SXTB, SXTH, SXTW, of SBFM Xd, Xn, #0, #7|15|31 */</div>
-<div>@@ -1431,7 &#43;1431,7 @@ static inline void tcg_out_sxt(TCGContext *s, TCGType ext, TCGMemOp s_bits,</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_out_sbfm(s, ext, rd, rn, 0, bits);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void tcg_out_uxt(TCGContext *s, TCGMemOp s_bits,</div>
-<div>&#43;static inline void tcg_out_uxt(TCGContext *s, MemOp s_bits,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg rd, TCGReg rn)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;/* Using ALIASes UXTB, UXTH of UBFM Wd, Wn, #0, #7|15 */</div>
-<div>@@ -1580,8 &#43;1580,8 @@ static inline void tcg_out_adr(TCGContext *s, TCGReg rd, void *target)</div>
-<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>- &nbsp; &nbsp;TCGMemOp size = opc &amp; MO_SIZE;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp size = opc &amp; MO_SIZE;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc19(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false;</div>
-<div>@@ -1605,8 &#43;1605,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>- &nbsp; &nbsp;TCGMemOp size = opc &amp; MO_SIZE;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp size = opc &amp; MO_SIZE;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc19(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false;</div>
-<div>@@ -1649,7 &#43;1649,7 @@ QEMU_BUILD_BUG_ON(offsetof(CPUTLBDescFast, table) != 8);</div>
-<div>&nbsp; &nbsp; slow path for the failure case, which will be patched later when finalizing</div>
-<div>&nbsp; &nbsp; the slow path. Generated code returns the host addend in X1,</div>
-<div>&nbsp; &nbsp; clobbers X0,X2,X3,TMP. */</div>
-<div>-static void tcg_out_tlb_read(TCGContext *s, TCGReg addr_reg, TCGMemOp opc,</div>
-<div>&#43;static void tcg_out_tlb_read(TCGContext *s, TCGReg addr_reg, MemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcg_insn_unit **label_ptr, int mem_index,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bool is_read)</div>
-<div>&nbsp;{</div>
-<div>@@ -1709,11 &#43;1709,11 @@ static void tcg_out_tlb_read(TCGContext *s, TCGReg addr_reg, TCGMemOp opc,</div>
-<div>&nbsp;</div>
-<div>&nbsp;#endif /* CONFIG_SOFTMMU */</div>
-<div>&nbsp;</div>
-<div>-static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp memop, TCGType ext,</div>
-<div>&#43;static void tcg_out_qemu_ld_direct(TCGContext *s, MemOp memop, TCGType ext,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg data_r, TCGReg addr_r,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGType otype, TCGReg off_r)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;const TCGMemOp bswap = memop &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;const MemOp bswap = memop &amp; MO_BSWAP;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (memop &amp; MO_SSIZE) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UB:</div>
-<div>@@ -1765,11 &#43;1765,11 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp memop, TCGType ext,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp memop,</div>
-<div>&#43;static void tcg_out_qemu_st_direct(TCGContext *s, MemOp memop,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg data_r, TCGReg addr_r,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGType otype, TCGReg off_r)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;const TCGMemOp bswap = memop &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;const MemOp bswap = memop &amp; MO_BSWAP;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (memop &amp; MO_SIZE) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>
-<div>@@ -1804,7 &#43;1804,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp memop,</div>
-<div>&nbsp;static void tcg_out_qemu_ld(TCGContext *s, TCGReg data_reg, TCGReg addr_reg,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi, TCGType ext)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;const TCGType otype = TARGET_LONG_BITS == 64 ? TCG_TYPE_I64 : TCG_TYPE_I32;</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned mem_index = get_mmuidx(oi);</div>
-<div>@@ -1829,7 &#43;1829,7 @@ static void tcg_out_qemu_ld(TCGContext *s, TCGReg data_reg, TCGReg addr_reg,</div>
-<div>&nbsp;static void tcg_out_qemu_st(TCGContext *s, TCGReg data_reg, TCGReg addr_reg,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;const TCGType otype = TARGET_LONG_BITS == 64 ? TCG_TYPE_I64 : TCG_TYPE_I32;</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned mem_index = get_mmuidx(oi);</div>
-<div>diff --git a/tcg/arm/tcg-target.inc.c b/tcg/arm/tcg-target.inc.c</div>
-<div>index ece88dc..94d80d7 100644</div>
-<div>--- a/tcg/arm/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/arm/tcg-target.inc.c</div>
-<div>@@ -1233,7 &#43;1233,7 @@ QEMU_BUILD_BUG_ON(offsetof(CPUTLBDescFast, table) != 4);</div>
-<div>&nbsp; &nbsp; containing the addend of the tlb entry. &nbsp;Clobbers R0, R1, R2, TMP. &nbsp;*/</div>
-<div>&nbsp;</div>
-<div>&nbsp;static TCGReg tcg_out_tlb_read(TCGContext *s, TCGReg addrlo, TCGReg addrhi,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp opc, int mem_index, bool is_load)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp opc, int mem_index, bool is_load)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int cmp_off = (is_load ? offsetof(CPUTLBEntry, addr_read)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : offsetof(CPUTLBEntry, addr_write));</div>
-<div>@@ -1348,7 &#43;1348,7 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg argreg, datalo, datahi;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;void *func;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc24(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>
-<div>@@ -1412,7 &#43;1412,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg argreg, datalo, datahi;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc24(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false;</div>
-<div>@@ -1453,11 &#43;1453,11 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;#endif /* SOFTMMU */</div>
-<div>&nbsp;</div>
-<div>-static inline void tcg_out_qemu_ld_index(TCGContext *s, TCGMemOp opc,</div>
-<div>&#43;static inline void tcg_out_qemu_ld_index(TCGContext *s, MemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg datalo, TCGReg datahi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrlo, TCGReg addend)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;MemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SSIZE) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UB:</div>
-<div>@@ -1514,11 &#43;1514,11 @@ static inline void tcg_out_qemu_ld_index(TCGContext *s, TCGMemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp opc,</div>
-<div>&#43;static inline void tcg_out_qemu_ld_direct(TCGContext *s, MemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGReg datalo, TCGReg datahi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGReg addrlo)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;MemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SSIZE) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UB:</div>
-<div>@@ -1577,7 &#43;1577,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is64)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addrlo, datalo, datahi, addrhi __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc;</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addend;</div>
-<div>@@ -1614,11 &#43;1614,11 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is64)</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void tcg_out_qemu_st_index(TCGContext *s, int cond, TCGMemOp opc,</div>
-<div>&#43;static inline void tcg_out_qemu_st_index(TCGContext *s, int cond, MemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg datalo, TCGReg datahi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrlo, TCGReg addend)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;MemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SIZE) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>
-<div>@@ -1659,11 &#43;1659,11 @@ static inline void tcg_out_qemu_st_index(TCGContext *s, int cond, TCGMemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp opc,</div>
-<div>&#43;static inline void tcg_out_qemu_st_direct(TCGContext *s, MemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGReg datalo, TCGReg datahi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGReg addrlo)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;MemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SIZE) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>
-<div>@@ -1708,7 &#43;1708,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is64)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addrlo, datalo, datahi, addrhi __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc;</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addend;</div>
-<div>diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c</div>
-<div>index 6ddeebf..9d8ed97 100644</div>
-<div>--- a/tcg/i386/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/i386/tcg-target.inc.c</div>
-<div>@@ -1697,7 &#43;1697,7 @@ static void * const qemu_st_helpers[16] = {</div>
-<div>&nbsp; &nbsp; First argument register is clobbered. &nbsp;*/</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline void tcg_out_tlb_load(TCGContext *s, TCGReg addrlo, TCGReg addrhi,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int mem_index, TCGMemOp opc,</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int mem_index, MemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_insn_unit **label_ptr, int which)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;const TCGReg r0 = TCG_REG_L0;</div>
-<div>@@ -1810,7 &#43;1810,7 @@ static void add_qemu_ldst_label(TCGContext *s, bool is_ld, bool is_64,</div>
-<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg data_reg;</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit **label_ptr = &amp;l-&gt;label_ptr[0];</div>
-<div>&nbsp; &nbsp; &nbsp;int rexw = (l-&gt;type == TCG_TYPE_I64 ? P_REXW : 0);</div>
-<div>@@ -1895,8 &#43;1895,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>- &nbsp; &nbsp;TCGMemOp s_bits = opc &amp; MO_SIZE;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp s_bits = opc &amp; MO_SIZE;</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit **label_ptr = &amp;l-&gt;label_ptr[0];</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg retaddr;</div>
-<div>&nbsp;</div>
-<div>@@ -1995,10 &#43;1995,10 @@ static inline int setup_guest_base_seg(void)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void tcg_out_qemu_ld_direct(TCGContext *s, TCGReg datalo, TCGReg datahi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, int index, intptr_t ofs,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int seg, bool is64, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int seg, bool is64, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;const TCGMemOp real_bswap = memop &amp; MO_BSWAP;</div>
-<div>- &nbsp; &nbsp;TCGMemOp bswap = real_bswap;</div>
-<div>&#43; &nbsp; &nbsp;const MemOp real_bswap = memop &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;MemOp bswap = real_bswap;</div>
-<div>&nbsp; &nbsp; &nbsp;int rexw = is64 * P_REXW;</div>
-<div>&nbsp; &nbsp; &nbsp;int movop = OPC_MOVL_GvEv;</div>
-<div>&nbsp;</div>
-<div>@@ -2103,7 &#43;2103,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is64)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg datalo, datahi, addrlo;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addrhi __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc;</div>
-<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[2];</div>
-<div>@@ -2137,15 &#43;2137,15 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is64)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg datalo, TCGReg datahi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, int index, intptr_t ofs,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int seg, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int seg, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;/* ??? Ideally we wouldn't need a scratch register. &nbsp;For user-only,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; we could perform the bswap twice to restore the original value</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; instead of moving to the scratch. &nbsp;But as it is, the L constraint</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; means that TCG_REG_L0 is definitely free here. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp;const TCGReg scratch = TCG_REG_L0;</div>
-<div>- &nbsp; &nbsp;const TCGMemOp real_bswap = memop &amp; MO_BSWAP;</div>
-<div>- &nbsp; &nbsp;TCGMemOp bswap = real_bswap;</div>
-<div>&#43; &nbsp; &nbsp;const MemOp real_bswap = memop &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;MemOp bswap = real_bswap;</div>
-<div>&nbsp; &nbsp; &nbsp;int movop = OPC_MOVL_EvGv;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (have_movbe &amp;&amp; real_bswap) {</div>
-<div>@@ -2221,7 &#43;2221,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is64)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg datalo, datahi, addrlo;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addrhi __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc;</div>
-<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[2];</div>
-<div>diff --git a/tcg/mips/tcg-target.inc.c b/tcg/mips/tcg-target.inc.c</div>
-<div>index 41bff32..5442167 100644</div>
-<div>--- a/tcg/mips/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/mips/tcg-target.inc.c</div>
-<div>@@ -1215,7 &#43;1215,7 @@ static void tcg_out_tlb_load(TCGContext *s, TCGReg base, TCGReg addrl,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrh, TCGMemOpIdx oi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcg_insn_unit *label_ptr[2], bool is_load)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned s_bits = opc &amp; MO_SIZE;</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned a_bits = get_alignment_bits(opc);</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_index = get_mmuidx(oi);</div>
-<div>@@ -1313,7 &#43;1313,7 @@ static void add_qemu_ldst_label(TCGContext *s, int is_ld, TCGMemOpIdx oi,</div>
-<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg v0;</div>
-<div>&nbsp; &nbsp; &nbsp;int i;</div>
-<div>&nbsp;</div>
-<div>@@ -1363,8 &#43;1363,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>- &nbsp; &nbsp;TCGMemOp s_bits = opc &amp; MO_SIZE;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp s_bits = opc &amp; MO_SIZE;</div>
-<div>&nbsp; &nbsp; &nbsp;int i;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* resolve label address */</div>
-<div>@@ -1413,7 &#43;1413,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void tcg_out_qemu_ld_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGMemOp opc, bool is_64)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, MemOp opc, bool is_64)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; (MO_SSIZE | MO_BSWAP)) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UB:</div>
-<div>@@ -1521,7 &#43;1521,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addr_regl, addr_regh __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg data_regl, data_regh;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc;</div>
-<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[2];</div>
-<div>&nbsp;#endif</div>
-<div>@@ -1558,7 &#43;1558,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGMemOp opc)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, MemOp opc)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;/* Don't clutter the code below with checks to avoid bswapping ZERO. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp;if ((lo | hi) == 0) {</div>
-<div>@@ -1624,7 &#43;1624,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addr_regl, addr_regh __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg data_regl, data_regh;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc;</div>
-<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[2];</div>
-<div>&nbsp;#endif</div>
-<div>diff --git a/tcg/optimize.c b/tcg/optimize.c</div>
-<div>index d2424de..a89ffda 100644</div>
-<div>--- a/tcg/optimize.c</div>
-<div>&#43;&#43;&#43; b/tcg/optimize.c</div>
-<div>@@ -1014,7 &#43;1014,7 @@ void tcg_optimize(TCGContext *s)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CASE_OP_32_64(qemu_ld):</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = op-&gt;args[nb_oargs &#43; nb_iargs];</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp mop = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp mop = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!(mop &amp; MO_SIGN)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mask = (2ULL &lt;&lt; ((8 &lt;&lt; (mop &amp; MO_SIZE)) - 1)) - 1;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>diff --git a/tcg/ppc/tcg-target.inc.c b/tcg/ppc/tcg-target.inc.c</div>
-<div>index 852b894..815edac 100644</div>
-<div>--- a/tcg/ppc/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/ppc/tcg-target.inc.c</div>
-<div>@@ -1506,7 &#43;1506,7 @@ QEMU_BUILD_BUG_ON(TLB_MASK_TABLE_OFS(0) &lt; -32768);</div>
-<div>&nbsp; &nbsp; in CR7, loads the addend of the TLB into R3, and returns the register</div>
-<div>&nbsp; &nbsp; containing the guest address (zero-extended into R4). &nbsp;Clobbers R0 and R2. */</div>
-<div>&nbsp;</div>
-<div>-static TCGReg tcg_out_tlb_read(TCGContext *s, TCGMemOp opc,</div>
-<div>&#43;static TCGReg tcg_out_tlb_read(TCGContext *s, MemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrlo, TCGReg addrhi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int mem_index, bool is_read)</div>
-<div>&nbsp;{</div>
-<div>@@ -1633,7 &#43;1633,7 @@ static void add_qemu_ldst_label(TCGContext *s, bool is_ld, TCGMemOpIdx oi,</div>
-<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg hi, lo, arg = TCG_REG_R3;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc14(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>
-<div>@@ -1680,8 &#43;1680,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>- &nbsp; &nbsp;TCGMemOp s_bits = opc &amp; MO_SIZE;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp s_bits = opc &amp; MO_SIZE;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg hi, lo, arg = TCG_REG_R3;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc14(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>
-<div>@@ -1744,7 &#43;1744,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg datalo, datahi, addrlo, rbase;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addrhi __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc, s_bits;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc, s_bits;</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr;</div>
-<div>@@ -1819,7 &#43;1819,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg datalo, datahi, addrlo, rbase;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addrhi __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc, s_bits;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc, s_bits;</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr;</div>
-<div>diff --git a/tcg/riscv/tcg-target.inc.c b/tcg/riscv/tcg-target.inc.c</div>
-<div>index 3e76bf5..7018509 100644</div>
-<div>--- a/tcg/riscv/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/riscv/tcg-target.inc.c</div>
-<div>@@ -970,7 &#43;970,7 @@ static void tcg_out_tlb_load(TCGContext *s, TCGReg addrl,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrh, TCGMemOpIdx oi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcg_insn_unit **label_ptr, bool is_load)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned s_bits = opc &amp; MO_SIZE;</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned a_bits = get_alignment_bits(opc);</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_target_long compare_mask;</div>
-<div>@@ -1044,7 &#43;1044,7 @@ static void add_qemu_ldst_label(TCGContext *s, int is_ld, TCGMemOpIdx oi,</div>
-<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg a0 = tcg_target_call_iarg_regs[0];</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg a1 = tcg_target_call_iarg_regs[1];</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg a2 = tcg_target_call_iarg_regs[2];</div>
-<div>@@ -1077,8 &#43;1077,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>- &nbsp; &nbsp;TCGMemOp s_bits = opc &amp; MO_SIZE;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp s_bits = opc &amp; MO_SIZE;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg a0 = tcg_target_call_iarg_regs[0];</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg a1 = tcg_target_call_iarg_regs[1];</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg a2 = tcg_target_call_iarg_regs[2];</div>
-<div>@@ -1121,9 &#43;1121,9 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp;#endif /* CONFIG_SOFTMMU */</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void tcg_out_qemu_ld_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGMemOp opc, bool is_64)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, MemOp opc, bool is_64)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;const TCGMemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;const MemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* We don't yet handle byteswapping, assert */</div>
-<div>&nbsp; &nbsp; &nbsp;g_assert(!bswap);</div>
-<div>@@ -1172,7 &#43;1172,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addr_regl, addr_regh __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg data_regl, data_regh;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc;</div>
-<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[1];</div>
-<div>&nbsp;#endif</div>
-<div>@@ -1208,9 &#43;1208,9 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGMemOp opc)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, MemOp opc)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;const TCGMemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&#43; &nbsp; &nbsp;const MemOp bswap = opc &amp; MO_BSWAP;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* We don't yet handle byteswapping, assert */</div>
-<div>&nbsp; &nbsp; &nbsp;g_assert(!bswap);</div>
-<div>@@ -1243,7 &#43;1243,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addr_regl, addr_regh __attribute__((unused));</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg data_regl, data_regh;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc;</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc;</div>
-<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[1];</div>
-<div>&nbsp;#endif</div>
-<div>diff --git a/tcg/s390/tcg-target.inc.c b/tcg/s390/tcg-target.inc.c</div>
-<div>index fe42939..8aaa4ce 100644</div>
-<div>--- a/tcg/s390/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/s390/tcg-target.inc.c</div>
-<div>@@ -1430,7 &#43;1430,7 @@ static void tcg_out_call(TCGContext *s, tcg_insn_unit *dest)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp opc, TCGReg data,</div>
-<div>&#43;static void tcg_out_qemu_ld_direct(TCGContext *s, MemOp opc, TCGReg data,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGReg index, int disp)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; (MO_SSIZE | MO_BSWAP)) {</div>
-<div>@@ -1489,7 &#43;1489,7 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp opc, TCGReg data,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp opc, TCGReg data,</div>
-<div>&#43;static void tcg_out_qemu_st_direct(TCGContext *s, MemOp opc, TCGReg data,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGReg index, int disp)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; (MO_SIZE | MO_BSWAP)) {</div>
-<div>@@ -1544,7 &#43;1544,7 @@ QEMU_BUILD_BUG_ON(TLB_MASK_TABLE_OFS(0) &lt; -(1 &lt;&lt; 19));</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Load and compare a TLB entry, leaving the flags set. &nbsp;Loads the TLB</div>
-<div>&nbsp; &nbsp; addend into R2. &nbsp;Returns a register with the santitized guest address. &nbsp;*/</div>
-<div>-static TCGReg tcg_out_tlb_read(TCGContext* s, TCGReg addr_reg, TCGMemOp opc,</div>
-<div>&#43;static TCGReg tcg_out_tlb_read(TCGContext *s, TCGReg addr_reg, MemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int mem_index, bool is_ld)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned s_bits = opc &amp; MO_SIZE;</div>
-<div>@@ -1614,7 &#43;1614,7 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addr_reg = lb-&gt;addrlo_reg;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg data_reg = lb-&gt;datalo_reg;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (!patch_reloc(lb-&gt;label_ptr[0], R_390_PC16DBL,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (intptr_t)s-&gt;code_ptr, 2)) {</div>
-<div>@@ -1639,7 &#43;1639,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addr_reg = lb-&gt;addrlo_reg;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg data_reg = lb-&gt;datalo_reg;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (!patch_reloc(lb-&gt;label_ptr[0], R_390_PC16DBL,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (intptr_t)s-&gt;code_ptr, 2)) {</div>
-<div>@@ -1694,7 &#43;1694,7 @@ static void tcg_prepare_user_ldst(TCGContext *s, TCGReg *addr_reg,</div>
-<div>&nbsp;static void tcg_out_qemu_ld(TCGContext* s, TCGReg data_reg, TCGReg addr_reg,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned mem_index = get_mmuidx(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr;</div>
-<div>@@ -1721,7 &#43;1721,7 @@ static void tcg_out_qemu_ld(TCGContext* s, TCGReg data_reg, TCGReg addr_reg,</div>
-<div>&nbsp;static void tcg_out_qemu_st(TCGContext* s, TCGReg data_reg, TCGReg addr_reg,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned mem_index = get_mmuidx(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr;</div>
-<div>diff --git a/tcg/sparc/tcg-target.inc.c b/tcg/sparc/tcg-target.inc.c</div>
-<div>index 10b1cea..d7986cd 100644</div>
-<div>--- a/tcg/sparc/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/sparc/tcg-target.inc.c</div>
-<div>@@ -1081,7 &#43;1081,7 @@ QEMU_BUILD_BUG_ON(TLB_MASK_TABLE_OFS(0) &lt; -(1 &lt;&lt; 12));</div>
-<div>&nbsp; &nbsp; is in the returned register, maybe %o0. &nbsp;The TLB addend is in %o1. &nbsp;*/</div>
-<div>&nbsp;</div>
-<div>&nbsp;static TCGReg tcg_out_tlb_load(TCGContext *s, TCGReg addr, int mem_index,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp opc, int which)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp opc, int which)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;int fast_off = TLB_MASK_TABLE_OFS(mem_index);</div>
-<div>&nbsp; &nbsp; &nbsp;int mask_off = fast_off &#43; offsetof(CPUTLBDescFast, mask);</div>
-<div>@@ -1164,7 &#43;1164,7 @@ static const int qemu_st_opc[16] = {</div>
-<div>&nbsp;static void tcg_out_qemu_ld(TCGContext *s, TCGReg data, TCGReg addr,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi, bool is_64)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop = get_memop(oi);</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned memi = get_mmuidx(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addrz, param;</div>
-<div>@@ -1246,7 &#43;1246,7 @@ static void tcg_out_qemu_ld(TCGContext *s, TCGReg data, TCGReg addr,</div>
-<div>&nbsp;static void tcg_out_qemu_st(TCGContext *s, TCGReg data, TCGReg addr,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp memop = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp;MemOp memop = get_memop(oi);</div>
-<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned memi = get_mmuidx(oi);</div>
-<div>&nbsp; &nbsp; &nbsp;TCGReg addrz, param;</div>
-<div>diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c</div>
-<div>index 587d092..e87c327 100644</div>
-<div>--- a/tcg/tcg-op.c</div>
-<div>&#43;&#43;&#43; b/tcg/tcg-op.c</div>
-<div>@@ -2714,7 &#43;2714,7 @@ void tcg_gen_lookup_and_goto_ptr(void)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline TCGMemOp tcg_canonicalize_memop(TCGMemOp op, bool is64, bool st)</div>
-<div>&#43;static inline MemOp tcg_canonicalize_memop(MemOp op, bool is64, bool st)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;/* Trigger the asserts within as early as possible. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp;(void)get_alignment_bits(op);</div>
-<div>@@ -2743,7 &#43;2743,7 @@ static inline TCGMemOp tcg_canonicalize_memop(TCGMemOp op, bool is64, bool st)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_ldst_i32(TCGOpcode opc, TCGv_i32 val, TCGv addr,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop, TCGArg idx)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop, TCGArg idx)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = make_memop_idx(memop, idx);</div>
-<div>&nbsp;#if TARGET_LONG_BITS == 32</div>
-<div>@@ -2758,7 &#43;2758,7 @@ static void gen_ldst_i32(TCGOpcode opc, TCGv_i32 val, TCGv addr,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_ldst_i64(TCGOpcode opc, TCGv_i64 val, TCGv addr,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop, TCGArg idx)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop, TCGArg idx)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = make_memop_idx(memop, idx);</div>
-<div>&nbsp;#if TARGET_LONG_BITS == 32</div>
-<div>@@ -2788,9 &#43;2788,9 @@ static void tcg_gen_req_mo(TCGBar type)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-void tcg_gen_qemu_ld_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&#43;void tcg_gen_qemu_ld_i32(TCGv_i32 val, TCGv addr, TCGArg idx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp orig_memop;</div>
-<div>&#43; &nbsp; &nbsp;MemOp orig_memop;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_req_mo(TCG_MO_LD_LD | TCG_MO_ST_LD);</div>
-<div>&nbsp; &nbsp; &nbsp;memop = tcg_canonicalize_memop(memop, 0, 0);</div>
-<div>@@ -2825,7 &#43;2825,7 @@ void tcg_gen_qemu_ld_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-void tcg_gen_qemu_st_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&#43;void tcg_gen_qemu_st_i32(TCGv_i32 val, TCGv addr, TCGArg idx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 swap = NULL;</div>
-<div>&nbsp;</div>
-<div>@@ -2858,9 &#43;2858,9 @@ void tcg_gen_qemu_st_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-void tcg_gen_qemu_ld_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&#43;void tcg_gen_qemu_ld_i64(TCGv_i64 val, TCGv addr, TCGArg idx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;TCGMemOp orig_memop;</div>
-<div>&#43; &nbsp; &nbsp;MemOp orig_memop;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;if (TCG_TARGET_REG_BITS == 32 &amp;&amp; (memop &amp; MO_SIZE) &lt; MO_64) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_i32(TCGV_LOW(val), addr, idx, memop);</div>
-<div>@@ -2911,7 &#43;2911,7 @@ void tcg_gen_qemu_ld_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-void tcg_gen_qemu_st_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&#43;void tcg_gen_qemu_st_i64(TCGv_i64 val, TCGv addr, TCGArg idx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 swap = NULL;</div>
-<div>&nbsp;</div>
-<div>@@ -2953,7 &#43;2953,7 @@ void tcg_gen_qemu_st_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void tcg_gen_ext_i32(TCGv_i32 ret, TCGv_i32 val, TCGMemOp opc)</div>
-<div>&#43;static void tcg_gen_ext_i32(TCGv_i32 ret, TCGv_i32 val, MemOp opc)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SSIZE) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_SB:</div>
-<div>@@ -2974,7 &#43;2974,7 @@ static void tcg_gen_ext_i32(TCGv_i32 ret, TCGv_i32 val, TCGMemOp opc)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static void tcg_gen_ext_i64(TCGv_i64 ret, TCGv_i64 val, TCGMemOp opc)</div>
-<div>&#43;static void tcg_gen_ext_i64(TCGv_i64 ret, TCGv_i64 val, MemOp opc)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SSIZE) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_SB:</div>
-<div>@@ -3034,7 &#43;3034,7 @@ static void * const table_cmpxchg[16] = {</div>
-<div>&nbsp;};</div>
-<div>&nbsp;</div>
-<div>&nbsp;void tcg_gen_atomic_cmpxchg_i32(TCGv_i32 retv, TCGv addr, TCGv_i32 cmpv,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 newv, TCGArg idx, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 newv, TCGArg idx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;memop = tcg_canonicalize_memop(memop, 0, 0);</div>
-<div>&nbsp;</div>
-<div>@@ -3078,7 &#43;3078,7 @@ void tcg_gen_atomic_cmpxchg_i32(TCGv_i32 retv, TCGv addr, TCGv_i32 cmpv,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;void tcg_gen_atomic_cmpxchg_i64(TCGv_i64 retv, TCGv addr, TCGv_i64 cmpv,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 newv, TCGArg idx, TCGMemOp memop)</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 newv, TCGArg idx, MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;memop = tcg_canonicalize_memop(memop, 1, 0);</div>
-<div>&nbsp;</div>
-<div>@@ -3142,7 &#43;3142,7 @@ void tcg_gen_atomic_cmpxchg_i64(TCGv_i64 retv, TCGv addr, TCGv_i64 cmpv,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void do_nonatomic_op_i32(TCGv_i32 ret, TCGv addr, TCGv_i32 val,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg idx, TCGMemOp memop, bool new_val,</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg idx, MemOp memop, bool new_val,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void (*gen)(TCGv_i32, TCGv_i32, TCGv_i32))</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 t1 = tcg_temp_new_i32();</div>
-<div>@@ -3160,7 &#43;3160,7 @@ static void do_nonatomic_op_i32(TCGv_i32 ret, TCGv addr, TCGv_i32 val,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void do_atomic_op_i32(TCGv_i32 ret, TCGv addr, TCGv_i32 val,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGArg idx, TCGMemOp memop, void * const table[])</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGArg idx, MemOp memop, void * const table[])</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;gen_atomic_op_i32 gen;</div>
-<div>&nbsp;</div>
-<div>@@ -3185,7 &#43;3185,7 @@ static void do_atomic_op_i32(TCGv_i32 ret, TCGv addr, TCGv_i32 val,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void do_nonatomic_op_i64(TCGv_i64 ret, TCGv addr, TCGv_i64 val,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg idx, TCGMemOp memop, bool new_val,</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg idx, MemOp memop, bool new_val,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void (*gen)(TCGv_i64, TCGv_i64, TCGv_i64))</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i64 t1 = tcg_temp_new_i64();</div>
-<div>@@ -3203,7 &#43;3203,7 @@ static void do_nonatomic_op_i64(TCGv_i64 ret, TCGv addr, TCGv_i64 val,</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void do_atomic_op_i64(TCGv_i64 ret, TCGv addr, TCGv_i64 val,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGArg idx, TCGMemOp memop, void * const table[])</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGArg idx, MemOp memop, void * const table[])</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;memop = tcg_canonicalize_memop(memop, 1, 0);</div>
-<div>&nbsp;</div>
-<div>@@ -3257,7 &#43;3257,7 @@ static void * const table_##NAME[16] = { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&nbsp; &nbsp; &nbsp;WITH_ATOMIC64([MO_64 | MO_BE] = gen_helper_atomic_##NAME##q_be) &nbsp; &nbsp; \</div>
-<div>&nbsp;}; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&nbsp;void tcg_gen_atomic_##NAME##_i32 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>- &nbsp; &nbsp;(TCGv_i32 ret, TCGv addr, TCGv_i32 val, TCGArg idx, TCGMemOp memop) \</div>
-<div>&#43; &nbsp; &nbsp;(TCGv_i32 ret, TCGv addr, TCGv_i32 val, TCGArg idx, MemOp memop) &nbsp; &nbsp;\</div>
-<div>&nbsp;{ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp;if (tcg_ctx-&gt;tb_cflags &amp; CF_PARALLEL) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;do_atomic_op_i32(ret, addr, val, idx, memop, table_##NAME); &nbsp; &nbsp; \</div>
-<div>@@ -3267,7 &#43;3267,7 @@ void tcg_gen_atomic_##NAME##_i32 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&nbsp; &nbsp; &nbsp;} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp;} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp;void tcg_gen_atomic_##NAME##_i64 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>- &nbsp; &nbsp;(TCGv_i64 ret, TCGv addr, TCGv_i64 val, TCGArg idx, TCGMemOp memop) \</div>
-<div>&#43; &nbsp; &nbsp;(TCGv_i64 ret, TCGv addr, TCGv_i64 val, TCGArg idx, MemOp memop) &nbsp; &nbsp;\</div>
-<div>&nbsp;{ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp;if (tcg_ctx-&gt;tb_cflags &amp; CF_PARALLEL) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;do_atomic_op_i64(ret, addr, val, idx, memop, table_##NAME); &nbsp; &nbsp; \</div>
-<div>diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h</div>
-<div>index 2d4dd5c..e9cf172 100644</div>
-<div>--- a/tcg/tcg-op.h</div>
-<div>&#43;&#43;&#43; b/tcg/tcg-op.h</div>
-<div>@@ -851,10 &#43;851,10 @@ void tcg_gen_lookup_and_goto_ptr(void);</div>
-<div>&nbsp;#define tcg_gen_qemu_st_tl tcg_gen_qemu_st_i64</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp;</div>
-<div>-void tcg_gen_qemu_ld_i32(TCGv_i32, TCGv, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_qemu_st_i32(TCGv_i32, TCGv, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_qemu_ld_i64(TCGv_i64, TCGv, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_qemu_st_i64(TCGv_i64, TCGv, TCGArg, TCGMemOp);</div>
-<div>&#43;void tcg_gen_qemu_ld_i32(TCGv_i32, TCGv, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_qemu_st_i32(TCGv_i32, TCGv, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_qemu_ld_i64(TCGv_i64, TCGv, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_qemu_st_i64(TCGv_i64, TCGv, TCGArg, MemOp);</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline void tcg_gen_qemu_ld8u(TCGv ret, TCGv addr, int mem_index)</div>
-<div>&nbsp;{</div>
-<div>@@ -912,46 &#43;912,46 @@ static inline void tcg_gen_qemu_st64(TCGv_i64 arg, TCGv addr, int mem_index)</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;void tcg_gen_atomic_cmpxchg_i32(TCGv_i32, TCGv, TCGv_i32, TCGv_i32,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg, TCGMemOp);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg, MemOp);</div>
-<div>&nbsp;void tcg_gen_atomic_cmpxchg_i64(TCGv_i64, TCGv, TCGv_i64, TCGv_i64,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg, TCGMemOp);</div>
-<div>-</div>
-<div>-void tcg_gen_atomic_xchg_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_xchg_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-</div>
-<div>-void tcg_gen_atomic_fetch_add_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_add_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_and_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_and_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_or_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_or_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_xor_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_xor_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_smin_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_smin_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_umin_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_umin_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_smax_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_smax_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_umax_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_fetch_umax_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-</div>
-<div>-void tcg_gen_atomic_add_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_add_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_and_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_and_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_or_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_or_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_xor_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_xor_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_smin_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_smin_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_umin_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_umin_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_smax_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_smax_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_umax_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>
-<div>-void tcg_gen_atomic_umax_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg, MemOp);</div>
-<div>&#43;</div>
-<div>&#43;void tcg_gen_atomic_xchg_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_xchg_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;</div>
-<div>&#43;void tcg_gen_atomic_fetch_add_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_add_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_and_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_and_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_or_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_or_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_xor_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_xor_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_smin_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_smin_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_umin_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_umin_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_smax_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_smax_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_umax_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_fetch_umax_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;</div>
-<div>&#43;void tcg_gen_atomic_add_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_add_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_and_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_and_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_or_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_or_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_xor_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_xor_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_smin_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_smin_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_umin_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_umin_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_smax_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_smax_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_umax_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>
-<div>&#43;void tcg_gen_atomic_umax_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>
-<div>&nbsp;</div>
-<div>&nbsp;void tcg_gen_mov_vec(TCGv_vec, TCGv_vec);</div>
-<div>&nbsp;void tcg_gen_dup_i32_vec(unsigned vece, TCGv_vec, TCGv_i32);</div>
-<div>diff --git a/tcg/tcg.c b/tcg/tcg.c</div>
-<div>index 8d23fb0..0dff196 100644</div>
-<div>--- a/tcg/tcg.c</div>
-<div>&#43;&#43;&#43; b/tcg/tcg.c</div>
-<div>@@ -2056,7 &#43;2056,7 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case INDEX_op_qemu_st_i64:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = op-&gt;args[k&#43;&#43;];</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp op = get_memop(oi);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp op = get_memop(oi);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned ix = get_mmuidx(oi);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (op &amp; ~(MO_AMASK | MO_BSWAP | MO_SSIZE)) {</div>
-<div>diff --git a/tcg/tcg.h b/tcg/tcg.h</div>
-<div>index 529acb2..a37181c 100644</div>
-<div>--- a/tcg/tcg.h</div>
-<div>&#43;&#43;&#43; b/tcg/tcg.h</div>
-<div>@@ -26,6 &#43;26,7 @@</div>
-<div>&nbsp;#define TCG_H</div>
-<div>&nbsp;</div>
-<div>&nbsp;#include &quot;cpu.h&quot;</div>
-<div>&#43;#include &quot;exec/memop.h&quot;</div>
-<div>&nbsp;#include &quot;exec/tb-context.h&quot;</div>
-<div>&nbsp;#include &quot;qemu/bitops.h&quot;</div>
-<div>&nbsp;#include &quot;qemu/queue.h&quot;</div>
-<div>@@ -309,103 &#43;310,13 @@ typedef enum TCGType {</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp;} TCGType;</div>
-<div>&nbsp;</div>
-<div>-/* Constants for qemu_ld and qemu_st for the Memory Operation field. &nbsp;*/</div>
-<div>-typedef enum TCGMemOp {</div>
-<div>- &nbsp; &nbsp;MO_8 &nbsp; &nbsp; = 0,</div>
-<div>- &nbsp; &nbsp;MO_16 &nbsp; &nbsp;= 1,</div>
-<div>- &nbsp; &nbsp;MO_32 &nbsp; &nbsp;= 2,</div>
-<div>- &nbsp; &nbsp;MO_64 &nbsp; &nbsp;= 3,</div>
-<div>- &nbsp; &nbsp;MO_SIZE &nbsp;= 3, &nbsp; /* Mask for the above. &nbsp;*/</div>
-<div>-</div>
-<div>- &nbsp; &nbsp;MO_SIGN &nbsp;= 4, &nbsp; /* Sign-extended, otherwise zero-extended. &nbsp;*/</div>
-<div>-</div>
-<div>- &nbsp; &nbsp;MO_BSWAP = 8, &nbsp; /* Host reverse endian. &nbsp;*/</div>
-<div>-#ifdef HOST_WORDS_BIGENDIAN</div>
-<div>- &nbsp; &nbsp;MO_LE &nbsp; &nbsp;= MO_BSWAP,</div>
-<div>- &nbsp; &nbsp;MO_BE &nbsp; &nbsp;= 0,</div>
-<div>-#else</div>
-<div>- &nbsp; &nbsp;MO_LE &nbsp; &nbsp;= 0,</div>
-<div>- &nbsp; &nbsp;MO_BE &nbsp; &nbsp;= MO_BSWAP,</div>
-<div>-#endif</div>
-<div>-#ifdef TARGET_WORDS_BIGENDIAN</div>
-<div>- &nbsp; &nbsp;MO_TE &nbsp; &nbsp;= MO_BE,</div>
-<div>-#else</div>
-<div>- &nbsp; &nbsp;MO_TE &nbsp; &nbsp;= MO_LE,</div>
-<div>-#endif</div>
-<div>-</div>
-<div>- &nbsp; &nbsp;/*</div>
-<div>- &nbsp; &nbsp; * MO_UNALN accesses are never checked for alignment.</div>
-<div>- &nbsp; &nbsp; * MO_ALIGN accesses will result in a call to the CPU's</div>
-<div>- &nbsp; &nbsp; * do_unaligned_access hook if the guest address is not aligned.</div>
-<div>- &nbsp; &nbsp; * The default depends on whether the target CPU defines</div>
-<div>- &nbsp; &nbsp; * TARGET_ALIGNED_ONLY.</div>
-<div>- &nbsp; &nbsp; *</div>
-<div>- &nbsp; &nbsp; * Some architectures (e.g. ARMv8) need the address which is aligned</div>
-<div>- &nbsp; &nbsp; * to a size more than the size of the memory access.</div>
-<div>- &nbsp; &nbsp; * Some architectures (e.g. SPARCv9) need an address which is aligned,</div>
-<div>- &nbsp; &nbsp; * but less strictly than the natural alignment.</div>
-<div>- &nbsp; &nbsp; *</div>
-<div>- &nbsp; &nbsp; * MO_ALIGN supposes the alignment size is the size of a memory access.</div>
-<div>- &nbsp; &nbsp; *</div>
-<div>- &nbsp; &nbsp; * There are three options:</div>
-<div>- &nbsp; &nbsp; * - unaligned access permitted (MO_UNALN).</div>
-<div>- &nbsp; &nbsp; * - an alignment to the size of an access (MO_ALIGN);</div>
-<div>- &nbsp; &nbsp; * - an alignment to a specified size, which may be more or less than</div>
-<div>- &nbsp; &nbsp; * &nbsp; the access size (MO_ALIGN_x where 'x' is a size in bytes);</div>
-<div>- &nbsp; &nbsp; */</div>
-<div>- &nbsp; &nbsp;MO_ASHIFT = 4,</div>
-<div>- &nbsp; &nbsp;MO_AMASK = 7 &lt;&lt; MO_ASHIFT,</div>
-<div>-#ifdef TARGET_ALIGNED_ONLY</div>
-<div>- &nbsp; &nbsp;MO_ALIGN = 0,</div>
-<div>- &nbsp; &nbsp;MO_UNALN = MO_AMASK,</div>
-<div>-#else</div>
-<div>- &nbsp; &nbsp;MO_ALIGN = MO_AMASK,</div>
-<div>- &nbsp; &nbsp;MO_UNALN = 0,</div>
-<div>-#endif</div>
-<div>- &nbsp; &nbsp;MO_ALIGN_2 &nbsp;= 1 &lt;&lt; MO_ASHIFT,</div>
-<div>- &nbsp; &nbsp;MO_ALIGN_4 &nbsp;= 2 &lt;&lt; MO_ASHIFT,</div>
-<div>- &nbsp; &nbsp;MO_ALIGN_8 &nbsp;= 3 &lt;&lt; MO_ASHIFT,</div>
-<div>- &nbsp; &nbsp;MO_ALIGN_16 = 4 &lt;&lt; MO_ASHIFT,</div>
-<div>- &nbsp; &nbsp;MO_ALIGN_32 = 5 &lt;&lt; MO_ASHIFT,</div>
-<div>- &nbsp; &nbsp;MO_ALIGN_64 = 6 &lt;&lt; MO_ASHIFT,</div>
-<div>-</div>
-<div>- &nbsp; &nbsp;/* Combinations of the above, for ease of use. &nbsp;*/</div>
-<div>- &nbsp; &nbsp;MO_UB &nbsp; &nbsp;= MO_8,</div>
-<div>- &nbsp; &nbsp;MO_UW &nbsp; &nbsp;= MO_16,</div>
-<div>- &nbsp; &nbsp;MO_UL &nbsp; &nbsp;= MO_32,</div>
-<div>- &nbsp; &nbsp;MO_SB &nbsp; &nbsp;= MO_SIGN | MO_8,</div>
-<div>- &nbsp; &nbsp;MO_SW &nbsp; &nbsp;= MO_SIGN | MO_16,</div>
-<div>- &nbsp; &nbsp;MO_SL &nbsp; &nbsp;= MO_SIGN | MO_32,</div>
-<div>- &nbsp; &nbsp;MO_Q &nbsp; &nbsp; = MO_64,</div>
-<div>-</div>
-<div>- &nbsp; &nbsp;MO_LEUW &nbsp;= MO_LE | MO_UW,</div>
-<div>- &nbsp; &nbsp;MO_LEUL &nbsp;= MO_LE | MO_UL,</div>
-<div>- &nbsp; &nbsp;MO_LESW &nbsp;= MO_LE | MO_SW,</div>
-<div>- &nbsp; &nbsp;MO_LESL &nbsp;= MO_LE | MO_SL,</div>
-<div>- &nbsp; &nbsp;MO_LEQ &nbsp; = MO_LE | MO_Q,</div>
-<div>-</div>
-<div>- &nbsp; &nbsp;MO_BEUW &nbsp;= MO_BE | MO_UW,</div>
-<div>- &nbsp; &nbsp;MO_BEUL &nbsp;= MO_BE | MO_UL,</div>
-<div>- &nbsp; &nbsp;MO_BESW &nbsp;= MO_BE | MO_SW,</div>
-<div>- &nbsp; &nbsp;MO_BESL &nbsp;= MO_BE | MO_SL,</div>
-<div>- &nbsp; &nbsp;MO_BEQ &nbsp; = MO_BE | MO_Q,</div>
-<div>-</div>
-<div>- &nbsp; &nbsp;MO_TEUW &nbsp;= MO_TE | MO_UW,</div>
-<div>- &nbsp; &nbsp;MO_TEUL &nbsp;= MO_TE | MO_UL,</div>
-<div>- &nbsp; &nbsp;MO_TESW &nbsp;= MO_TE | MO_SW,</div>
-<div>- &nbsp; &nbsp;MO_TESL &nbsp;= MO_TE | MO_SL,</div>
-<div>- &nbsp; &nbsp;MO_TEQ &nbsp; = MO_TE | MO_Q,</div>
-<div>-</div>
-<div>- &nbsp; &nbsp;MO_SSIZE = MO_SIZE | MO_SIGN,</div>
-<div>-} TCGMemOp;</div>
-<div>-</div>
-<div>&nbsp;/**</div>
-<div>&nbsp; * get_alignment_bits</div>
-<div>- * @memop: TCGMemOp value</div>
-<div>&#43; * @memop: MemOp value</div>
-<div>&nbsp; *</div>
-<div>&nbsp; * Extract the alignment size from the memop.</div>
-<div>&nbsp; */</div>
-<div>-static inline unsigned get_alignment_bits(TCGMemOp memop)</div>
-<div>&#43;static inline unsigned get_alignment_bits(MemOp memop)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;unsigned a = memop &amp; MO_AMASK;</div>
-<div>&nbsp;</div>
-<div>@@ -1186,7 &#43;1097,7 @@ static inline size_t tcg_current_code_size(TCGContext *s)</div>
-<div>&nbsp; &nbsp; &nbsp;return tcg_ptr_byte_diff(s-&gt;code_ptr, s-&gt;code_buf);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-/* Combine the TCGMemOp and mmu_idx parameters into a single value. &nbsp;*/</div>
-<div>&#43;/* Combine the MemOp and mmu_idx parameters into a single value. &nbsp;*/</div>
-<div>&nbsp;typedef uint32_t TCGMemOpIdx;</div>
-<div>&nbsp;</div>
-<div>&nbsp;/**</div>
-<div>@@ -1196,7 &#43;1107,7 @@ typedef uint32_t TCGMemOpIdx;</div>
-<div>&nbsp; *</div>
-<div>&nbsp; * Encode these values into a single parameter.</div>
-<div>&nbsp; */</div>
-<div>-static inline TCGMemOpIdx make_memop_idx(TCGMemOp op, unsigned idx)</div>
-<div>&#43;static inline TCGMemOpIdx make_memop_idx(MemOp op, unsigned idx)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_debug_assert(idx &lt;= 15);</div>
-<div>&nbsp; &nbsp; &nbsp;return (op &lt;&lt; 4) | idx;</div>
-<div>@@ -1208,7 &#43;1119,7 @@ static inline TCGMemOpIdx make_memop_idx(TCGMemOp op, unsigned idx)</div>
-<div>&nbsp; *</div>
-<div>&nbsp; * Extract the memory operation from the combined value.</div>
-<div>&nbsp; */</div>
-<div>-static inline TCGMemOp get_memop(TCGMemOpIdx oi)</div>
-<div>&#43;static inline MemOp get_memop(TCGMemOpIdx oi)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;return oi &gt;&gt; 4;</div>
-<div>&nbsp;}</div>
-<div>diff --git a/trace/mem-internal.h b/trace/mem-internal.h</div>
-<div>index f6efaf6..3444fbc 100644</div>
-<div>--- a/trace/mem-internal.h</div>
-<div>&#43;&#43;&#43; b/trace/mem-internal.h</div>
-<div>@@ -16,7 &#43;16,7 @@</div>
-<div>&nbsp;#define TRACE_MEM_ST (1ULL &lt;&lt; 5) &nbsp; &nbsp;/* store (y/n) */</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline uint8_t trace_mem_build_info(</div>
-<div>- &nbsp; &nbsp;int size_shift, bool sign_extend, TCGMemOp endianness, bool store)</div>
-<div>&#43; &nbsp; &nbsp;int size_shift, bool sign_extend, MemOp endianness, bool store)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;uint8_t res;</div>
-<div>&nbsp;</div>
-<div>@@ -33,7 &#43;33,7 @@ static inline uint8_t trace_mem_build_info(</div>
-<div>&nbsp; &nbsp; &nbsp;return res;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-static inline uint8_t trace_mem_get_info(TCGMemOp op, bool store)</div>
-<div>&#43;static inline uint8_t trace_mem_get_info(MemOp op, bool store)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;return trace_mem_build_info(op &amp; MO_SIZE, !!(op &amp; MO_SIGN),</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op &amp; MO_BSWAP, store);</div>
-<div>diff --git a/trace/mem.h b/trace/mem.h</div>
-<div>index 2b58196..8cf213d 100644</div>
-<div>--- a/trace/mem.h</div>
-<div>&#43;&#43;&#43; b/trace/mem.h</div>
-<div>@@ -18,7 &#43;18,7 @@</div>
-<div>&nbsp; *</div>
-<div>&nbsp; * Return a value for the 'info' argument in guest memory access traces.</div>
-<div>&nbsp; */</div>
-<div>-static uint8_t trace_mem_get_info(TCGMemOp op, bool store);</div>
-<div>&#43;static uint8_t trace_mem_get_info(MemOp op, bool store);</div>
-<div>&nbsp;</div>
-<div>&nbsp;/**</div>
-<div>&nbsp; * trace_mem_build_info:</div>
-<div>@@ -26,7 &#43;26,7 @@ static uint8_t trace_mem_get_info(TCGMemOp op, bool store);</div>
-<div>&nbsp; * Return a value for the 'info' argument in guest memory access traces.</div>
-<div>&nbsp; */</div>
-<div>&nbsp;static uint8_t trace_mem_build_info(int size_shift, bool sign_extend,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp endianness, bool store);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp endianness, bool store);</div>
-<div>&nbsp;</div>
-<div>&nbsp;</div>
-<div>&nbsp;#include &quot;trace/mem-internal.h&quot;</div>
-<div>--&nbsp;</div>
-<div>1.8.3.1</div>
-<div><br>
-&#8203;<br>
-</div>
-<p><br>
-</p>
-</body>
-</html>
diff --git a/a/2.hdr b/a/2.hdr
deleted file mode 100644
index e54d0ae..0000000
--- a/a/2.hdr
+++ /dev/null
@@ -1,2 +0,0 @@
-Content-Type: text/html; charset="iso-8859-1"
-Content-Transfer-Encoding: quoted-printable
diff --git a/a/content_digest b/N3/content_digest
index 3f3745a..3597a15 100644
--- a/a/content_digest
+++ b/N3/content_digest
@@ -1,96 +1,93 @@
  "ref\043bc5e07ac614d0e8e740bf6007ff77b@tpw09926dag18e.domain1.systemhost.net\0"
  "From\0<tony.nguyen@bt.com>\0"
- "Subject\0[Qemu-riscv] [Qemu-devel] [PATCH v7 02/42] tcg: TCGMemOp is now accelerator independent MemOp\0"
+ "Subject\0[Qemu-devel] [PATCH v7 02/42] tcg: TCGMemOp is now accelerator independent MemOp\0"
  "Date\0Fri, 16 Aug 2019 07:26:59 +0000\0"
  "To\0<qemu-devel@nongnu.org>\0"
- "Cc\0<rth@twiddle.net>"
-  <pbonzini@redhat.com>
-  <mst@redhat.com>
-  <imammedo@redhat.com>
-  <marcel.apfelbaum@gmail.com>
-  <xiaoguangrong.eric@gmail.com>
-  <alistair@alistair23.me>
-  <peter.maydell@linaro.org>
-  <b.galvani@gmail.com>
-  <clg@kaod.org>
-  <andrew@aj.id.au>
-  <joel@jms.id.au>
-  <i.mitsyanko@gmail.com>
-  <robh@kernel.org>
-  <peter.chubb@nicta.com.au>
-  <sundeep.lkml@gmail.com>
-  <jan.kiszka@web.de>
-  <balrogg@gmail.com>
-  <eric.auger@redhat.com>
-  <kraxel@redhat.com>
-  <michael@walle.cc>
-  <kwolf@redhat.com>
-  <mreitz@redhat.com>
-  <jsnow@redhat.com>
-  <keith.busch@intel.com>
-  <philmd@redhat.com>
-  <marcandre.lureau@redhat.com>
-  <Andrew.Baumann@microsoft.com>
-  <edgar.iglesias@gmail.com>
-  <antonynpavlov@gmail.com>
-  <chouteau@adacore.com>
-  <frederic.konrad@adacore.com>
-  <huth@tuxfamily.org>
-  <mark.cave-ayland@ilande.co.uk>
-  <hpoussin@reactos.org>
-  <arikalo@wavecomp.com>
-  <balaton@eik.bme.hu>
-  <gxt@mprc.pku.edu.cn>
-  <david@gibson.dropbear.id.au>
-  <deller@gmx.de>
-  <ehabkost@redhat.com>
-  <sstabellini@kernel.org>
-  <anthony.perard@citrix.com>
-  <paul.durrant@citrix.com>
-  <aurelien@aurel32.net>
-  <amarkovic@wavecomp.com>
-  <magnus.damm@gmail.com>
-  <berto@igalia.com>
-  <minyard@acm.org>
-  <pburton@wavecomp.com>
-  <jslaby@suse.cz>
-  <jcd@tribudubois.net>
-  <andrew.smirnov@gmail.com>
-  <green@moxielogic.com>
-  <jasowang@redhat.com>
-  <dmitry.fleytman@gmail.com>
-  <sw@weilnetz.de>
-  <jiri@resnulli.us>
-  <crwulff@gmail.com>
-  <marex@denx.de>
-  <lersek@redhat.com>
-  <proljc@gmail.com>
-  <shorne@gmail.com>
-  <yuval.shaia@oracle.com>
-  <palmer@sifive.com>
-  <sagark@eecs.berkeley.edu>
-  <kbastian@mail.uni-paderborn.de>
-  <walling@linux.ibm.com>
-  <cohuck@redhat.com>
-  <david@redhat.com>
-  <pasic@linux.ibm.com>
-  <borntraeger@de.ibm.com>
-  <fam@euphon.net>
-  <hare@suse.com>
-  <atar4qemu@gmail.com>
-  <stefanb@linux.ibm.com>
-  <alex.williamson@redhat.com>
-  <jcmvbkbc@gmail.com>
-  <laurent@vivier.eu>
-  <claudio.fontana@suse.com>
-  <stefanha@redhat.com>
-  <qemu-arm@nongnu.org>
-  <qemu-block@nongnu.org>
-  <qemu-ppc@nongnu.org>
-  <xen-devel@lists.xenproject.org>
-  <qemu-riscv@nongnu.org>
- " <qemu-s390x@nongnu.org>\0"
- "\01:1\0"
+ "Cc\0frederic.konrad@adacore.com"
+  berto@igalia.com
+  qemu-block@nongnu.org
+  arikalo@wavecomp.com
+  pasic@linux.ibm.com
+  hpoussin@reactos.org
+  anthony.perard@citrix.com
+  xen-devel@lists.xenproject.org
+  lersek@redhat.com
+  jasowang@redhat.com
+  jiri@resnulli.us
+  ehabkost@redhat.com
+  b.galvani@gmail.com
+  eric.auger@redhat.com
+  alex.williamson@redhat.com
+  stefanha@redhat.com
+  jsnow@redhat.com
+  rth@twiddle.net
+  kwolf@redhat.com
+  andrew@aj.id.au
+  claudio.fontana@suse.com
+  crwulff@gmail.com
+  laurent@vivier.eu
+  sundeep.lkml@gmail.com
+  michael@walle.cc
+  qemu-ppc@nongnu.org
+  kbastian@mail.uni-paderborn.de
+  imammedo@redhat.com
+  fam@euphon.net
+  peter.maydell@linaro.org
+  david@redhat.com
+  palmer@sifive.com
+  keith.busch@intel.com
+  jcmvbkbc@gmail.com
+  hare@suse.com
+  sstabellini@kernel.org
+  andrew.smirnov@gmail.com
+  deller@gmx.de
+  magnus.damm@gmail.com
+  atar4qemu@gmail.com
+  minyard@acm.org
+  sw@weilnetz.de
+  yuval.shaia@oracle.com
+  qemu-s390x@nongnu.org
+  qemu-arm@nongnu.org
+  jan.kiszka@web.de
+  clg@kaod.org
+  shorne@gmail.com
+  qemu-riscv@nongnu.org
+  i.mitsyanko@gmail.com
+  cohuck@redhat.com
+  philmd@redhat.com
+  amarkovic@wavecomp.com
+  peter.chubb@nicta.com.au
+  aurelien@aurel32.net
+  pburton@wavecomp.com
+  sagark@eecs.berkeley.edu
+  green@moxielogic.com
+  kraxel@redhat.com
+  edgar.iglesias@gmail.com
+  gxt@mprc.pku.edu.cn
+  robh@kernel.org
+  borntraeger@de.ibm.com
+  joel@jms.id.au
+  antonynpavlov@gmail.com
+  chouteau@adacore.com
+  Andrew.Baumann@microsoft.com
+  mreitz@redhat.com
+  walling@linux.ibm.com
+  dmitry.fleytman@gmail.com
+  mst@redhat.com
+  mark.cave-ayland@ilande.co.uk
+  jslaby@suse.cz
+  marex@denx.de
+  proljc@gmail.com
+  marcandre.lureau@redhat.com
+  alistair@alistair23.me
+  paul.durrant@citrix.com
+  david@gibson.dropbear.id.au
+  xiaoguangrong.eric@gmail.com
+  huth@tuxfamily.org
+  jcd@tribudubois.net
+  pbonzini@redhat.com
+ " stefanb@linux.ibm.com\0"
+ "\00:1\0"
  "b\0"
  "Preparation for collapsing the two byte swaps, adjust_endianness and\n"
  "handle_bswap, along the I/O path.\n"
@@ -2819,2750 +2816,5 @@
  "1.8.3.1\n"
  "\n"
  ?
- "\01:2\0"
- "b\0"
- "<html>\r\n"
- "<head>\r\n"
- "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\r\n"
- "<style type=\"text/css\" style=\"display:none\"><!-- P { margin-top: 0px; margin-bottom: 0px; } .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(128, 0, 0); }--></style>\r\n"
- "</head>\r\n"
- "<body dir=\"ltr\" style=\"font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;\">\r\n"
- "<p></p>\r\n"
- "<div><span style=\"font-size: 12pt;\">Preparation for collapsing the two byte swaps, adjust_endianness and</span><br>\r\n"
- "</div>\r\n"
- "<div>handle_bswap, along the I/O path.</div>\r\n"
- "<div><br>\r\n"
- "</div>\r\n"
- "<div>Target dependant attributes are conditionalized upon NEED_CPU_H.</div>\r\n"
- "<div><br>\r\n"
- "</div>\r\n"
- "<div>Signed-off-by: Tony Nguyen &lt;tony.nguyen@bt.com&gt;</div>\r\n"
- "<div>Acked-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;</div>\r\n"
- "<div>Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;</div>\r\n"
- "<div>Acked-by: Cornelia Huck &lt;cohuck@redhat.com&gt;</div>\r\n"
- "<div>---</div>\r\n"
- "<div>&nbsp;MAINTAINERS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 1 &#43;</div>\r\n"
- "<div>&nbsp;accel/tcg/cputlb.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;include/exec/memop.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 110 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;</div>\r\n"
- "<div>&nbsp;target/alpha/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;target/arm/translate-a64.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;48 &#43;&#43;&#43;&#43;&#43;&#43;------</div>\r\n"
- "<div>&nbsp;target/arm/translate-a64.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;target/arm/translate-sve.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;target/arm/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;32 &#43;&#43;&#43;&#43;----</div>\r\n"
- "<div>&nbsp;target/arm/translate.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;target/hppa/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;14 &#43;&#43;--</div>\r\n"
- "<div>&nbsp;target/i386/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 132 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;----------------</div>\r\n"
- "<div>&nbsp;target/m68k/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;target/microblaze/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 4 &#43;-</div>\r\n"
- "<div>&nbsp;target/mips/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 8 &#43;-</div>\r\n"
- "<div>&nbsp;target/openrisc/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 4 &#43;-</div>\r\n"
- "<div>&nbsp;target/ppc/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;12 &#43;--</div>\r\n"
- "<div>&nbsp;target/riscv/insn_trans/trans_rva.inc.c | &nbsp; 8 &#43;-</div>\r\n"
- "<div>&nbsp;target/riscv/insn_trans/trans_rvi.inc.c | &nbsp; 4 &#43;-</div>\r\n"
- "<div>&nbsp;target/s390x/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 6 &#43;-</div>\r\n"
- "<div>&nbsp;target/s390x/translate_vx.inc.c &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;10 &#43;--</div>\r\n"
- "<div>&nbsp;target/sparc/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;14 &#43;&#43;--</div>\r\n"
- "<div>&nbsp;target/tilegx/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;10 &#43;--</div>\r\n"
- "<div>&nbsp;target/tricore/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 8 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/README &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/aarch64/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;26 &#43;&#43;&#43;----</div>\r\n"
- "<div>&nbsp;tcg/arm/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;26 &#43;&#43;&#43;----</div>\r\n"
- "<div>&nbsp;tcg/i386/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;24 &#43;&#43;&#43;---</div>\r\n"
- "<div>&nbsp;tcg/mips/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;16 &#43;&#43;--</div>\r\n"
- "<div>&nbsp;tcg/optimize.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/ppc/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;12 &#43;--</div>\r\n"
- "<div>&nbsp;tcg/riscv/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;20 &#43;&#43;---</div>\r\n"
- "<div>&nbsp;tcg/s390/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;14 &#43;&#43;--</div>\r\n"
- "<div>&nbsp;tcg/sparc/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 6 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/tcg-op.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;38 &#43;&#43;&#43;&#43;-----</div>\r\n"
- "<div>&nbsp;tcg/tcg-op.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;86 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;-----------</div>\r\n"
- "<div>&nbsp;tcg/tcg.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/tcg.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 101 &#43;&#43;----------------------</div>\r\n"
- "<div>&nbsp;trace/mem-internal.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 4 &#43;-</div>\r\n"
- "<div>&nbsp;trace/mem.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 4 &#43;-</div>\r\n"
- "<div>&nbsp;39 files changed, 421 insertions(&#43;), 399 deletions(-)</div>\r\n"
- "<div>&nbsp;create mode 100644 include/exec/memop.h</div>\r\n"
- "<div><br>\r\n"
- "</div>\r\n"
- "<div>diff --git a/MAINTAINERS b/MAINTAINERS</div>\r\n"
- "<div>index d6de200..c7cf84a 100644</div>\r\n"
- "<div>--- a/MAINTAINERS</div>\r\n"
- "<div>&#43;&#43;&#43; b/MAINTAINERS</div>\r\n"
- "<div>@@ -1889,6 &#43;1889,7 @@ M: Paolo Bonzini &lt;pbonzini@redhat.com&gt;</div>\r\n"
- "<div>&nbsp;S: Supported</div>\r\n"
- "<div>&nbsp;F: include/exec/ioport.h</div>\r\n"
- "<div>&nbsp;F: ioport.c</div>\r\n"
- "<div>&#43;F: include/exec/memop.h</div>\r\n"
- "<div>&nbsp;F: include/exec/memory.h</div>\r\n"
- "<div>&nbsp;F: include/exec/ram_addr.h</div>\r\n"
- "<div>&nbsp;F: memory.c</div>\r\n"
- "<div>diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c</div>\r\n"
- "<div>index bb9897b..523be4c 100644</div>\r\n"
- "<div>--- a/accel/tcg/cputlb.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/accel/tcg/cputlb.c</div>\r\n"
- "<div>@@ -1133,7 &#43;1133,7 @@ static void *atomic_mmu_lookup(CPUArchState *env, target_ulong addr,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uintptr_t index = tlb_index(env, mmu_idx, addr);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;CPUTLBEntry *tlbe = tlb_entry(env, mmu_idx, addr);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong tlb_addr = tlb_addr_write(tlbe);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp mop = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp mop = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int a_bits = get_alignment_bits(mop);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int s_bits = mop &amp; MO_SIZE;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;void *hostaddr;</div>\r\n"
- "<div>diff --git a/include/exec/memop.h b/include/exec/memop.h</div>\r\n"
- "<div>new file mode 100644</div>\r\n"
- "<div>index 0000000..7262ca3</div>\r\n"
- "<div>--- /dev/null</div>\r\n"
- "<div>&#43;&#43;&#43; b/include/exec/memop.h</div>\r\n"
- "<div>@@ -0,0 &#43;1,110 @@</div>\r\n"
- "<div>&#43;/*</div>\r\n"
- "<div>&#43; * Constants for memory operations</div>\r\n"
- "<div>&#43; *</div>\r\n"
- "<div>&#43; * Authors:</div>\r\n"
- "<div>&#43; * &nbsp;Richard Henderson &lt;rth@twiddle.net&gt;</div>\r\n"
- "<div>&#43; *</div>\r\n"
- "<div>&#43; * This work is licensed under the terms of the GNU GPL, version 2 or later.</div>\r\n"
- "<div>&#43; * See the COPYING file in the top-level directory.</div>\r\n"
- "<div>&#43; *</div>\r\n"
- "<div>&#43; */</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43;#ifndef MEMOP_H</div>\r\n"
- "<div>&#43;#define MEMOP_H</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43;typedef enum MemOp {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_8 &nbsp; &nbsp; = 0,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_16 &nbsp; &nbsp;= 1,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_32 &nbsp; &nbsp;= 2,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_64 &nbsp; &nbsp;= 3,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_SIZE &nbsp;= 3, &nbsp; /* Mask for the above. &nbsp;*/</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_SIGN &nbsp;= 4, &nbsp; /* Sign-extended, otherwise zero-extended. &nbsp;*/</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_BSWAP = 8, &nbsp; /* Host reverse endian. &nbsp;*/</div>\r\n"
- "<div>&#43;#ifdef HOST_WORDS_BIGENDIAN</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_LE &nbsp; &nbsp;= MO_BSWAP,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_BE &nbsp; &nbsp;= 0,</div>\r\n"
- "<div>&#43;#else</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_LE &nbsp; &nbsp;= 0,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_BE &nbsp; &nbsp;= MO_BSWAP,</div>\r\n"
- "<div>&#43;#endif</div>\r\n"
- "<div>&#43;#ifdef NEED_CPU_H</div>\r\n"
- "<div>&#43;#ifdef TARGET_WORDS_BIGENDIAN</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_TE &nbsp; &nbsp;= MO_BE,</div>\r\n"
- "<div>&#43;#else</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_TE &nbsp; &nbsp;= MO_LE,</div>\r\n"
- "<div>&#43;#endif</div>\r\n"
- "<div>&#43;#endif</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;/*</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * MO_UNALN accesses are never checked for alignment.</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * MO_ALIGN accesses will result in a call to the CPU's</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * do_unaligned_access hook if the guest address is not aligned.</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * The default depends on whether the target CPU defines</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * TARGET_ALIGNED_ONLY.</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; *</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * Some architectures (e.g. ARMv8) need the address which is aligned</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * to a size more than the size of the memory access.</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * Some architectures (e.g. SPARCv9) need an address which is aligned,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * but less strictly than the natural alignment.</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; *</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * MO_ALIGN supposes the alignment size is the size of a memory access.</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; *</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * There are three options:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * - unaligned access permitted (MO_UNALN).</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * - an alignment to the size of an access (MO_ALIGN);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * - an alignment to a specified size, which may be more or less than</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * &nbsp; the access size (MO_ALIGN_x where 'x' is a size in bytes);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; */</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_ASHIFT = 4,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_AMASK = 7 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>&#43;#ifdef NEED_CPU_H</div>\r\n"
- "<div>&#43;#ifdef TARGET_ALIGNED_ONLY</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_ALIGN = 0,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_UNALN = MO_AMASK,</div>\r\n"
- "<div>&#43;#else</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_ALIGN = MO_AMASK,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_UNALN = 0,</div>\r\n"
- "<div>&#43;#endif</div>\r\n"
- "<div>&#43;#endif</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_ALIGN_2 &nbsp;= 1 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_ALIGN_4 &nbsp;= 2 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_ALIGN_8 &nbsp;= 3 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_ALIGN_16 = 4 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_ALIGN_32 = 5 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_ALIGN_64 = 6 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;/* Combinations of the above, for ease of use. &nbsp;*/</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_UB &nbsp; &nbsp;= MO_8,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_UW &nbsp; &nbsp;= MO_16,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_UL &nbsp; &nbsp;= MO_32,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_SB &nbsp; &nbsp;= MO_SIGN | MO_8,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_SW &nbsp; &nbsp;= MO_SIGN | MO_16,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_SL &nbsp; &nbsp;= MO_SIGN | MO_32,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_Q &nbsp; &nbsp; = MO_64,</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_LEUW &nbsp;= MO_LE | MO_UW,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_LEUL &nbsp;= MO_LE | MO_UL,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_LESW &nbsp;= MO_LE | MO_SW,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_LESL &nbsp;= MO_LE | MO_SL,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_LEQ &nbsp; = MO_LE | MO_Q,</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_BEUW &nbsp;= MO_BE | MO_UW,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_BEUL &nbsp;= MO_BE | MO_UL,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_BESW &nbsp;= MO_BE | MO_SW,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_BESL &nbsp;= MO_BE | MO_SL,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_BEQ &nbsp; = MO_BE | MO_Q,</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43;#ifdef NEED_CPU_H</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_TEUW &nbsp;= MO_TE | MO_UW,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_TEUL &nbsp;= MO_TE | MO_UL,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_TESW &nbsp;= MO_TE | MO_SW,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_TESL &nbsp;= MO_TE | MO_SL,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_TEQ &nbsp; = MO_TE | MO_Q,</div>\r\n"
- "<div>&#43;#endif</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MO_SSIZE = MO_SIZE | MO_SIGN,</div>\r\n"
- "<div>&#43;} MemOp;</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43;#endif</div>\r\n"
- "<div>diff --git a/target/alpha/translate.c b/target/alpha/translate.c</div>\r\n"
- "<div>index 2c9cccf..d5d4888 100644</div>\r\n"
- "<div>--- a/target/alpha/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/alpha/translate.c</div>\r\n"
- "<div>@@ -403,7 &#43;403,7 @@ static inline void gen_store_mem(DisasContext *ctx,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static DisasJumpType gen_store_conditional(DisasContext *ctx, int ra, int rb,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int32_t disp16, int mem_idx,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp op)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp op)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGLabel *lab_fail, *lab_done;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv addr, val;</div>\r\n"
- "<div>diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c</div>\r\n"
- "<div>index d323147..b6c07d6 100644</div>\r\n"
- "<div>--- a/target/arm/translate-a64.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/arm/translate-a64.c</div>\r\n"
- "<div>@@ -85,7 &#43;85,7 @@ typedef void NeonGenOneOpFn(TCGv_i64, TCGv_i64);</div>\r\n"
- "<div>&nbsp;typedef void CryptoTwoOpFn(TCGv_ptr, TCGv_ptr);</div>\r\n"
- "<div>&nbsp;typedef void CryptoThreeOpIntFn(TCGv_ptr, TCGv_ptr, TCGv_i32);</div>\r\n"
- "<div>&nbsp;typedef void CryptoThreeOpFn(TCGv_ptr, TCGv_ptr, TCGv_ptr);</div>\r\n"
- "<div>-typedef void AtomicThreeOpFn(TCGv_i64, TCGv_i64, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>&#43;typedef void AtomicThreeOpFn(TCGv_i64, TCGv_i64, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* initialize TCG globals. &nbsp;*/</div>\r\n"
- "<div>&nbsp;void a64_translate_init(void)</div>\r\n"
- "<div>@@ -455,7 &#43;455,7 @@ TCGv_i64 read_cpu_reg_sp(DisasContext *s, int reg, int sf)</div>\r\n"
- "<div>&nbsp; * Dn, Sn, Hn or Bn).</div>\r\n"
- "<div>&nbsp; * (Note that this is not the same mapping as for A32; see cpu.h)</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>-static inline int fp_reg_offset(DisasContext *s, int regno, TCGMemOp size)</div>\r\n"
- "<div>&#43;static inline int fp_reg_offset(DisasContext *s, int regno, MemOp size)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return vec_reg_offset(s, regno, 0, size);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>@@ -871,7 &#43;871,7 @@ static void do_gpr_ld_memidx(DisasContext *s,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bool iss_valid, unsigned int iss_srt,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bool iss_sf, bool iss_ar)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop = s-&gt;be_data &#43; size;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop = s-&gt;be_data &#43; size;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;g_assert(size &lt;= 3);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -948,7 &#43;948,7 @@ static void do_fp_ld(DisasContext *s, int destidx, TCGv_i64 tcg_addr, int size)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tmphi;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (size &lt; 4) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = s-&gt;be_data &#43; size;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = s-&gt;be_data &#43; size;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmphi = tcg_const_i64(0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_i64(tmplo, tcg_addr, get_mem_index(s), memop);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>@@ -989,7 &#43;989,7 @@ static void do_fp_ld(DisasContext *s, int destidx, TCGv_i64 tcg_addr, int size)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Get value of an element within a vector register */</div>\r\n"
- "<div>&nbsp;static void read_vec_element(DisasContext *s, TCGv_i64 tcg_dest, int srcidx,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int vect_off = vec_reg_offset(s, srcidx, element, memop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (memop) {</div>\r\n"
- "<div>@@ -1021,7 &#43;1021,7 @@ static void read_vec_element(DisasContext *s, TCGv_i64 tcg_dest, int srcidx,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void read_vec_element_i32(DisasContext *s, TCGv_i32 tcg_dest, int srcidx,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int vect_off = vec_reg_offset(s, srcidx, element, memop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (memop) {</div>\r\n"
- "<div>@@ -1048,7 &#43;1048,7 @@ static void read_vec_element_i32(DisasContext *s, TCGv_i32 tcg_dest, int srcidx,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Set value of an element within a vector register */</div>\r\n"
- "<div>&nbsp;static void write_vec_element(DisasContext *s, TCGv_i64 tcg_src, int destidx,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int element, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int element, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int vect_off = vec_reg_offset(s, destidx, element, memop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (memop) {</div>\r\n"
- "<div>@@ -1070,7 &#43;1070,7 @@ static void write_vec_element(DisasContext *s, TCGv_i64 tcg_src, int destidx,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void write_vec_element_i32(DisasContext *s, TCGv_i32 tcg_src,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int destidx, int element, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int destidx, int element, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int vect_off = vec_reg_offset(s, destidx, element, memop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (memop) {</div>\r\n"
- "<div>@@ -1090,7 &#43;1090,7 @@ static void write_vec_element_i32(DisasContext *s, TCGv_i32 tcg_src,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Store from vector register to memory */</div>\r\n"
- "<div>&nbsp;static void do_vec_st(DisasContext *s, int srcidx, int element,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_addr, int size, TCGMemOp endian)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_addr, int size, MemOp endian)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_tmp = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1102,7 &#43;1102,7 @@ static void do_vec_st(DisasContext *s, int srcidx, int element,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Load from memory to vector register */</div>\r\n"
- "<div>&nbsp;static void do_vec_ld(DisasContext *s, int destidx, int element,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_addr, int size, TCGMemOp endian)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_addr, int size, MemOp endian)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_tmp = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2200,7 &#43;2200,7 @@ static void gen_load_exclusive(DisasContext *s, int rt, int rt2,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGv_i64 addr, int size, bool is_pair)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int idx = get_mem_index(s);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop = s-&gt;be_data;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop = s-&gt;be_data;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;g_assert(size &lt;= 3);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (is_pair) {</div>\r\n"
- "<div>@@ -3286,7 &#43;3286,7 @@ static void disas_ldst_multiple_struct(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool is_postidx = extract32(insn, 23, 1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool is_q = extract32(insn, 30, 1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 clean_addr, tcg_rn, tcg_ebytes;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp endian = s-&gt;be_data;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp endian = s-&gt;be_data;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int ebytes; &nbsp; /* bytes per element */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int elements; /* elements per vector */</div>\r\n"
- "<div>@@ -5455,7 &#43;5455,7 @@ static void disas_fp_csel(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned int mos, type, rm, cond, rn, rd;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 t_true, t_false, t_zero;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;DisasCompare64 c;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp sz;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp sz;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;mos = extract32(insn, 29, 3);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;type = extract32(insn, 22, 2);</div>\r\n"
- "<div>@@ -6267,7 &#43;6267,7 @@ static void disas_fp_imm(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mos = extract32(insn, 29, 3);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint64_t imm;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_res;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp sz;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp sz;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (mos || imm5) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>\r\n"
- "<div>@@ -7030,7 &#43;7030,7 @@ static TCGv_i32 do_reduction_op(DisasContext *s, int fpopcode, int rn,</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (esize == size) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int element;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp msize = esize == 16 ? MO_16 : MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp msize = esize == 16 ? MO_16 : MO_32;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_elem;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* We should have one register left here */</div>\r\n"
- "<div>@@ -8022,7 &#43;8022,7 @@ static void handle_vec_simd_sqshrn(DisasContext *s, bool is_scalar, bool is_q,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int shift = (2 * esize) - immhb;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int elements = is_scalar ? 1 : (64 / esize);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool round = extract32(opcode, 0, 1);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp ldop = (size &#43; 1) | (is_u_shift ? 0 : MO_SIGN);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp ldop = (size &#43; 1) | (is_u_shift ? 0 : MO_SIGN);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_rn, tcg_rd, tcg_round;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tcg_rd_narrowed;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_final;</div>\r\n"
- "<div>@@ -8181,7 &#43;8181,7 @@ static void handle_simd_qshl(DisasContext *s, bool scalar, bool is_q,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;};</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenTwoOpEnvFn *genfn = fns[src_unsigned][dst_unsigned][size];</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = scalar ? size : MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = scalar ? size : MO_32;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int maxpass = scalar ? 1 : is_q ? 4 : 2;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; maxpass; pass&#43;&#43;) {</div>\r\n"
- "<div>@@ -8225,7 &#43;8225,7 @@ static void handle_simd_intfp_conv(DisasContext *s, int rd, int rn,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_ptr tcg_fpst = get_fpstatus_ptr(size == MO_16);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tcg_shift = NULL;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp mop = size | (is_signed ? MO_SIGN : 0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp mop = size | (is_signed ? MO_SIGN : 0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int pass;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (fracbits || size == MO_64) {</div>\r\n"
- "<div>@@ -10004,7 &#43;10004,7 @@ static void handle_vec_simd_shri(DisasContext *s, bool is_q, bool is_u,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int dsize = is_q ? 128 : 64;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int esize = 8 &lt;&lt; size;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int elements = dsize/esize;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop = size | (is_u ? 0 : MO_SIGN);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop = size | (is_u ? 0 : MO_SIGN);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_rn = new_tmp_a64(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_rd = new_tmp_a64(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 tcg_round;</div>\r\n"
- "<div>@@ -10347,7 &#43;10347,7 @@ static void handle_3rd_widening(DisasContext *s, int is_q, int is_u, int size,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op1 = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op2 = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_passres;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = MO_32 | (is_u ? 0 : MO_SIGN);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = MO_32 | (is_u ? 0 : MO_SIGN);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int elt = pass &#43; is_q * 2;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -11827,7 &#43;11827,7 @@ static void handle_2misc_pairwise(DisasContext *s, int opcode, bool u,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (size == 2) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 32 &#43; 32 -&gt; 64 op */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = size &#43; (u ? 0 : MO_SIGN);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = size &#43; (u ? 0 : MO_SIGN);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; maxpass; pass&#43;&#43;) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op1 = tcg_temp_new_i64();</div>\r\n"
- "<div>@@ -12849,7 &#43;12849,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (is_fp) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 1: /* normal fp */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;/* convert insn encoded size to TCGMemOp size */</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;/* convert insn encoded size to MemOp size */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0: /* half-precision */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_16;</div>\r\n"
- "<div>@@ -12897,7 &#43;12897,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;/* Given TCGMemOp size, adjust register and indexing. &nbsp;*/</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;/* Given MemOp size, adjust register and indexing. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (size) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_16:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;index = h &lt;&lt; 2 | l &lt;&lt; 1 | m;</div>\r\n"
- "<div>@@ -13194,7 &#43;13194,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_res[2];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int pass;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bool satop = extract32(opcode, 0, 1);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = MO_32;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (satop || !u) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;memop |= MO_SIGN;</div>\r\n"
- "<div>diff --git a/target/arm/translate-a64.h b/target/arm/translate-a64.h</div>\r\n"
- "<div>index 9ab4087..f1246b7 100644</div>\r\n"
- "<div>--- a/target/arm/translate-a64.h</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/arm/translate-a64.h</div>\r\n"
- "<div>@@ -64,7 &#43;64,7 @@ static inline void assert_fp_access_checked(DisasContext *s)</div>\r\n"
- "<div>&nbsp; * the FP/vector register Qn.</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>&nbsp;static inline int vec_reg_offset(DisasContext *s, int regno,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, TCGMemOp size)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int element, MemOp size)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int element_size = 1 &lt;&lt; size;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int offs = element * element_size;</div>\r\n"
- "<div>diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c</div>\r\n"
- "<div>index fa068b0..5d7edd0 100644</div>\r\n"
- "<div>--- a/target/arm/translate-sve.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/arm/translate-sve.c</div>\r\n"
- "<div>@@ -4567,7 &#43;4567,7 @@ static bool trans_STR_pri(DisasContext *s, arg_rri *a)</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* The memory mode of the dtype. &nbsp;*/</div>\r\n"
- "<div>-static const TCGMemOp dtype_mop[16] = {</div>\r\n"
- "<div>&#43;static const MemOp dtype_mop[16] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;MO_UB, MO_UB, MO_UB, MO_UB,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;MO_SL, MO_UW, MO_UW, MO_UW,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;MO_SW, MO_SW, MO_UL, MO_UL,</div>\r\n"
- "<div>diff --git a/target/arm/translate.c b/target/arm/translate.c</div>\r\n"
- "<div>index 7853462..d116c8c 100644</div>\r\n"
- "<div>--- a/target/arm/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/arm/translate.c</div>\r\n"
- "<div>@@ -114,7 &#43;114,7 @@ typedef enum ISSInfo {</div>\r\n"
- "<div>&nbsp;} ISSInfo;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Save the syndrome information for a Data Abort */</div>\r\n"
- "<div>-static void disas_set_da_iss(DisasContext *s, TCGMemOp memop, ISSInfo issinfo)</div>\r\n"
- "<div>&#43;static void disas_set_da_iss(DisasContext *s, MemOp memop, ISSInfo issinfo)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint32_t syn;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int sas = memop &amp; MO_SIZE;</div>\r\n"
- "<div>@@ -1079,7 &#43;1079,7 @@ static inline void store_reg_from_load(DisasContext *s, int reg, TCGv_i32 var)</div>\r\n"
- "<div>&nbsp; * that the address argument is TCGv_i32 rather than TCGv.</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline TCGv gen_aa32_addr(DisasContext *s, TCGv_i32 a32, TCGMemOp op)</div>\r\n"
- "<div>&#43;static inline TCGv gen_aa32_addr(DisasContext *s, TCGv_i32 a32, MemOp op)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv addr = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_extu_i32_tl(addr, a32);</div>\r\n"
- "<div>@@ -1092,7 &#43;1092,7 @@ static inline TCGv gen_aa32_addr(DisasContext *s, TCGv_i32 a32, TCGMemOp op)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_aa32_ld_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, TCGMemOp opc)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, MemOp opc)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv addr;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1107,7 &#43;1107,7 @@ static void gen_aa32_ld_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_aa32_st_i32(DisasContext *s, TCGv_i32 val, TCGv_i32 a32,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, TCGMemOp opc)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, MemOp opc)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv addr;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1160,7 &#43;1160,7 @@ static inline void gen_aa32_frob64(DisasContext *s, TCGv_i64 val)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_aa32_ld_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, TCGMemOp opc)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, MemOp opc)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv addr = gen_aa32_addr(s, a32, opc);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_i64(val, addr, index, opc);</div>\r\n"
- "<div>@@ -1175,7 &#43;1175,7 @@ static inline void gen_aa32_ld64(DisasContext *s, TCGv_i64 val,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_aa32_st_i64(DisasContext *s, TCGv_i64 val, TCGv_i32 a32,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, TCGMemOp opc)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int index, MemOp opc)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv addr = gen_aa32_addr(s, a32, opc);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1400,7 &#43;1400,7 @@ neon_reg_offset (int reg, int n)</div>\r\n"
- "<div>&nbsp; * where 0 is the least significant end of the register.</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>&nbsp;static inline long</div>\r\n"
- "<div>-neon_element_offset(int reg, int element, TCGMemOp size)</div>\r\n"
- "<div>&#43;neon_element_offset(int reg, int element, MemOp size)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int element_size = 1 &lt;&lt; size;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int ofs = element * element_size;</div>\r\n"
- "<div>@@ -1422,7 &#43;1422,7 @@ static TCGv_i32 neon_load_reg(int reg, int pass)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return tmp;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void neon_load_element(TCGv_i32 var, int reg, int ele, TCGMemOp mop)</div>\r\n"
- "<div>&#43;static void neon_load_element(TCGv_i32 var, int reg, int ele, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;long offset = neon_element_offset(reg, ele, mop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1441,7 &#43;1441,7 @@ static void neon_load_element(TCGv_i32 var, int reg, int ele, TCGMemOp mop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void neon_load_element64(TCGv_i64 var, int reg, int ele, TCGMemOp mop)</div>\r\n"
- "<div>&#43;static void neon_load_element64(TCGv_i64 var, int reg, int ele, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;long offset = neon_element_offset(reg, ele, mop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1469,7 &#43;1469,7 @@ static void neon_store_reg(int reg, int pass, TCGv_i32 var)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_temp_free_i32(var);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void neon_store_element(int reg, int ele, TCGMemOp size, TCGv_i32 var)</div>\r\n"
- "<div>&#43;static void neon_store_element(int reg, int ele, MemOp size, TCGv_i32 var)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;long offset = neon_element_offset(reg, ele, size);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1488,7 &#43;1488,7 @@ static void neon_store_element(int reg, int ele, TCGMemOp size, TCGv_i32 var)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void neon_store_element64(int reg, int ele, TCGMemOp size, TCGv_i64 var)</div>\r\n"
- "<div>&#43;static void neon_store_element64(int reg, int ele, MemOp size, TCGv_i64 var)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;long offset = neon_element_offset(reg, ele, size);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -3558,7 &#43;3558,7 @@ static int disas_neon_ls_insn(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int n;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int vec_size;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mmu_idx;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp endian;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp endian;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 addr;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tmp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tmp2;</div>\r\n"
- "<div>@@ -6867,7 &#43;6867,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else if ((insn &amp; 0x380) == 0) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* VDUP */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int element;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp size;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp size;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((insn &amp; (7 &lt;&lt; 16)) == 0 || (q &amp;&amp; (rd &amp; 1))) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 1;</div>\r\n"
- "<div>@@ -7435,7 &#43;7435,7 @@ static void gen_load_exclusive(DisasContext *s, int rt, int rt2,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGv_i32 addr, int size)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 tmp = tcg_temp_new_i32();</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = size | MO_ALIGN | s-&gt;be_data;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = size | MO_ALIGN | s-&gt;be_data;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;s-&gt;is_ldex = true;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -7489,7 &#43;7489,7 @@ static void gen_store_exclusive(DisasContext *s, int rd, int rt, int rt2,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv taddr;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGLabel *done_label;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGLabel *fail_label;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = size | MO_ALIGN | s-&gt;be_data;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = size | MO_ALIGN | s-&gt;be_data;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* if (env-&gt;exclusive_addr == addr &amp;&amp; env-&gt;exclusive_val == [addr]) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [addr] = {Rt};</div>\r\n"
- "<div>@@ -8603,7 &#43;8603,7 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv taddr;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp opc = s-&gt;be_data;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp opc = s-&gt;be_data;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm = (insn) &amp; 0xf;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>diff --git a/target/arm/translate.h b/target/arm/translate.h</div>\r\n"
- "<div>index a20f6e2..284c510 100644</div>\r\n"
- "<div>--- a/target/arm/translate.h</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/arm/translate.h</div>\r\n"
- "<div>@@ -21,7 &#43;21,7 @@ typedef struct DisasContext {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int condexec_cond;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int thumb;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int sctlr_b;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp be_data;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp be_data;</div>\r\n"
- "<div>&nbsp;#if !defined(CONFIG_USER_ONLY)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int user;</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>diff --git a/target/hppa/translate.c b/target/hppa/translate.c</div>\r\n"
- "<div>index 188fe68..ff4802a 100644</div>\r\n"
- "<div>--- a/target/hppa/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/hppa/translate.c</div>\r\n"
- "<div>@@ -1500,7 &#43;1500,7 @@ static void form_gva(DisasContext *ctx, TCGv_tl *pgva, TCGv_reg *pofs,</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>&nbsp;static void do_load_32(DisasContext *ctx, TCGv_i32 dest, unsigned rb,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned rx, int scale, target_sreg disp,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned sp, int modify, TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned sp, int modify, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_reg ofs;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>\r\n"
- "<div>@@ -1518,7 &#43;1518,7 @@ static void do_load_32(DisasContext *ctx, TCGv_i32 dest, unsigned rb,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void do_load_64(DisasContext *ctx, TCGv_i64 dest, unsigned rb,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned rx, int scale, target_sreg disp,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned sp, int modify, TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; unsigned sp, int modify, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_reg ofs;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>\r\n"
- "<div>@@ -1536,7 &#43;1536,7 @@ static void do_load_64(DisasContext *ctx, TCGv_i64 dest, unsigned rb,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void do_store_32(DisasContext *ctx, TCGv_i32 src, unsigned rb,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned rx, int scale, target_sreg disp,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_reg ofs;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>\r\n"
- "<div>@@ -1554,7 &#43;1554,7 @@ static void do_store_32(DisasContext *ctx, TCGv_i32 src, unsigned rb,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void do_store_64(DisasContext *ctx, TCGv_i64 src, unsigned rb,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned rx, int scale, target_sreg disp,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_reg ofs;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>\r\n"
- "<div>@@ -1580,7 &#43;1580,7 @@ static void do_store_64(DisasContext *ctx, TCGv_i64 src, unsigned rb,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static bool do_load(DisasContext *ctx, unsigned rt, unsigned rb,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned rx, int scale, target_sreg disp,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned sp, int modify, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_reg dest;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1653,7 &#43;1653,7 @@ static bool trans_fldd(DisasContext *ctx, arg_ldst *a)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static bool do_store(DisasContext *ctx, unsigned rt, unsigned rb,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target_sreg disp, unsigned sp,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int modify, TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int modify, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;nullify_over(ctx);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;do_store_reg(ctx, load_gpr(ctx, rt), rb, 0, 0, disp, sp, modify, mop);</div>\r\n"
- "<div>@@ -2940,7 &#43;2940,7 @@ static bool trans_st(DisasContext *ctx, arg_ldst *a)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static bool trans_ldc(DisasContext *ctx, arg_ldst *a)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp mop = MO_TEUL | MO_ALIGN_16 | a-&gt;size;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp mop = MO_TEUL | MO_ALIGN_16 | a-&gt;size;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_reg zero, dest, ofs;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_tl addr;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>diff --git a/target/i386/translate.c b/target/i386/translate.c</div>\r\n"
- "<div>index 03150a8..def9867 100644</div>\r\n"
- "<div>--- a/target/i386/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/i386/translate.c</div>\r\n"
- "<div>@@ -87,8 &#43;87,8 @@ typedef struct DisasContext {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* current insn context */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int override; /* -1 if no override */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int prefix;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp aflag;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp dflag;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp aflag;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp dflag;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong pc_start;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong pc; /* pc = eip &#43; cs_base */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* current block context */</div>\r\n"
- "<div>@@ -149,7 &#43;149,7 @@ static void gen_eob(DisasContext *s);</div>\r\n"
- "<div>&nbsp;static void gen_jr(DisasContext *s, TCGv dest);</div>\r\n"
- "<div>&nbsp;static void gen_jmp(DisasContext *s, target_ulong eip);</div>\r\n"
- "<div>&nbsp;static void gen_jmp_tb(DisasContext *s, target_ulong eip, int tb_num);</div>\r\n"
- "<div>-static void gen_op(DisasContext *s1, int op, TCGMemOp ot, int d);</div>\r\n"
- "<div>&#43;static void gen_op(DisasContext *s1, int op, MemOp ot, int d);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* i386 arith/logic operations */</div>\r\n"
- "<div>&nbsp;enum {</div>\r\n"
- "<div>@@ -320,7 &#43;320,7 @@ static inline bool byte_reg_is_xH(DisasContext *s, int reg)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Select the size of a push/pop operation. &nbsp;*/</div>\r\n"
- "<div>-static inline TCGMemOp mo_pushpop(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline MemOp mo_pushpop(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (CODE64(s)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return ot == MO_16 ? MO_16 : MO_64;</div>\r\n"
- "<div>@@ -330,13 &#43;330,13 @@ static inline TCGMemOp mo_pushpop(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Select the size of the stack pointer. &nbsp;*/</div>\r\n"
- "<div>-static inline TCGMemOp mo_stacksize(DisasContext *s)</div>\r\n"
- "<div>&#43;static inline MemOp mo_stacksize(DisasContext *s)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_32 : MO_16;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Select only size 64 else 32. &nbsp;Used for SSE operand sizes. &nbsp;*/</div>\r\n"
- "<div>-static inline TCGMemOp mo_64_32(TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline MemOp mo_64_32(MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return ot == MO_64 ? MO_64 : MO_32;</div>\r\n"
- "<div>@@ -347,19 &#43;347,19 @@ static inline TCGMemOp mo_64_32(TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Select size 8 if lsb of B is clear, else OT. &nbsp;Used for decoding</div>\r\n"
- "<div>&nbsp; &nbsp; byte vs word opcodes. &nbsp;*/</div>\r\n"
- "<div>-static inline TCGMemOp mo_b_d(int b, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline MemOp mo_b_d(int b, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return b &amp; 1 ? ot : MO_8;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Select size 8 if lsb of B is clear, else OT capped at 32.</div>\r\n"
- "<div>&nbsp; &nbsp; Used for decoding operand size of port opcodes. &nbsp;*/</div>\r\n"
- "<div>-static inline TCGMemOp mo_b_d32(int b, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline MemOp mo_b_d32(int b, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return b &amp; 1 ? (ot == MO_16 ? MO_16 : MO_32) : MO_8;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_op_mov_reg_v(DisasContext *s, TCGMemOp ot, int reg, TCGv t0)</div>\r\n"
- "<div>&#43;static void gen_op_mov_reg_v(DisasContext *s, MemOp ot, int reg, TCGv t0)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch(ot) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>\r\n"
- "<div>@@ -388,7 &#43;388,7 @@ static void gen_op_mov_reg_v(DisasContext *s, TCGMemOp ot, int reg, TCGv t0)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline</div>\r\n"
- "<div>-void gen_op_mov_v_reg(DisasContext *s, TCGMemOp ot, TCGv t0, int reg)</div>\r\n"
- "<div>&#43;void gen_op_mov_v_reg(DisasContext *s, MemOp ot, TCGv t0, int reg)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (ot == MO_8 &amp;&amp; byte_reg_is_xH(s, reg)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_extract_tl(t0, cpu_regs[reg - 4], 8, 8);</div>\r\n"
- "<div>@@ -411,13 &#43;411,13 @@ static inline void gen_op_jmp_v(TCGv dest)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline</div>\r\n"
- "<div>-void gen_op_add_reg_im(DisasContext *s, TCGMemOp size, int reg, int32_t val)</div>\r\n"
- "<div>&#43;void gen_op_add_reg_im(DisasContext *s, MemOp size, int reg, int32_t val)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(s-&gt;tmp0, cpu_regs[reg], val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, size, reg, s-&gt;tmp0);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_op_add_reg_T0(DisasContext *s, TCGMemOp size, int reg)</div>\r\n"
- "<div>&#43;static inline void gen_op_add_reg_T0(DisasContext *s, MemOp size, int reg)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_add_tl(s-&gt;tmp0, cpu_regs[reg], s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, size, reg, s-&gt;tmp0);</div>\r\n"
- "<div>@@ -451,7 &#43;451,7 @@ static inline void gen_jmp_im(DisasContext *s, target_ulong pc)</div>\r\n"
- "<div>&nbsp;/* Compute SEG:REG into A0. &nbsp;SEG is selected from the override segment</div>\r\n"
- "<div>&nbsp; &nbsp; (OVR_SEG) and the default segment (DEF_SEG). &nbsp;OVR_SEG may be -1 to</div>\r\n"
- "<div>&nbsp; &nbsp; indicate no override. &nbsp;*/</div>\r\n"
- "<div>-static void gen_lea_v_seg(DisasContext *s, TCGMemOp aflag, TCGv a0,</div>\r\n"
- "<div>&#43;static void gen_lea_v_seg(DisasContext *s, MemOp aflag, TCGv a0,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int def_seg, int ovr_seg)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (aflag) {</div>\r\n"
- "<div>@@ -514,13 &#43;514,13 @@ static inline void gen_string_movl_A0_EDI(DisasContext *s)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_lea_v_seg(s, s-&gt;aflag, cpu_regs[R_EDI], R_ES, -1);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_op_movl_T0_Dshift(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline void gen_op_movl_T0_Dshift(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_ld32s_tl(s-&gt;T0, cpu_env, offsetof(CPUX86State, df));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_shli_tl(s-&gt;T0, s-&gt;T0, ot);</div>\r\n"
- "<div>&nbsp;};</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static TCGv gen_ext_tl(TCGv dst, TCGv src, TCGMemOp size, bool sign)</div>\r\n"
- "<div>&#43;static TCGv gen_ext_tl(TCGv dst, TCGv src, MemOp size, bool sign)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (size) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>\r\n"
- "<div>@@ -551,18 &#43;551,18 @@ static TCGv gen_ext_tl(TCGv dst, TCGv src, TCGMemOp size, bool sign)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_extu(TCGMemOp ot, TCGv reg)</div>\r\n"
- "<div>&#43;static void gen_extu(MemOp ot, TCGv reg)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_ext_tl(reg, reg, ot, false);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_exts(TCGMemOp ot, TCGv reg)</div>\r\n"
- "<div>&#43;static void gen_exts(MemOp ot, TCGv reg)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_ext_tl(reg, reg, ot, true);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline</div>\r\n"
- "<div>-void gen_op_jnz_ecx(DisasContext *s, TCGMemOp size, TCGLabel *label1)</div>\r\n"
- "<div>&#43;void gen_op_jnz_ecx(DisasContext *s, MemOp size, TCGLabel *label1)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_mov_tl(s-&gt;tmp0, cpu_regs[R_ECX]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_extu(size, s-&gt;tmp0);</div>\r\n"
- "<div>@@ -570,14 &#43;570,14 @@ void gen_op_jnz_ecx(DisasContext *s, TCGMemOp size, TCGLabel *label1)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline</div>\r\n"
- "<div>-void gen_op_jz_ecx(DisasContext *s, TCGMemOp size, TCGLabel *label1)</div>\r\n"
- "<div>&#43;void gen_op_jz_ecx(DisasContext *s, MemOp size, TCGLabel *label1)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_mov_tl(s-&gt;tmp0, cpu_regs[R_ECX]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_extu(size, s-&gt;tmp0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_brcondi_tl(TCG_COND_EQ, s-&gt;tmp0, 0, label1);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_helper_in_func(TCGMemOp ot, TCGv v, TCGv_i32 n)</div>\r\n"
- "<div>&#43;static void gen_helper_in_func(MemOp ot, TCGv v, TCGv_i32 n)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (ot) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>\r\n"
- "<div>@@ -594,7 &#43;594,7 @@ static void gen_helper_in_func(TCGMemOp ot, TCGv v, TCGv_i32 n)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_helper_out_func(TCGMemOp ot, TCGv_i32 v, TCGv_i32 n)</div>\r\n"
- "<div>&#43;static void gen_helper_out_func(MemOp ot, TCGv_i32 v, TCGv_i32 n)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (ot) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>\r\n"
- "<div>@@ -611,7 &#43;611,7 @@ static void gen_helper_out_func(TCGMemOp ot, TCGv_i32 v, TCGv_i32 n)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_check_io(DisasContext *s, TCGMemOp ot, target_ulong cur_eip,</div>\r\n"
- "<div>&#43;static void gen_check_io(DisasContext *s, MemOp ot, target_ulong cur_eip,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; uint32_t svm_flags)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong next_eip;</div>\r\n"
- "<div>@@ -644,7 &#43;644,7 @@ static void gen_check_io(DisasContext *s, TCGMemOp ot, target_ulong cur_eip,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_movs(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline void gen_movs(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_ESI(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, ot, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>@@ -840,7 &#43;840,7 @@ static CCPrepare gen_prepare_eflags_s(DisasContext *s, TCGv reg)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return (CCPrepare) { .cond = TCG_COND_NEVER, .mask = -1 };</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp size = (s-&gt;cc_op - CC_OP_ADDB) &amp; 3;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp size = (s-&gt;cc_op - CC_OP_ADDB) &amp; 3;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv t0 = gen_ext_tl(reg, cpu_cc_dst, size, true);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return (CCPrepare) { .cond = TCG_COND_LT, .reg = t0, .mask = -1 };</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -885,7 &#43;885,7 @@ static CCPrepare gen_prepare_eflags_z(DisasContext *s, TCGv reg)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .mask = -1 };</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp size = (s-&gt;cc_op - CC_OP_ADDB) &amp; 3;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp size = (s-&gt;cc_op - CC_OP_ADDB) &amp; 3;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv t0 = gen_ext_tl(reg, cpu_cc_dst, size, false);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return (CCPrepare) { .cond = TCG_COND_EQ, .reg = t0, .mask = -1 };</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -897,7 &#43;897,7 @@ static CCPrepare gen_prepare_eflags_z(DisasContext *s, TCGv reg)</div>\r\n"
- "<div>&nbsp;static CCPrepare gen_prepare_cc(DisasContext *s, int b, TCGv reg)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int inv, jcc_op, cond;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp size;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp size;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;CCPrepare cc;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv t0;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1075,7 &#43;1075,7 @@ static TCGLabel *gen_jz_ecx_string(DisasContext *s, target_ulong next_eip)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return l2;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_stos(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline void gen_stos(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_EDI(s);</div>\r\n"
- "<div>@@ -1084,7 &#43;1084,7 @@ static inline void gen_stos(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_add_reg_T0(s, s-&gt;aflag, R_EDI);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_lods(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline void gen_lods(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_ESI(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, ot, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>@@ -1093,7 &#43;1093,7 @@ static inline void gen_lods(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_add_reg_T0(s, s-&gt;aflag, R_ESI);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_scas(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline void gen_scas(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_EDI(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, ot, s-&gt;T1, s-&gt;A0);</div>\r\n"
- "<div>@@ -1102,7 &#43;1102,7 @@ static inline void gen_scas(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_add_reg_T0(s, s-&gt;aflag, R_EDI);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_cmps(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline void gen_cmps(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_EDI(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, ot, s-&gt;T1, s-&gt;A0);</div>\r\n"
- "<div>@@ -1126,7 &#43;1126,7 @@ static void gen_bpt_io(DisasContext *s, TCGv_i32 t_port, int ot)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_ins(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline void gen_ins(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (tb_cflags(s-&gt;base.tb) &amp; CF_USE_ICOUNT) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_io_start();</div>\r\n"
- "<div>@@ -1148,7 &#43;1148,7 @@ static inline void gen_ins(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_outs(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline void gen_outs(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (tb_cflags(s-&gt;base.tb) &amp; CF_USE_ICOUNT) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_io_start();</div>\r\n"
- "<div>@@ -1171,7 &#43;1171,7 @@ static inline void gen_outs(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;/* same method as Valgrind : we generate jumps to current or next</div>\r\n"
- "<div>&nbsp; &nbsp; instruction */</div>\r\n"
- "<div>&nbsp;#define GEN_REPZ(op) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>-static inline void gen_repz_ ## op(DisasContext *s, TCGMemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>&#43;static inline void gen_repz_ ## op(DisasContext *s, MemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target_ulong cur_eip, target_ulong next_eip) \\</div>\r\n"
- "<div>&nbsp;{ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGLabel *l2; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>@@ -1187,7 &#43;1187,7 @@ static inline void gen_repz_ ## op(DisasContext *s, TCGMemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;#define GEN_REPZ2(op) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>-static inline void gen_repz_ ## op(DisasContext *s, TCGMemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>&#43;static inline void gen_repz_ ## op(DisasContext *s, MemOp ot, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target_ulong cur_eip, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; target_ulong next_eip, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int nz) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>@@ -1284,7 &#43;1284,7 @@ static void gen_illegal_opcode(DisasContext *s)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* if d == OR_TMP0, it means memory operand (address in A0) */</div>\r\n"
- "<div>-static void gen_op(DisasContext *s1, int op, TCGMemOp ot, int d)</div>\r\n"
- "<div>&#43;static void gen_op(DisasContext *s1, int op, MemOp ot, int d)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (d != OR_TMP0) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s1-&gt;prefix &amp; PREFIX_LOCK) {</div>\r\n"
- "<div>@@ -1395,7 &#43;1395,7 @@ static void gen_op(DisasContext *s1, int op, TCGMemOp ot, int d)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* if d == OR_TMP0, it means memory operand (address in A0) */</div>\r\n"
- "<div>-static void gen_inc(DisasContext *s1, TCGMemOp ot, int d, int c)</div>\r\n"
- "<div>&#43;static void gen_inc(DisasContext *s1, MemOp ot, int d, int c)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (s1-&gt;prefix &amp; PREFIX_LOCK) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (d != OR_TMP0) {</div>\r\n"
- "<div>@@ -1421,7 &#43;1421,7 @@ static void gen_inc(DisasContext *s1, TCGMemOp ot, int d, int c)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;set_cc_op(s1, (c &gt; 0 ? CC_OP_INCB : CC_OP_DECB) &#43; ot);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_shift_flags(DisasContext *s, TCGMemOp ot, TCGv result,</div>\r\n"
- "<div>&#43;static void gen_shift_flags(DisasContext *s, MemOp ot, TCGv result,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv shm1, TCGv count, bool is_right)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 z32, s32, oldop;</div>\r\n"
- "<div>@@ -1466,7 &#43;1466,7 @@ static void gen_shift_flags(DisasContext *s, TCGMemOp ot, TCGv result,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;set_cc_op(s, CC_OP_DYNAMIC);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_shift_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>\r\n"
- "<div>&#43;static void gen_shift_rm_T1(DisasContext *s, MemOp ot, int op1,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int is_right, int is_arith)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong mask = (ot == MO_64 ? 0x3f : 0x1f);</div>\r\n"
- "<div>@@ -1502,7 &#43;1502,7 @@ static void gen_shift_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_shift_flags(s, ot, s-&gt;T0, s-&gt;tmp0, s-&gt;T1, is_right);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_shift_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>\r\n"
- "<div>&#43;static void gen_shift_rm_im(DisasContext *s, MemOp ot, int op1, int op2,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int is_right, int is_arith)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mask = (ot == MO_64 ? 0x3f : 0x1f);</div>\r\n"
- "<div>@@ -1542,7 &#43;1542,7 @@ static void gen_shift_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_rot_rm_T1(DisasContext *s, TCGMemOp ot, int op1, int is_right)</div>\r\n"
- "<div>&#43;static void gen_rot_rm_T1(DisasContext *s, MemOp ot, int op1, int is_right)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong mask = (ot == MO_64 ? 0x3f : 0x1f);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 t0, t1;</div>\r\n"
- "<div>@@ -1627,7 &#43;1627,7 @@ static void gen_rot_rm_T1(DisasContext *s, TCGMemOp ot, int op1, int is_right)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;set_cc_op(s, CC_OP_DYNAMIC);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_rot_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>\r\n"
- "<div>&#43;static void gen_rot_rm_im(DisasContext *s, MemOp ot, int op1, int op2,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int is_right)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mask = (ot == MO_64 ? 0x3f : 0x1f);</div>\r\n"
- "<div>@@ -1705,7 &#43;1705,7 @@ static void gen_rot_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* XXX: add faster immediate = 1 case */</div>\r\n"
- "<div>-static void gen_rotc_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>\r\n"
- "<div>&#43;static void gen_rotc_rm_T1(DisasContext *s, MemOp ot, int op1,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int is_right)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_compute_eflags(s);</div>\r\n"
- "<div>@@ -1761,7 &#43;1761,7 @@ static void gen_rotc_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* XXX: add faster immediate case */</div>\r\n"
- "<div>-static void gen_shiftd_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>\r\n"
- "<div>&#43;static void gen_shiftd_rm_T1(DisasContext *s, MemOp ot, int op1,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bool is_right, TCGv count_in)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong mask = (ot == MO_64 ? 63 : 31);</div>\r\n"
- "<div>@@ -1842,7 &#43;1842,7 @@ static void gen_shiftd_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_temp_free(count);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_shift(DisasContext *s1, int op, TCGMemOp ot, int d, int s)</div>\r\n"
- "<div>&#43;static void gen_shift(DisasContext *s1, int op, MemOp ot, int d, int s)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (s != OR_TMP1)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s1, ot, s1-&gt;T1, s);</div>\r\n"
- "<div>@@ -1872,7 &#43;1872,7 @@ static void gen_shift(DisasContext *s1, int op, TCGMemOp ot, int d, int s)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_shifti(DisasContext *s1, int op, TCGMemOp ot, int d, int c)</div>\r\n"
- "<div>&#43;static void gen_shifti(DisasContext *s1, int op, MemOp ot, int d, int c)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch(op) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case OP_ROL:</div>\r\n"
- "<div>@@ -2149,7 &#43;2149,7 @@ static void gen_add_A0_ds_seg(DisasContext *s)</div>\r\n"
- "<div>&nbsp;/* generate modrm memory load or store of 'reg'. TMP0 is used if reg ==</div>\r\n"
- "<div>&nbsp; &nbsp; OR_TMP0 */</div>\r\n"
- "<div>&nbsp;static void gen_ldst_modrm(CPUX86State *env, DisasContext *s, int modrm,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp ot, int reg, int is_store)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp ot, int reg, int is_store)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mod, rm;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2179,7 &#43;2179,7 @@ static void gen_ldst_modrm(CPUX86State *env, DisasContext *s, int modrm,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint32_t ret;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2202,7 &#43;2202,7 @@ static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return ret;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline int insn_const_size(TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline int insn_const_size(MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (ot &lt;= MO_32) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 1 &lt;&lt; ot;</div>\r\n"
- "<div>@@ -2266,7 &#43;2266,7 @@ static inline void gen_jcc(DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_cmovcc1(CPUX86State *env, DisasContext *s, TCGMemOp ot, int b,</div>\r\n"
- "<div>&#43;static void gen_cmovcc1(CPUX86State *env, DisasContext *s, MemOp ot, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int modrm, int reg)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;CCPrepare cc;</div>\r\n"
- "<div>@@ -2363,8 &#43;2363,8 @@ static inline void gen_stack_update(DisasContext *s, int addend)</div>\r\n"
- "<div>&nbsp;/* Generate a push. It depends on ss32, addseg and dflag. &nbsp;*/</div>\r\n"
- "<div>&nbsp;static void gen_push_v(DisasContext *s, TCGv val)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp a_ot = mo_stacksize(s);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp a_ot = mo_stacksize(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int size = 1 &lt;&lt; d_ot;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv new_esp = s-&gt;A0;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2383,9 &#43;2383,9 @@ static void gen_push_v(DisasContext *s, TCGv val)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* two step pop is necessary for precise exceptions */</div>\r\n"
- "<div>-static TCGMemOp gen_pop_T0(DisasContext *s)</div>\r\n"
- "<div>&#43;static MemOp gen_pop_T0(DisasContext *s)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_lea_v_seg(s, mo_stacksize(s), cpu_regs[R_ESP], R_SS, -1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, d_ot, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>@@ -2393,7 &#43;2393,7 @@ static TCGMemOp gen_pop_T0(DisasContext *s)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return d_ot;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void gen_pop_update(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&#43;static inline void gen_pop_update(DisasContext *s, MemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_stack_update(s, 1 &lt;&lt; ot);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>@@ -2405,8 &#43;2405,8 @@ static inline void gen_stack_A0(DisasContext *s)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_pusha(DisasContext *s)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp s_ot = s-&gt;ss32 ? MO_32 : MO_16;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp d_ot = s-&gt;dflag;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp s_ot = s-&gt;ss32 ? MO_32 : MO_16;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp d_ot = s-&gt;dflag;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int size = 1 &lt;&lt; d_ot;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int i;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2421,8 &#43;2421,8 @@ static void gen_pusha(DisasContext *s)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_popa(DisasContext *s)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp s_ot = s-&gt;ss32 ? MO_32 : MO_16;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp d_ot = s-&gt;dflag;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp s_ot = s-&gt;ss32 ? MO_32 : MO_16;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp d_ot = s-&gt;dflag;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int size = 1 &lt;&lt; d_ot;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int i;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2442,8 &#43;2442,8 @@ static void gen_popa(DisasContext *s)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_enter(DisasContext *s, int esp_addend, int level)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp a_ot = CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_32 : MO_16;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp a_ot = CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_32 : MO_16;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int size = 1 &lt;&lt; d_ot;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Push BP; compute FrameTemp into T1. &nbsp;*/</div>\r\n"
- "<div>@@ -2482,8 &#43;2482,8 @@ static void gen_enter(DisasContext *s, int esp_addend, int level)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_leave(DisasContext *s)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp a_ot = mo_stacksize(s);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp d_ot = mo_pushpop(s, s-&gt;dflag);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp a_ot = mo_stacksize(s);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_lea_v_seg(s, a_ot, cpu_regs[R_EBP], R_SS, -1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_ld_v(s, d_ot, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>@@ -3045,7 &#43;3045,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;SSEFunc_0_eppi sse_fn_eppi;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;SSEFunc_0_ppi sse_fn_ppi;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;SSEFunc_0_eppt sse_fn_eppt;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp ot;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp ot;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;b &amp;= 0xff;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (s-&gt;prefix &amp; PREFIX_DATA)</div>\r\n"
- "<div>@@ -4488,7 &#43;4488,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;CPUX86State *env = cpu-&gt;env_ptr;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int b, prefixes;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int shift;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp ot, aflag, dflag;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp ot, aflag, dflag;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int modrm, reg, rm, mod, op, opreg, val;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong next_eip, tval;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int rex_w, rex_r;</div>\r\n"
- "<div>@@ -5567,8 &#43;5567,8 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x1be: /* movsbS Gv, Eb */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x1bf: /* movswS Gv, Eb */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp d_ot;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp s_ot;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp d_ot;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp s_ot;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* d_ot is the size of destination */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;d_ot = dflag;</div>\r\n"
- "<div>diff --git a/target/m68k/translate.c b/target/m68k/translate.c</div>\r\n"
- "<div>index 60bcfb7..24c1dd3 100644</div>\r\n"
- "<div>--- a/target/m68k/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/m68k/translate.c</div>\r\n"
- "<div>@@ -2414,7 &#43;2414,7 @@ DISAS_INSN(cas)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint16_t ext;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv load;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv cmp;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch ((insn &gt;&gt; 9) &amp; 3) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 1:</div>\r\n"
- "<div>diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c</div>\r\n"
- "<div>index 9ce65f3..41d1b8b 100644</div>\r\n"
- "<div>--- a/target/microblaze/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/microblaze/translate.c</div>\r\n"
- "<div>@@ -919,7 &#43;919,7 @@ static void dec_load(DisasContext *dc)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned int size;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool rev = false, ex = false, ea = false;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_index = cpu_mmu_index(&amp;dc-&gt;cpu-&gt;env, false);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp mop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp mop;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;mop = dc-&gt;opcode &amp; 3;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;size = 1 &lt;&lt; mop;</div>\r\n"
- "<div>@@ -1035,7 &#43;1035,7 @@ static void dec_store(DisasContext *dc)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned int size;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool rev = false, ex = false, ea = false;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_index = cpu_mmu_index(&amp;dc-&gt;cpu-&gt;env, false);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp mop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp mop;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;mop = dc-&gt;opcode &amp; 3;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;size = 1 &lt;&lt; mop;</div>\r\n"
- "<div>diff --git a/target/mips/translate.c b/target/mips/translate.c</div>\r\n"
- "<div>index ca62800..59b5d85 100644</div>\r\n"
- "<div>--- a/target/mips/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/mips/translate.c</div>\r\n"
- "<div>@@ -2526,7 &#43;2526,7 @@ typedef struct DisasContext {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int32_t CP0_Config5;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Routine used to access memory */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_idx;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp default_tcg_memop_mask;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp default_tcg_memop_mask;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint32_t hflags, saved_hflags;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong btarget;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool ulri;</div>\r\n"
- "<div>@@ -3706,7 &#43;3706,7 @@ static void gen_st(DisasContext *ctx, uint32_t opc, int rt,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Store conditional */</div>\r\n"
- "<div>&nbsp;static void gen_st_cond(DisasContext *ctx, int rt, int base, int offset,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp tcg_mo, bool eva)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp tcg_mo, bool eva)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv addr, t0, val;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGLabel *l1 = gen_new_label();</div>\r\n"
- "<div>@@ -4546,7 &#43;4546,7 @@ static void gen_HILO(DisasContext *ctx, uint32_t opc, int acc, int reg)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline void gen_r6_ld(target_long addr, int reg, int memidx,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_const_tl(addr);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_tl(t0, t0, memidx, memop);</div>\r\n"
- "<div>@@ -21828,7 &#43;21828,7 @@ static int decode_nanomips_32_48_opc(CPUMIPSState *env, DisasContext *ctx)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; extract32(ctx-&gt;opcode, 0, 8);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv va = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv t1 = tcg_temp_new();</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop = (extract32(ctx-&gt;opcode, 8, 3)) ==</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop = (extract32(ctx-&gt;opcode, 8, 3)) ==</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NM_P_LS_UAWM ? MO_UNALN : 0;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;count = (count == 0) ? 8 : count;</div>\r\n"
- "<div>diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c</div>\r\n"
- "<div>index 4360ce4..b189c50 100644</div>\r\n"
- "<div>--- a/target/openrisc/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/openrisc/translate.c</div>\r\n"
- "<div>@@ -681,7 &#43;681,7 @@ static bool trans_l_lwa(DisasContext *dc, arg_load *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return true;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void do_load(DisasContext *dc, arg_load *a, TCGMemOp mop)</div>\r\n"
- "<div>&#43;static void do_load(DisasContext *dc, arg_load *a, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv ea;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -763,7 &#43;763,7 @@ static bool trans_l_swa(DisasContext *dc, arg_store *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return true;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void do_store(DisasContext *dc, arg_store *a, TCGMemOp mop)</div>\r\n"
- "<div>&#43;static void do_store(DisasContext *dc, arg_store *a, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(t0, cpu_R[a-&gt;a], a-&gt;i);</div>\r\n"
- "<div>diff --git a/target/ppc/translate.c b/target/ppc/translate.c</div>\r\n"
- "<div>index 4a5de28..31800ed 100644</div>\r\n"
- "<div>--- a/target/ppc/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/ppc/translate.c</div>\r\n"
- "<div>@@ -162,7 &#43;162,7 @@ struct DisasContext {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_idx;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int access_type;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Translation flags */</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp default_tcg_memop_mask;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp default_tcg_memop_mask;</div>\r\n"
- "<div>&nbsp;#if defined(TARGET_PPC64)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool sf_mode;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool has_cfar;</div>\r\n"
- "<div>@@ -3142,7 &#43;3142,7 @@ static void gen_isync(DisasContext *ctx)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;#define MEMOP_GET_SIZE(x) &nbsp;(1 &lt;&lt; ((x) &amp; MO_SIZE))</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_load_locked(DisasContext *ctx, TCGMemOp memop)</div>\r\n"
- "<div>&#43;static void gen_load_locked(DisasContext *ctx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv gpr = cpu_gpr[rD(ctx-&gt;opcode)];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_temp_new();</div>\r\n"
- "<div>@@ -3167,7 &#43;3167,7 @@ LARX(lbarx, DEF_MEMOP(MO_UB))</div>\r\n"
- "<div>&nbsp;LARX(lharx, DEF_MEMOP(MO_UW))</div>\r\n"
- "<div>&nbsp;LARX(lwarx, DEF_MEMOP(MO_UL))</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_fetch_inc_conditional(DisasContext *ctx, TCGMemOp memop,</div>\r\n"
- "<div>&#43;static void gen_fetch_inc_conditional(DisasContext *ctx, MemOp memop,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv EA, TCGCond cond, int addend)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv t = tcg_temp_new();</div>\r\n"
- "<div>@@ -3193,7 &#43;3193,7 @@ static void gen_fetch_inc_conditional(DisasContext *ctx, TCGMemOp memop,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_temp_free(u);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_ld_atomic(DisasContext *ctx, TCGMemOp memop)</div>\r\n"
- "<div>&#43;static void gen_ld_atomic(DisasContext *ctx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint32_t gpr_FC = FC(ctx-&gt;opcode);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv EA = tcg_temp_new();</div>\r\n"
- "<div>@@ -3306,7 &#43;3306,7 @@ static void gen_ldat(DisasContext *ctx)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_st_atomic(DisasContext *ctx, TCGMemOp memop)</div>\r\n"
- "<div>&#43;static void gen_st_atomic(DisasContext *ctx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint32_t gpr_FC = FC(ctx-&gt;opcode);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv EA = tcg_temp_new();</div>\r\n"
- "<div>@@ -3389,7 &#43;3389,7 @@ static void gen_stdat(DisasContext *ctx)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void gen_conditional_store(DisasContext *ctx, TCGMemOp memop)</div>\r\n"
- "<div>&#43;static void gen_conditional_store(DisasContext *ctx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGLabel *l1 = gen_new_label();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGLabel *l2 = gen_new_label();</div>\r\n"
- "<div>diff --git a/target/riscv/insn_trans/trans_rva.inc.c b/target/riscv/insn_trans/trans_rva.inc.c</div>\r\n"
- "<div>index fadd888..be8a9f0 100644</div>\r\n"
- "<div>--- a/target/riscv/insn_trans/trans_rva.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/riscv/insn_trans/trans_rva.inc.c</div>\r\n"
- "<div>@@ -18,7 &#43;18,7 @@</div>\r\n"
- "<div>&nbsp; * this program. &nbsp;If not, see &lt;http://www.gnu.org/licenses/&gt;.</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline bool gen_lr(DisasContext *ctx, arg_atomic *a, TCGMemOp mop)</div>\r\n"
- "<div>&#43;static inline bool gen_lr(DisasContext *ctx, arg_atomic *a, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv src1 = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Put addr in load_res, data in load_val. &nbsp;*/</div>\r\n"
- "<div>@@ -37,7 &#43;37,7 @@ static inline bool gen_lr(DisasContext *ctx, arg_atomic *a, TCGMemOp mop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return true;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline bool gen_sc(DisasContext *ctx, arg_atomic *a, TCGMemOp mop)</div>\r\n"
- "<div>&#43;static inline bool gen_sc(DisasContext *ctx, arg_atomic *a, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv src1 = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv src2 = tcg_temp_new();</div>\r\n"
- "<div>@@ -82,8 &#43;82,8 @@ static inline bool gen_sc(DisasContext *ctx, arg_atomic *a, TCGMemOp mop)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static bool gen_amo(DisasContext *ctx, arg_atomic *a,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void(*func)(TCGv, TCGv, TCGv, TCGArg, TCGMemOp),</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void(*func)(TCGv, TCGv, TCGv, TCGArg, MemOp),</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv src1 = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv src2 = tcg_temp_new();</div>\r\n"
- "<div>diff --git a/target/riscv/insn_trans/trans_rvi.inc.c b/target/riscv/insn_trans/trans_rvi.inc.c</div>\r\n"
- "<div>index ea64731..cf440d1 100644</div>\r\n"
- "<div>--- a/target/riscv/insn_trans/trans_rvi.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/riscv/insn_trans/trans_rvi.inc.c</div>\r\n"
- "<div>@@ -135,7 &#43;135,7 @@ static bool trans_bgeu(DisasContext *ctx, arg_bgeu *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return gen_branch(ctx, a, TCG_COND_GEU);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static bool gen_load(DisasContext *ctx, arg_lb *a, TCGMemOp memop)</div>\r\n"
- "<div>&#43;static bool gen_load(DisasContext *ctx, arg_lb *a, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv t1 = tcg_temp_new();</div>\r\n"
- "<div>@@ -174,7 &#43;174,7 @@ static bool trans_lhu(DisasContext *ctx, arg_lhu *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return gen_load(ctx, a, MO_TEUW);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static bool gen_store(DisasContext *ctx, arg_sb *a, TCGMemOp memop)</div>\r\n"
- "<div>&#43;static bool gen_store(DisasContext *ctx, arg_sb *a, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv t0 = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv dat = tcg_temp_new();</div>\r\n"
- "<div>diff --git a/target/s390x/translate.c b/target/s390x/translate.c</div>\r\n"
- "<div>index ac0d8b6..2927247 100644</div>\r\n"
- "<div>--- a/target/s390x/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/s390x/translate.c</div>\r\n"
- "<div>@@ -152,7 &#43;152,7 @@ static inline int vec_full_reg_offset(uint8_t reg)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return offsetof(CPUS390XState, vregs[reg][0]);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline int vec_reg_offset(uint8_t reg, uint8_t enr, TCGMemOp es)</div>\r\n"
- "<div>&#43;static inline int vec_reg_offset(uint8_t reg, uint8_t enr, MemOp es)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Convert element size (es) - e.g. MO_8 - to bytes */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const uint8_t bytes = 1 &lt;&lt; es;</div>\r\n"
- "<div>@@ -2262,7 &#43;2262,7 @@ static DisasJumpType op_csst(DisasContext *s, DisasOps *o)</div>\r\n"
- "<div>&nbsp;#ifndef CONFIG_USER_ONLY</div>\r\n"
- "<div>&nbsp;static DisasJumpType op_csp(DisasContext *s, DisasOps *o)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp mop = s-&gt;insn-&gt;data;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp mop = s-&gt;insn-&gt;data;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 addr, old, cc;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGLabel *lab = gen_new_label();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -3228,7 &#43;3228,7 @@ static DisasJumpType op_lm64(DisasContext *s, DisasOps *o)</div>\r\n"
- "<div>&nbsp;static DisasJumpType op_lpd(DisasContext *s, DisasOps *o)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 a1, a2;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp mop = s-&gt;insn-&gt;data;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp mop = s-&gt;insn-&gt;data;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* In a parallel context, stop the world and single step. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (tb_cflags(s-&gt;base.tb) &amp; CF_PARALLEL) {</div>\r\n"
- "<div>diff --git a/target/s390x/translate_vx.inc.c b/target/s390x/translate_vx.inc.c</div>\r\n"
- "<div>index 41d5cf8..4c56bbb 100644</div>\r\n"
- "<div>--- a/target/s390x/translate_vx.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/s390x/translate_vx.inc.c</div>\r\n"
- "<div>@@ -57,13 &#43;57,13 @@</div>\r\n"
- "<div>&nbsp;#define FPF_LONG &nbsp; &nbsp; &nbsp; &nbsp;3</div>\r\n"
- "<div>&nbsp;#define FPF_EXT &nbsp; &nbsp; &nbsp; &nbsp; 4</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline bool valid_vec_element(uint8_t enr, TCGMemOp es)</div>\r\n"
- "<div>&#43;static inline bool valid_vec_element(uint8_t enr, MemOp es)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return !(enr &amp; ~(NUM_VEC_ELEMENTS(es) - 1));</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void read_vec_element_i64(TCGv_i64 dst, uint8_t reg, uint8_t enr,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const int offs = vec_reg_offset(reg, enr, memop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -96,7 &#43;96,7 @@ static void read_vec_element_i64(TCGv_i64 dst, uint8_t reg, uint8_t enr,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void read_vec_element_i32(TCGv_i32 dst, uint8_t reg, uint8_t enr,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const int offs = vec_reg_offset(reg, enr, memop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -123,7 &#43;123,7 @@ static void read_vec_element_i32(TCGv_i32 dst, uint8_t reg, uint8_t enr,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void write_vec_element_i64(TCGv_i64 src, int reg, uint8_t enr,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const int offs = vec_reg_offset(reg, enr, memop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -146,7 &#43;146,7 @@ static void write_vec_element_i64(TCGv_i64 src, int reg, uint8_t enr,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void write_vec_element_i32(TCGv_i32 src, int reg, uint8_t enr,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const int offs = vec_reg_offset(reg, enr, memop &amp; MO_SIZE);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>diff --git a/target/sparc/translate.c b/target/sparc/translate.c</div>\r\n"
- "<div>index 091bab5..bef9ce6 100644</div>\r\n"
- "<div>--- a/target/sparc/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/sparc/translate.c</div>\r\n"
- "<div>@@ -2019,7 &#43;2019,7 @@ static inline void gen_ne_fop_QD(DisasContext *dc, int rd, int rs,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_swap(DisasContext *dc, TCGv dst, TCGv src,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGv addr, int mmu_idx, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGv addr, int mmu_idx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_address_mask(dc, addr);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_atomic_xchg_tl(dst, addr, src, mmu_idx, memop);</div>\r\n"
- "<div>@@ -2050,10 &#43;2050,10 @@ typedef struct {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;ASIType type;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int asi;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_idx;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop;</div>\r\n"
- "<div>&nbsp;} DisasASI;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static DisasASI get_asi(DisasContext *dc, int insn, TCGMemOp memop)</div>\r\n"
- "<div>&#43;static DisasASI get_asi(DisasContext *dc, int insn, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int asi = GET_FIELD(insn, 19, 26);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;ASIType type = GET_ASI_HELPER;</div>\r\n"
- "<div>@@ -2267,7 &#43;2267,7 @@ static DisasASI get_asi(DisasContext *dc, int insn, TCGMemOp memop)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_ld_asi(DisasContext *dc, TCGv dst, TCGv addr,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int insn, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int insn, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;DisasASI da = get_asi(dc, insn, memop);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2305,7 &#43;2305,7 @@ static void gen_ld_asi(DisasContext *dc, TCGv dst, TCGv addr,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_st_asi(DisasContext *dc, TCGv src, TCGv addr,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int insn, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int insn, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;DisasASI da = get_asi(dc, insn, memop);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2511,7 &#43;2511,7 @@ static void gen_ldf_asi(DisasContext *dc, TCGv addr,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case GET_ASI_BLOCK:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Valid for lddfa on aligned registers only. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 8 &amp;&amp; (rd &amp; 7) == 0) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv eight;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int i;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2625,7 &#43;2625,7 @@ static void gen_stf_asi(DisasContext *dc, TCGv addr,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case GET_ASI_BLOCK:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Valid for stdfa on aligned registers only. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 8 &amp;&amp; (rd &amp; 7) == 0) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp memop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp memop;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv eight;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int i;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>diff --git a/target/tilegx/translate.c b/target/tilegx/translate.c</div>\r\n"
- "<div>index c46a4ab..68dd4aa 100644</div>\r\n"
- "<div>--- a/target/tilegx/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/tilegx/translate.c</div>\r\n"
- "<div>@@ -290,7 &#43;290,7 @@ static void gen_cmul2(TCGv tdest, TCGv tsrca, TCGv tsrcb, int sh, int rd)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static TileExcp gen_st_opcode(DisasContext *dc, unsigned dest, unsigned srca,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned srcb, TCGMemOp memop, const char *name)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned srcb, MemOp memop, const char *name)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (dest) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return TILEGX_EXCP_OPCODE_UNKNOWN;</div>\r\n"
- "<div>@@ -305,7 &#43;305,7 @@ static TileExcp gen_st_opcode(DisasContext *dc, unsigned dest, unsigned srca,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static TileExcp gen_st_add_opcode(DisasContext *dc, unsigned srca, unsigned srcb,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int imm, TCGMemOp memop, const char *name)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int imm, MemOp memop, const char *name)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv tsrca = load_gr(dc, srca);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv tsrcb = load_gr(dc, srcb);</div>\r\n"
- "<div>@@ -496,7 &#43;496,7 @@ static TileExcp gen_rr_opcode(DisasContext *dc, unsigned opext,</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv tdest, tsrca;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const char *mnemonic;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TileExcp ret = TILEGX_EXCP_NONE;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool prefetch_nofault = false;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1478,7 &#43;1478,7 @@ static TileExcp gen_rri_opcode(DisasContext *dc, unsigned opext,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv tsrca = load_gr(dc, srca);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool prefetch_nofault = false;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const char *mnemonic;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int i2, i3;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv t0;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2106,7 &#43;2106,7 @@ static TileExcp decode_y2(DisasContext *dc, tilegx_bundle_bits bundle)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned srca = get_SrcA_Y2(bundle);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned srcbdest = get_SrcBDest_Y2(bundle);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const char *mnemonic;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bool prefetch_nofault = false;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (OEY2(opc, mode)) {</div>\r\n"
- "<div>diff --git a/target/tricore/translate.c b/target/tricore/translate.c</div>\r\n"
- "<div>index dc2a65f..87a5f50 100644</div>\r\n"
- "<div>--- a/target/tricore/translate.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/tricore/translate.c</div>\r\n"
- "<div>@@ -227,7 &#43;227,7 @@ static inline void generate_trap(DisasContext *ctx, int class, int tin);</div>\r\n"
- "<div>&nbsp;/* Functions for load/save to/from memory */</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline void gen_offset_ld(DisasContext *ctx, TCGv r1, TCGv r2,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int16_t con, TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int16_t con, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv temp = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(temp, r2, con);</div>\r\n"
- "<div>@@ -236,7 &#43;236,7 @@ static inline void gen_offset_ld(DisasContext *ctx, TCGv r1, TCGv r2,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline void gen_offset_st(DisasContext *ctx, TCGv r1, TCGv r2,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int16_t con, TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int16_t con, MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv temp = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(temp, r2, con);</div>\r\n"
- "<div>@@ -284,7 &#43;284,7 @@ static void gen_offset_ld_2regs(TCGv rh, TCGv rl, TCGv base, int16_t con,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_st_preincr(DisasContext *ctx, TCGv r1, TCGv r2, int16_t off,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv temp = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(temp, r2, off);</div>\r\n"
- "<div>@@ -294,7 &#43;294,7 @@ static void gen_st_preincr(DisasContext *ctx, TCGv r1, TCGv r2, int16_t off,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_ld_preincr(DisasContext *ctx, TCGv r1, TCGv r2, int16_t off,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp mop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp mop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv temp = tcg_temp_new();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_addi_tl(temp, r2, off);</div>\r\n"
- "<div>diff --git a/tcg/README b/tcg/README</div>\r\n"
- "<div>index 21fcdf7..b4382fa 100644</div>\r\n"
- "<div>--- a/tcg/README</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/README</div>\r\n"
- "<div>@@ -512,7 &#43;512,7 @@ Both t0 and t1 may be split into little-endian ordered pairs of registers</div>\r\n"
- "<div>&nbsp;if dealing with 64-bit quantities on a 32-bit host.</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;The memidx selects the qemu tlb index to use (e.g. user or kernel access).</div>\r\n"
- "<div>-The flags are the TCGMemOp bits, selecting the sign, width, and endianness</div>\r\n"
- "<div>&#43;The flags are the MemOp bits, selecting the sign, width, and endianness</div>\r\n"
- "<div>&nbsp;of the memory access.</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;For a 32-bit host, qemu_ld/st_i64 is guaranteed to only be used with a</div>\r\n"
- "<div>diff --git a/tcg/aarch64/tcg-target.inc.c b/tcg/aarch64/tcg-target.inc.c</div>\r\n"
- "<div>index 0713448..3f92101 100644</div>\r\n"
- "<div>--- a/tcg/aarch64/tcg-target.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/aarch64/tcg-target.inc.c</div>\r\n"
- "<div>@@ -1423,7 &#43;1423,7 @@ static inline void tcg_out_rev16(TCGContext *s, TCGReg rd, TCGReg rn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_out_insn(s, 3507, REV16, TCG_TYPE_I32, rd, rn);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void tcg_out_sxt(TCGContext *s, TCGType ext, TCGMemOp s_bits,</div>\r\n"
- "<div>&#43;static inline void tcg_out_sxt(TCGContext *s, TCGType ext, MemOp s_bits,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg rd, TCGReg rn)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Using ALIASes SXTB, SXTH, SXTW, of SBFM Xd, Xn, #0, #7|15|31 */</div>\r\n"
- "<div>@@ -1431,7 &#43;1431,7 @@ static inline void tcg_out_sxt(TCGContext *s, TCGType ext, TCGMemOp s_bits,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_out_sbfm(s, ext, rd, rn, 0, bits);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void tcg_out_uxt(TCGContext *s, TCGMemOp s_bits,</div>\r\n"
- "<div>&#43;static inline void tcg_out_uxt(TCGContext *s, MemOp s_bits,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg rd, TCGReg rn)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Using ALIASes UXTB, UXTH of UBFM Wd, Wn, #0, #7|15 */</div>\r\n"
- "<div>@@ -1580,8 &#43;1580,8 @@ static inline void tcg_out_adr(TCGContext *s, TCGReg rd, void *target)</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp size = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp size = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc19(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false;</div>\r\n"
- "<div>@@ -1605,8 &#43;1605,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp size = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp size = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc19(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false;</div>\r\n"
- "<div>@@ -1649,7 &#43;1649,7 @@ QEMU_BUILD_BUG_ON(offsetof(CPUTLBDescFast, table) != 8);</div>\r\n"
- "<div>&nbsp; &nbsp; slow path for the failure case, which will be patched later when finalizing</div>\r\n"
- "<div>&nbsp; &nbsp; the slow path. Generated code returns the host addend in X1,</div>\r\n"
- "<div>&nbsp; &nbsp; clobbers X0,X2,X3,TMP. */</div>\r\n"
- "<div>-static void tcg_out_tlb_read(TCGContext *s, TCGReg addr_reg, TCGMemOp opc,</div>\r\n"
- "<div>&#43;static void tcg_out_tlb_read(TCGContext *s, TCGReg addr_reg, MemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcg_insn_unit **label_ptr, int mem_index,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bool is_read)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>@@ -1709,11 &#43;1709,11 @@ static void tcg_out_tlb_read(TCGContext *s, TCGReg addr_reg, TCGMemOp opc,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;#endif /* CONFIG_SOFTMMU */</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp memop, TCGType ext,</div>\r\n"
- "<div>&#43;static void tcg_out_qemu_ld_direct(TCGContext *s, MemOp memop, TCGType ext,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg data_r, TCGReg addr_r,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGType otype, TCGReg off_r)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;const TCGMemOp bswap = memop &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;const MemOp bswap = memop &amp; MO_BSWAP;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (memop &amp; MO_SSIZE) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UB:</div>\r\n"
- "<div>@@ -1765,11 &#43;1765,11 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp memop, TCGType ext,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp memop,</div>\r\n"
- "<div>&#43;static void tcg_out_qemu_st_direct(TCGContext *s, MemOp memop,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg data_r, TCGReg addr_r,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGType otype, TCGReg off_r)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;const TCGMemOp bswap = memop &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;const MemOp bswap = memop &amp; MO_BSWAP;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (memop &amp; MO_SIZE) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>\r\n"
- "<div>@@ -1804,7 &#43;1804,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp memop,</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_ld(TCGContext *s, TCGReg data_reg, TCGReg addr_reg,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi, TCGType ext)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const TCGType otype = TARGET_LONG_BITS == 64 ? TCG_TYPE_I64 : TCG_TYPE_I32;</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned mem_index = get_mmuidx(oi);</div>\r\n"
- "<div>@@ -1829,7 &#43;1829,7 @@ static void tcg_out_qemu_ld(TCGContext *s, TCGReg data_reg, TCGReg addr_reg,</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_st(TCGContext *s, TCGReg data_reg, TCGReg addr_reg,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const TCGType otype = TARGET_LONG_BITS == 64 ? TCG_TYPE_I64 : TCG_TYPE_I32;</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned mem_index = get_mmuidx(oi);</div>\r\n"
- "<div>diff --git a/tcg/arm/tcg-target.inc.c b/tcg/arm/tcg-target.inc.c</div>\r\n"
- "<div>index ece88dc..94d80d7 100644</div>\r\n"
- "<div>--- a/tcg/arm/tcg-target.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/arm/tcg-target.inc.c</div>\r\n"
- "<div>@@ -1233,7 &#43;1233,7 @@ QEMU_BUILD_BUG_ON(offsetof(CPUTLBDescFast, table) != 4);</div>\r\n"
- "<div>&nbsp; &nbsp; containing the addend of the tlb entry. &nbsp;Clobbers R0, R1, R2, TMP. &nbsp;*/</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static TCGReg tcg_out_tlb_read(TCGContext *s, TCGReg addrlo, TCGReg addrhi,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp opc, int mem_index, bool is_load)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp opc, int mem_index, bool is_load)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int cmp_off = (is_load ? offsetof(CPUTLBEntry, addr_read)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : offsetof(CPUTLBEntry, addr_write));</div>\r\n"
- "<div>@@ -1348,7 &#43;1348,7 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg argreg, datalo, datahi;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;void *func;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc24(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>\r\n"
- "<div>@@ -1412,7 &#43;1412,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg argreg, datalo, datahi;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc24(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false;</div>\r\n"
- "<div>@@ -1453,11 &#43;1453,11 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;#endif /* SOFTMMU */</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void tcg_out_qemu_ld_index(TCGContext *s, TCGMemOp opc,</div>\r\n"
- "<div>&#43;static inline void tcg_out_qemu_ld_index(TCGContext *s, MemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg datalo, TCGReg datahi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrlo, TCGReg addend)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SSIZE) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UB:</div>\r\n"
- "<div>@@ -1514,11 &#43;1514,11 @@ static inline void tcg_out_qemu_ld_index(TCGContext *s, TCGMemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp opc,</div>\r\n"
- "<div>&#43;static inline void tcg_out_qemu_ld_direct(TCGContext *s, MemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGReg datalo, TCGReg datahi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGReg addrlo)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SSIZE) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UB:</div>\r\n"
- "<div>@@ -1577,7 &#43;1577,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is64)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addrlo, datalo, datahi, addrhi __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc;</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addend;</div>\r\n"
- "<div>@@ -1614,11 &#43;1614,11 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is64)</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void tcg_out_qemu_st_index(TCGContext *s, int cond, TCGMemOp opc,</div>\r\n"
- "<div>&#43;static inline void tcg_out_qemu_st_index(TCGContext *s, int cond, MemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg datalo, TCGReg datahi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrlo, TCGReg addend)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SIZE) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>\r\n"
- "<div>@@ -1659,11 &#43;1659,11 @@ static inline void tcg_out_qemu_st_index(TCGContext *s, int cond, TCGMemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp opc,</div>\r\n"
- "<div>&#43;static inline void tcg_out_qemu_st_direct(TCGContext *s, MemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGReg datalo, TCGReg datahi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGReg addrlo)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SIZE) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_8:</div>\r\n"
- "<div>@@ -1708,7 &#43;1708,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is64)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addrlo, datalo, datahi, addrhi __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc;</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addend;</div>\r\n"
- "<div>diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c</div>\r\n"
- "<div>index 6ddeebf..9d8ed97 100644</div>\r\n"
- "<div>--- a/tcg/i386/tcg-target.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/i386/tcg-target.inc.c</div>\r\n"
- "<div>@@ -1697,7 &#43;1697,7 @@ static void * const qemu_st_helpers[16] = {</div>\r\n"
- "<div>&nbsp; &nbsp; First argument register is clobbered. &nbsp;*/</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline void tcg_out_tlb_load(TCGContext *s, TCGReg addrlo, TCGReg addrhi,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int mem_index, TCGMemOp opc,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int mem_index, MemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_insn_unit **label_ptr, int which)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const TCGReg r0 = TCG_REG_L0;</div>\r\n"
- "<div>@@ -1810,7 &#43;1810,7 @@ static void add_qemu_ldst_label(TCGContext *s, bool is_ld, bool is_64,</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg data_reg;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit **label_ptr = &amp;l-&gt;label_ptr[0];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int rexw = (l-&gt;type == TCG_TYPE_I64 ? P_REXW : 0);</div>\r\n"
- "<div>@@ -1895,8 &#43;1895,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit **label_ptr = &amp;l-&gt;label_ptr[0];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg retaddr;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1995,10 &#43;1995,10 @@ static inline int setup_guest_base_seg(void)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_ld_direct(TCGContext *s, TCGReg datalo, TCGReg datahi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, int index, intptr_t ofs,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int seg, bool is64, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int seg, bool is64, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;const TCGMemOp real_bswap = memop &amp; MO_BSWAP;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp bswap = real_bswap;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;const MemOp real_bswap = memop &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp bswap = real_bswap;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int rexw = is64 * P_REXW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int movop = OPC_MOVL_GvEv;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2103,7 &#43;2103,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is64)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg datalo, datahi, addrlo;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addrhi __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc;</div>\r\n"
- "<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[2];</div>\r\n"
- "<div>@@ -2137,15 &#43;2137,15 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is64)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg datalo, TCGReg datahi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, int index, intptr_t ofs,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int seg, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int seg, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* ??? Ideally we wouldn't need a scratch register. &nbsp;For user-only,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; we could perform the bswap twice to restore the original value</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; instead of moving to the scratch. &nbsp;But as it is, the L constraint</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; means that TCG_REG_L0 is definitely free here. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;const TCGReg scratch = TCG_REG_L0;</div>\r\n"
- "<div>- &nbsp; &nbsp;const TCGMemOp real_bswap = memop &amp; MO_BSWAP;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp bswap = real_bswap;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;const MemOp real_bswap = memop &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp bswap = real_bswap;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int movop = OPC_MOVL_EvGv;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (have_movbe &amp;&amp; real_bswap) {</div>\r\n"
- "<div>@@ -2221,7 &#43;2221,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is64)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg datalo, datahi, addrlo;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addrhi __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc;</div>\r\n"
- "<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[2];</div>\r\n"
- "<div>diff --git a/tcg/mips/tcg-target.inc.c b/tcg/mips/tcg-target.inc.c</div>\r\n"
- "<div>index 41bff32..5442167 100644</div>\r\n"
- "<div>--- a/tcg/mips/tcg-target.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/mips/tcg-target.inc.c</div>\r\n"
- "<div>@@ -1215,7 &#43;1215,7 @@ static void tcg_out_tlb_load(TCGContext *s, TCGReg base, TCGReg addrl,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrh, TCGMemOpIdx oi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcg_insn_unit *label_ptr[2], bool is_load)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned a_bits = get_alignment_bits(opc);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_index = get_mmuidx(oi);</div>\r\n"
- "<div>@@ -1313,7 &#43;1313,7 @@ static void add_qemu_ldst_label(TCGContext *s, int is_ld, TCGMemOpIdx oi,</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg v0;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int i;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1363,8 &#43;1363,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int i;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* resolve label address */</div>\r\n"
- "<div>@@ -1413,7 &#43;1413,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_ld_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGMemOp opc, bool is_64)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, MemOp opc, bool is_64)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; (MO_SSIZE | MO_BSWAP)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UB:</div>\r\n"
- "<div>@@ -1521,7 &#43;1521,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addr_regl, addr_regh __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg data_regl, data_regh;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc;</div>\r\n"
- "<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[2];</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>@@ -1558,7 &#43;1558,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGMemOp opc)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, MemOp opc)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Don't clutter the code below with checks to avoid bswapping ZERO. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if ((lo | hi) == 0) {</div>\r\n"
- "<div>@@ -1624,7 &#43;1624,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addr_regl, addr_regh __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg data_regl, data_regh;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc;</div>\r\n"
- "<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[2];</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>diff --git a/tcg/optimize.c b/tcg/optimize.c</div>\r\n"
- "<div>index d2424de..a89ffda 100644</div>\r\n"
- "<div>--- a/tcg/optimize.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/optimize.c</div>\r\n"
- "<div>@@ -1014,7 &#43;1014,7 @@ void tcg_optimize(TCGContext *s)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CASE_OP_32_64(qemu_ld):</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = op-&gt;args[nb_oargs &#43; nb_iargs];</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp mop = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp mop = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!(mop &amp; MO_SIGN)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mask = (2ULL &lt;&lt; ((8 &lt;&lt; (mop &amp; MO_SIZE)) - 1)) - 1;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>diff --git a/tcg/ppc/tcg-target.inc.c b/tcg/ppc/tcg-target.inc.c</div>\r\n"
- "<div>index 852b894..815edac 100644</div>\r\n"
- "<div>--- a/tcg/ppc/tcg-target.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/ppc/tcg-target.inc.c</div>\r\n"
- "<div>@@ -1506,7 &#43;1506,7 @@ QEMU_BUILD_BUG_ON(TLB_MASK_TABLE_OFS(0) &lt; -32768);</div>\r\n"
- "<div>&nbsp; &nbsp; in CR7, loads the addend of the TLB into R3, and returns the register</div>\r\n"
- "<div>&nbsp; &nbsp; containing the guest address (zero-extended into R4). &nbsp;Clobbers R0 and R2. */</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static TCGReg tcg_out_tlb_read(TCGContext *s, TCGMemOp opc,</div>\r\n"
- "<div>&#43;static TCGReg tcg_out_tlb_read(TCGContext *s, MemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrlo, TCGReg addrhi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int mem_index, bool is_read)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>@@ -1633,7 &#43;1633,7 @@ static void add_qemu_ldst_label(TCGContext *s, bool is_ld, TCGMemOpIdx oi,</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg hi, lo, arg = TCG_REG_R3;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc14(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>\r\n"
- "<div>@@ -1680,8 &#43;1680,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg hi, lo, arg = TCG_REG_R3;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (!reloc_pc14(lb-&gt;label_ptr[0], s-&gt;code_ptr)) {</div>\r\n"
- "<div>@@ -1744,7 &#43;1744,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg datalo, datahi, addrlo, rbase;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addrhi __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc, s_bits;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc, s_bits;</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr;</div>\r\n"
- "<div>@@ -1819,7 &#43;1819,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg datalo, datahi, addrlo, rbase;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addrhi __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc, s_bits;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc, s_bits;</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mem_index;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr;</div>\r\n"
- "<div>diff --git a/tcg/riscv/tcg-target.inc.c b/tcg/riscv/tcg-target.inc.c</div>\r\n"
- "<div>index 3e76bf5..7018509 100644</div>\r\n"
- "<div>--- a/tcg/riscv/tcg-target.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/riscv/tcg-target.inc.c</div>\r\n"
- "<div>@@ -970,7 &#43;970,7 @@ static void tcg_out_tlb_load(TCGContext *s, TCGReg addrl,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg addrh, TCGMemOpIdx oi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcg_insn_unit **label_ptr, bool is_load)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned a_bits = get_alignment_bits(opc);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_target_long compare_mask;</div>\r\n"
- "<div>@@ -1044,7 &#43;1044,7 @@ static void add_qemu_ldst_label(TCGContext *s, int is_ld, TCGMemOpIdx oi,</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg a0 = tcg_target_call_iarg_regs[0];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg a1 = tcg_target_call_iarg_regs[1];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg a2 = tcg_target_call_iarg_regs[2];</div>\r\n"
- "<div>@@ -1077,8 &#43;1077,8 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = l-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg a0 = tcg_target_call_iarg_regs[0];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg a1 = tcg_target_call_iarg_regs[1];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg a2 = tcg_target_call_iarg_regs[2];</div>\r\n"
- "<div>@@ -1121,9 &#43;1121,9 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp;#endif /* CONFIG_SOFTMMU */</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_ld_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGMemOp opc, bool is_64)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, MemOp opc, bool is_64)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;const TCGMemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;const MemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* We don't yet handle byteswapping, assert */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;g_assert(!bswap);</div>\r\n"
- "<div>@@ -1172,7 &#43;1172,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addr_regl, addr_regh __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg data_regl, data_regh;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc;</div>\r\n"
- "<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[1];</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>@@ -1208,9 &#43;1208,9 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGMemOp opc)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, MemOp opc)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;const TCGMemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;const MemOp bswap = opc &amp; MO_BSWAP;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* We don't yet handle byteswapping, assert */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;g_assert(!bswap);</div>\r\n"
- "<div>@@ -1243,7 &#43;1243,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addr_regl, addr_regh __attribute__((unused));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg data_regl, data_regh;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc;</div>\r\n"
- "<div>&nbsp;#if defined(CONFIG_SOFTMMU)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr[1];</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>diff --git a/tcg/s390/tcg-target.inc.c b/tcg/s390/tcg-target.inc.c</div>\r\n"
- "<div>index fe42939..8aaa4ce 100644</div>\r\n"
- "<div>--- a/tcg/s390/tcg-target.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/s390/tcg-target.inc.c</div>\r\n"
- "<div>@@ -1430,7 &#43;1430,7 @@ static void tcg_out_call(TCGContext *s, tcg_insn_unit *dest)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp opc, TCGReg data,</div>\r\n"
- "<div>&#43;static void tcg_out_qemu_ld_direct(TCGContext *s, MemOp opc, TCGReg data,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGReg index, int disp)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; (MO_SSIZE | MO_BSWAP)) {</div>\r\n"
- "<div>@@ -1489,7 &#43;1489,7 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp opc, TCGReg data,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp opc, TCGReg data,</div>\r\n"
- "<div>&#43;static void tcg_out_qemu_st_direct(TCGContext *s, MemOp opc, TCGReg data,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGReg base, TCGReg index, int disp)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; (MO_SIZE | MO_BSWAP)) {</div>\r\n"
- "<div>@@ -1544,7 &#43;1544,7 @@ QEMU_BUILD_BUG_ON(TLB_MASK_TABLE_OFS(0) &lt; -(1 &lt;&lt; 19));</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/* Load and compare a TLB entry, leaving the flags set. &nbsp;Loads the TLB</div>\r\n"
- "<div>&nbsp; &nbsp; addend into R2. &nbsp;Returns a register with the santitized guest address. &nbsp;*/</div>\r\n"
- "<div>-static TCGReg tcg_out_tlb_read(TCGContext* s, TCGReg addr_reg, TCGMemOp opc,</div>\r\n"
- "<div>&#43;static TCGReg tcg_out_tlb_read(TCGContext *s, TCGReg addr_reg, MemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int mem_index, bool is_ld)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned s_bits = opc &amp; MO_SIZE;</div>\r\n"
- "<div>@@ -1614,7 &#43;1614,7 @@ static bool tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addr_reg = lb-&gt;addrlo_reg;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg data_reg = lb-&gt;datalo_reg;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (!patch_reloc(lb-&gt;label_ptr[0], R_390_PC16DBL,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (intptr_t)s-&gt;code_ptr, 2)) {</div>\r\n"
- "<div>@@ -1639,7 &#43;1639,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addr_reg = lb-&gt;addrlo_reg;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg data_reg = lb-&gt;datalo_reg;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = lb-&gt;oi;</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (!patch_reloc(lb-&gt;label_ptr[0], R_390_PC16DBL,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (intptr_t)s-&gt;code_ptr, 2)) {</div>\r\n"
- "<div>@@ -1694,7 &#43;1694,7 @@ static void tcg_prepare_user_ldst(TCGContext *s, TCGReg *addr_reg,</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_ld(TCGContext* s, TCGReg data_reg, TCGReg addr_reg,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned mem_index = get_mmuidx(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr;</div>\r\n"
- "<div>@@ -1721,7 &#43;1721,7 @@ static void tcg_out_qemu_ld(TCGContext* s, TCGReg data_reg, TCGReg addr_reg,</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_st(TCGContext* s, TCGReg data_reg, TCGReg addr_reg,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp opc = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp opc = get_memop(oi);</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned mem_index = get_mmuidx(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_insn_unit *label_ptr;</div>\r\n"
- "<div>diff --git a/tcg/sparc/tcg-target.inc.c b/tcg/sparc/tcg-target.inc.c</div>\r\n"
- "<div>index 10b1cea..d7986cd 100644</div>\r\n"
- "<div>--- a/tcg/sparc/tcg-target.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/sparc/tcg-target.inc.c</div>\r\n"
- "<div>@@ -1081,7 &#43;1081,7 @@ QEMU_BUILD_BUG_ON(TLB_MASK_TABLE_OFS(0) &lt; -(1 &lt;&lt; 12));</div>\r\n"
- "<div>&nbsp; &nbsp; is in the returned register, maybe %o0. &nbsp;The TLB addend is in %o1. &nbsp;*/</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static TCGReg tcg_out_tlb_load(TCGContext *s, TCGReg addr, int mem_index,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp opc, int which)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp opc, int which)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int fast_off = TLB_MASK_TABLE_OFS(mem_index);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;int mask_off = fast_off &#43; offsetof(CPUTLBDescFast, mask);</div>\r\n"
- "<div>@@ -1164,7 &#43;1164,7 @@ static const int qemu_st_opc[16] = {</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_ld(TCGContext *s, TCGReg data, TCGReg addr,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi, bool is_64)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop = get_memop(oi);</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned memi = get_mmuidx(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addrz, param;</div>\r\n"
- "<div>@@ -1246,7 &#43;1246,7 @@ static void tcg_out_qemu_ld(TCGContext *s, TCGReg data, TCGReg addr,</div>\r\n"
- "<div>&nbsp;static void tcg_out_qemu_st(TCGContext *s, TCGReg data, TCGReg addr,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp memop = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp memop = get_memop(oi);</div>\r\n"
- "<div>&nbsp;#ifdef CONFIG_SOFTMMU</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned memi = get_mmuidx(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGReg addrz, param;</div>\r\n"
- "<div>diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c</div>\r\n"
- "<div>index 587d092..e87c327 100644</div>\r\n"
- "<div>--- a/tcg/tcg-op.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/tcg-op.c</div>\r\n"
- "<div>@@ -2714,7 &#43;2714,7 @@ void tcg_gen_lookup_and_goto_ptr(void)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline TCGMemOp tcg_canonicalize_memop(TCGMemOp op, bool is64, bool st)</div>\r\n"
- "<div>&#43;static inline MemOp tcg_canonicalize_memop(MemOp op, bool is64, bool st)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Trigger the asserts within as early as possible. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;(void)get_alignment_bits(op);</div>\r\n"
- "<div>@@ -2743,7 &#43;2743,7 @@ static inline TCGMemOp tcg_canonicalize_memop(TCGMemOp op, bool is64, bool st)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_ldst_i32(TCGOpcode opc, TCGv_i32 val, TCGv addr,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop, TCGArg idx)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop, TCGArg idx)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = make_memop_idx(memop, idx);</div>\r\n"
- "<div>&nbsp;#if TARGET_LONG_BITS == 32</div>\r\n"
- "<div>@@ -2758,7 &#43;2758,7 @@ static void gen_ldst_i32(TCGOpcode opc, TCGv_i32 val, TCGv addr,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_ldst_i64(TCGOpcode opc, TCGv_i64 val, TCGv addr,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGMemOp memop, TCGArg idx)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemOp memop, TCGArg idx)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = make_memop_idx(memop, idx);</div>\r\n"
- "<div>&nbsp;#if TARGET_LONG_BITS == 32</div>\r\n"
- "<div>@@ -2788,9 &#43;2788,9 @@ static void tcg_gen_req_mo(TCGBar type)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-void tcg_gen_qemu_ld_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&#43;void tcg_gen_qemu_ld_i32(TCGv_i32 val, TCGv addr, TCGArg idx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp orig_memop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp orig_memop;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_req_mo(TCG_MO_LD_LD | TCG_MO_ST_LD);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;memop = tcg_canonicalize_memop(memop, 0, 0);</div>\r\n"
- "<div>@@ -2825,7 &#43;2825,7 @@ void tcg_gen_qemu_ld_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-void tcg_gen_qemu_st_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&#43;void tcg_gen_qemu_st_i32(TCGv_i32 val, TCGv addr, TCGArg idx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 swap = NULL;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2858,9 &#43;2858,9 @@ void tcg_gen_qemu_st_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-void tcg_gen_qemu_ld_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&#43;void tcg_gen_qemu_ld_i64(TCGv_i64 val, TCGv addr, TCGArg idx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;TCGMemOp orig_memop;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;MemOp orig_memop;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (TCG_TARGET_REG_BITS == 32 &amp;&amp; (memop &amp; MO_SIZE) &lt; MO_64) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_i32(TCGV_LOW(val), addr, idx, memop);</div>\r\n"
- "<div>@@ -2911,7 &#43;2911,7 @@ void tcg_gen_qemu_ld_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-void tcg_gen_qemu_st_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&#43;void tcg_gen_qemu_st_i64(TCGv_i64 val, TCGv addr, TCGArg idx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 swap = NULL;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -2953,7 &#43;2953,7 @@ void tcg_gen_qemu_st_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void tcg_gen_ext_i32(TCGv_i32 ret, TCGv_i32 val, TCGMemOp opc)</div>\r\n"
- "<div>&#43;static void tcg_gen_ext_i32(TCGv_i32 ret, TCGv_i32 val, MemOp opc)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SSIZE) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_SB:</div>\r\n"
- "<div>@@ -2974,7 &#43;2974,7 @@ static void tcg_gen_ext_i32(TCGv_i32 ret, TCGv_i32 val, TCGMemOp opc)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static void tcg_gen_ext_i64(TCGv_i64 ret, TCGv_i64 val, TCGMemOp opc)</div>\r\n"
- "<div>&#43;static void tcg_gen_ext_i64(TCGv_i64 ret, TCGv_i64 val, MemOp opc)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (opc &amp; MO_SSIZE) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_SB:</div>\r\n"
- "<div>@@ -3034,7 &#43;3034,7 @@ static void * const table_cmpxchg[16] = {</div>\r\n"
- "<div>&nbsp;};</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;void tcg_gen_atomic_cmpxchg_i32(TCGv_i32 retv, TCGv addr, TCGv_i32 cmpv,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 newv, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 newv, TCGArg idx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;memop = tcg_canonicalize_memop(memop, 0, 0);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -3078,7 &#43;3078,7 @@ void tcg_gen_atomic_cmpxchg_i32(TCGv_i32 retv, TCGv addr, TCGv_i32 cmpv,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;void tcg_gen_atomic_cmpxchg_i64(TCGv_i64 retv, TCGv addr, TCGv_i64 cmpv,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 newv, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 newv, TCGArg idx, MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;memop = tcg_canonicalize_memop(memop, 1, 0);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -3142,7 &#43;3142,7 @@ void tcg_gen_atomic_cmpxchg_i64(TCGv_i64 retv, TCGv addr, TCGv_i64 cmpv,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void do_nonatomic_op_i32(TCGv_i32 ret, TCGv addr, TCGv_i32 val,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg idx, TCGMemOp memop, bool new_val,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg idx, MemOp memop, bool new_val,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void (*gen)(TCGv_i32, TCGv_i32, TCGv_i32))</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 t1 = tcg_temp_new_i32();</div>\r\n"
- "<div>@@ -3160,7 &#43;3160,7 @@ static void do_nonatomic_op_i32(TCGv_i32 ret, TCGv addr, TCGv_i32 val,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void do_atomic_op_i32(TCGv_i32 ret, TCGv addr, TCGv_i32 val,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGArg idx, TCGMemOp memop, void * const table[])</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGArg idx, MemOp memop, void * const table[])</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_atomic_op_i32 gen;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -3185,7 &#43;3185,7 @@ static void do_atomic_op_i32(TCGv_i32 ret, TCGv addr, TCGv_i32 val,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void do_nonatomic_op_i64(TCGv_i64 ret, TCGv addr, TCGv_i64 val,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg idx, TCGMemOp memop, bool new_val,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg idx, MemOp memop, bool new_val,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void (*gen)(TCGv_i64, TCGv_i64, TCGv_i64))</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i64 t1 = tcg_temp_new_i64();</div>\r\n"
- "<div>@@ -3203,7 &#43;3203,7 @@ static void do_nonatomic_op_i64(TCGv_i64 ret, TCGv addr, TCGv_i64 val,</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void do_atomic_op_i64(TCGv_i64 ret, TCGv addr, TCGv_i64 val,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGArg idx, TCGMemOp memop, void * const table[])</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TCGArg idx, MemOp memop, void * const table[])</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;memop = tcg_canonicalize_memop(memop, 1, 0);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -3257,7 &#43;3257,7 @@ static void * const table_##NAME[16] = { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;WITH_ATOMIC64([MO_64 | MO_BE] = gen_helper_atomic_##NAME##q_be) &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp;}; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>&nbsp;void tcg_gen_atomic_##NAME##_i32 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>- &nbsp; &nbsp;(TCGv_i32 ret, TCGv addr, TCGv_i32 val, TCGArg idx, TCGMemOp memop) \\</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;(TCGv_i32 ret, TCGv addr, TCGv_i32 val, TCGArg idx, MemOp memop) &nbsp; &nbsp;\\</div>\r\n"
- "<div>&nbsp;{ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (tcg_ctx-&gt;tb_cflags &amp; CF_PARALLEL) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;do_atomic_op_i32(ret, addr, val, idx, memop, table_##NAME); &nbsp; &nbsp; \\</div>\r\n"
- "<div>@@ -3267,7 &#43;3267,7 @@ void tcg_gen_atomic_##NAME##_i32 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp;} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp;void tcg_gen_atomic_##NAME##_i64 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\\</div>\r\n"
- "<div>- &nbsp; &nbsp;(TCGv_i64 ret, TCGv addr, TCGv_i64 val, TCGArg idx, TCGMemOp memop) \\</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;(TCGv_i64 ret, TCGv addr, TCGv_i64 val, TCGArg idx, MemOp memop) &nbsp; &nbsp;\\</div>\r\n"
- "<div>&nbsp;{ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (tcg_ctx-&gt;tb_cflags &amp; CF_PARALLEL) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;do_atomic_op_i64(ret, addr, val, idx, memop, table_##NAME); &nbsp; &nbsp; \\</div>\r\n"
- "<div>diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h</div>\r\n"
- "<div>index 2d4dd5c..e9cf172 100644</div>\r\n"
- "<div>--- a/tcg/tcg-op.h</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/tcg-op.h</div>\r\n"
- "<div>@@ -851,10 &#43;851,10 @@ void tcg_gen_lookup_and_goto_ptr(void);</div>\r\n"
- "<div>&nbsp;#define tcg_gen_qemu_st_tl tcg_gen_qemu_st_i64</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-void tcg_gen_qemu_ld_i32(TCGv_i32, TCGv, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_qemu_st_i32(TCGv_i32, TCGv, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_qemu_ld_i64(TCGv_i64, TCGv, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_qemu_st_i64(TCGv_i64, TCGv, TCGArg, TCGMemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_qemu_ld_i32(TCGv_i32, TCGv, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_qemu_st_i32(TCGv_i32, TCGv, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_qemu_ld_i64(TCGv_i64, TCGv, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_qemu_st_i64(TCGv_i64, TCGv, TCGArg, MemOp);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline void tcg_gen_qemu_ld8u(TCGv ret, TCGv addr, int mem_index)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>@@ -912,46 &#43;912,46 @@ static inline void tcg_gen_qemu_st64(TCGv_i64 arg, TCGv addr, int mem_index)</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;void tcg_gen_atomic_cmpxchg_i32(TCGv_i32, TCGv, TCGv_i32, TCGv_i32,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg, TCGMemOp);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg, MemOp);</div>\r\n"
- "<div>&nbsp;void tcg_gen_atomic_cmpxchg_i64(TCGv_i64, TCGv, TCGv_i64, TCGv_i64,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg, TCGMemOp);</div>\r\n"
- "<div>-</div>\r\n"
- "<div>-void tcg_gen_atomic_xchg_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_xchg_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_add_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_add_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_and_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_and_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_or_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_or_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_xor_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_xor_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_smin_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_smin_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_umin_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_umin_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_smax_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_smax_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_umax_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_fetch_umax_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-</div>\r\n"
- "<div>-void tcg_gen_atomic_add_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_add_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_and_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_and_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_or_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_or_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_xor_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_xor_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_smin_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_smin_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_umin_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_umin_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_smax_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_smax_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_umax_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, TCGMemOp);</div>\r\n"
- "<div>-void tcg_gen_atomic_umax_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, TCGMemOp);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGArg, MemOp);</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_xchg_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_xchg_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_add_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_add_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_and_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_and_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_or_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_or_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_xor_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_xor_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_smin_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_smin_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_umin_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_umin_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_smax_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_smax_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_umax_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_fetch_umax_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_add_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_add_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_and_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_and_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_or_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_or_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_xor_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_xor_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_smin_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_smin_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_umin_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_umin_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_smax_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_smax_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_umax_fetch_i32(TCGv_i32, TCGv, TCGv_i32, TCGArg, MemOp);</div>\r\n"
- "<div>&#43;void tcg_gen_atomic_umax_fetch_i64(TCGv_i64, TCGv, TCGv_i64, TCGArg, MemOp);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;void tcg_gen_mov_vec(TCGv_vec, TCGv_vec);</div>\r\n"
- "<div>&nbsp;void tcg_gen_dup_i32_vec(unsigned vece, TCGv_vec, TCGv_i32);</div>\r\n"
- "<div>diff --git a/tcg/tcg.c b/tcg/tcg.c</div>\r\n"
- "<div>index 8d23fb0..0dff196 100644</div>\r\n"
- "<div>--- a/tcg/tcg.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/tcg.c</div>\r\n"
- "<div>@@ -2056,7 &#43;2056,7 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case INDEX_op_qemu_st_i64:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOpIdx oi = op-&gt;args[k&#43;&#43;];</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp op = get_memop(oi);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp op = get_memop(oi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unsigned ix = get_mmuidx(oi);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (op &amp; ~(MO_AMASK | MO_BSWAP | MO_SSIZE)) {</div>\r\n"
- "<div>diff --git a/tcg/tcg.h b/tcg/tcg.h</div>\r\n"
- "<div>index 529acb2..a37181c 100644</div>\r\n"
- "<div>--- a/tcg/tcg.h</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/tcg.h</div>\r\n"
- "<div>@@ -26,6 &#43;26,7 @@</div>\r\n"
- "<div>&nbsp;#define TCG_H</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;#include &quot;cpu.h&quot;</div>\r\n"
- "<div>&#43;#include &quot;exec/memop.h&quot;</div>\r\n"
- "<div>&nbsp;#include &quot;exec/tb-context.h&quot;</div>\r\n"
- "<div>&nbsp;#include &quot;qemu/bitops.h&quot;</div>\r\n"
- "<div>&nbsp;#include &quot;qemu/queue.h&quot;</div>\r\n"
- "<div>@@ -309,103 &#43;310,13 @@ typedef enum TCGType {</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp;} TCGType;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-/* Constants for qemu_ld and qemu_st for the Memory Operation field. &nbsp;*/</div>\r\n"
- "<div>-typedef enum TCGMemOp {</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_8 &nbsp; &nbsp; = 0,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_16 &nbsp; &nbsp;= 1,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_32 &nbsp; &nbsp;= 2,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_64 &nbsp; &nbsp;= 3,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_SIZE &nbsp;= 3, &nbsp; /* Mask for the above. &nbsp;*/</div>\r\n"
- "<div>-</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_SIGN &nbsp;= 4, &nbsp; /* Sign-extended, otherwise zero-extended. &nbsp;*/</div>\r\n"
- "<div>-</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_BSWAP = 8, &nbsp; /* Host reverse endian. &nbsp;*/</div>\r\n"
- "<div>-#ifdef HOST_WORDS_BIGENDIAN</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_LE &nbsp; &nbsp;= MO_BSWAP,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_BE &nbsp; &nbsp;= 0,</div>\r\n"
- "<div>-#else</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_LE &nbsp; &nbsp;= 0,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_BE &nbsp; &nbsp;= MO_BSWAP,</div>\r\n"
- "<div>-#endif</div>\r\n"
- "<div>-#ifdef TARGET_WORDS_BIGENDIAN</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_TE &nbsp; &nbsp;= MO_BE,</div>\r\n"
- "<div>-#else</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_TE &nbsp; &nbsp;= MO_LE,</div>\r\n"
- "<div>-#endif</div>\r\n"
- "<div>-</div>\r\n"
- "<div>- &nbsp; &nbsp;/*</div>\r\n"
- "<div>- &nbsp; &nbsp; * MO_UNALN accesses are never checked for alignment.</div>\r\n"
- "<div>- &nbsp; &nbsp; * MO_ALIGN accesses will result in a call to the CPU's</div>\r\n"
- "<div>- &nbsp; &nbsp; * do_unaligned_access hook if the guest address is not aligned.</div>\r\n"
- "<div>- &nbsp; &nbsp; * The default depends on whether the target CPU defines</div>\r\n"
- "<div>- &nbsp; &nbsp; * TARGET_ALIGNED_ONLY.</div>\r\n"
- "<div>- &nbsp; &nbsp; *</div>\r\n"
- "<div>- &nbsp; &nbsp; * Some architectures (e.g. ARMv8) need the address which is aligned</div>\r\n"
- "<div>- &nbsp; &nbsp; * to a size more than the size of the memory access.</div>\r\n"
- "<div>- &nbsp; &nbsp; * Some architectures (e.g. SPARCv9) need an address which is aligned,</div>\r\n"
- "<div>- &nbsp; &nbsp; * but less strictly than the natural alignment.</div>\r\n"
- "<div>- &nbsp; &nbsp; *</div>\r\n"
- "<div>- &nbsp; &nbsp; * MO_ALIGN supposes the alignment size is the size of a memory access.</div>\r\n"
- "<div>- &nbsp; &nbsp; *</div>\r\n"
- "<div>- &nbsp; &nbsp; * There are three options:</div>\r\n"
- "<div>- &nbsp; &nbsp; * - unaligned access permitted (MO_UNALN).</div>\r\n"
- "<div>- &nbsp; &nbsp; * - an alignment to the size of an access (MO_ALIGN);</div>\r\n"
- "<div>- &nbsp; &nbsp; * - an alignment to a specified size, which may be more or less than</div>\r\n"
- "<div>- &nbsp; &nbsp; * &nbsp; the access size (MO_ALIGN_x where 'x' is a size in bytes);</div>\r\n"
- "<div>- &nbsp; &nbsp; */</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_ASHIFT = 4,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_AMASK = 7 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>-#ifdef TARGET_ALIGNED_ONLY</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_ALIGN = 0,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_UNALN = MO_AMASK,</div>\r\n"
- "<div>-#else</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_ALIGN = MO_AMASK,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_UNALN = 0,</div>\r\n"
- "<div>-#endif</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_ALIGN_2 &nbsp;= 1 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_ALIGN_4 &nbsp;= 2 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_ALIGN_8 &nbsp;= 3 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_ALIGN_16 = 4 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_ALIGN_32 = 5 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_ALIGN_64 = 6 &lt;&lt; MO_ASHIFT,</div>\r\n"
- "<div>-</div>\r\n"
- "<div>- &nbsp; &nbsp;/* Combinations of the above, for ease of use. &nbsp;*/</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_UB &nbsp; &nbsp;= MO_8,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_UW &nbsp; &nbsp;= MO_16,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_UL &nbsp; &nbsp;= MO_32,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_SB &nbsp; &nbsp;= MO_SIGN | MO_8,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_SW &nbsp; &nbsp;= MO_SIGN | MO_16,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_SL &nbsp; &nbsp;= MO_SIGN | MO_32,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_Q &nbsp; &nbsp; = MO_64,</div>\r\n"
- "<div>-</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_LEUW &nbsp;= MO_LE | MO_UW,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_LEUL &nbsp;= MO_LE | MO_UL,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_LESW &nbsp;= MO_LE | MO_SW,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_LESL &nbsp;= MO_LE | MO_SL,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_LEQ &nbsp; = MO_LE | MO_Q,</div>\r\n"
- "<div>-</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_BEUW &nbsp;= MO_BE | MO_UW,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_BEUL &nbsp;= MO_BE | MO_UL,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_BESW &nbsp;= MO_BE | MO_SW,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_BESL &nbsp;= MO_BE | MO_SL,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_BEQ &nbsp; = MO_BE | MO_Q,</div>\r\n"
- "<div>-</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_TEUW &nbsp;= MO_TE | MO_UW,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_TEUL &nbsp;= MO_TE | MO_UL,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_TESW &nbsp;= MO_TE | MO_SW,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_TESL &nbsp;= MO_TE | MO_SL,</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_TEQ &nbsp; = MO_TE | MO_Q,</div>\r\n"
- "<div>-</div>\r\n"
- "<div>- &nbsp; &nbsp;MO_SSIZE = MO_SIZE | MO_SIGN,</div>\r\n"
- "<div>-} TCGMemOp;</div>\r\n"
- "<div>-</div>\r\n"
- "<div>&nbsp;/**</div>\r\n"
- "<div>&nbsp; * get_alignment_bits</div>\r\n"
- "<div>- * @memop: TCGMemOp value</div>\r\n"
- "<div>&#43; * @memop: MemOp value</div>\r\n"
- "<div>&nbsp; *</div>\r\n"
- "<div>&nbsp; * Extract the alignment size from the memop.</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>-static inline unsigned get_alignment_bits(TCGMemOp memop)</div>\r\n"
- "<div>&#43;static inline unsigned get_alignment_bits(MemOp memop)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;unsigned a = memop &amp; MO_AMASK;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1186,7 &#43;1097,7 @@ static inline size_t tcg_current_code_size(TCGContext *s)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return tcg_ptr_byte_diff(s-&gt;code_ptr, s-&gt;code_buf);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-/* Combine the TCGMemOp and mmu_idx parameters into a single value. &nbsp;*/</div>\r\n"
- "<div>&#43;/* Combine the MemOp and mmu_idx parameters into a single value. &nbsp;*/</div>\r\n"
- "<div>&nbsp;typedef uint32_t TCGMemOpIdx;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/**</div>\r\n"
- "<div>@@ -1196,7 &#43;1107,7 @@ typedef uint32_t TCGMemOpIdx;</div>\r\n"
- "<div>&nbsp; *</div>\r\n"
- "<div>&nbsp; * Encode these values into a single parameter.</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>-static inline TCGMemOpIdx make_memop_idx(TCGMemOp op, unsigned idx)</div>\r\n"
- "<div>&#43;static inline TCGMemOpIdx make_memop_idx(MemOp op, unsigned idx)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_debug_assert(idx &lt;= 15);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return (op &lt;&lt; 4) | idx;</div>\r\n"
- "<div>@@ -1208,7 &#43;1119,7 @@ static inline TCGMemOpIdx make_memop_idx(TCGMemOp op, unsigned idx)</div>\r\n"
- "<div>&nbsp; *</div>\r\n"
- "<div>&nbsp; * Extract the memory operation from the combined value.</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>-static inline TCGMemOp get_memop(TCGMemOpIdx oi)</div>\r\n"
- "<div>&#43;static inline MemOp get_memop(TCGMemOpIdx oi)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return oi &gt;&gt; 4;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>diff --git a/trace/mem-internal.h b/trace/mem-internal.h</div>\r\n"
- "<div>index f6efaf6..3444fbc 100644</div>\r\n"
- "<div>--- a/trace/mem-internal.h</div>\r\n"
- "<div>&#43;&#43;&#43; b/trace/mem-internal.h</div>\r\n"
- "<div>@@ -16,7 &#43;16,7 @@</div>\r\n"
- "<div>&nbsp;#define TRACE_MEM_ST (1ULL &lt;&lt; 5) &nbsp; &nbsp;/* store (y/n) */</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline uint8_t trace_mem_build_info(</div>\r\n"
- "<div>- &nbsp; &nbsp;int size_shift, bool sign_extend, TCGMemOp endianness, bool store)</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;int size_shift, bool sign_extend, MemOp endianness, bool store)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint8_t res;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -33,7 &#43;33,7 @@ static inline uint8_t trace_mem_build_info(</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return res;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-static inline uint8_t trace_mem_get_info(TCGMemOp op, bool store)</div>\r\n"
- "<div>&#43;static inline uint8_t trace_mem_get_info(MemOp op, bool store)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return trace_mem_build_info(op &amp; MO_SIZE, !!(op &amp; MO_SIGN),</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op &amp; MO_BSWAP, store);</div>\r\n"
- "<div>diff --git a/trace/mem.h b/trace/mem.h</div>\r\n"
- "<div>index 2b58196..8cf213d 100644</div>\r\n"
- "<div>--- a/trace/mem.h</div>\r\n"
- "<div>&#43;&#43;&#43; b/trace/mem.h</div>\r\n"
- "<div>@@ -18,7 &#43;18,7 @@</div>\r\n"
- "<div>&nbsp; *</div>\r\n"
- "<div>&nbsp; * Return a value for the 'info' argument in guest memory access traces.</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>-static uint8_t trace_mem_get_info(TCGMemOp op, bool store);</div>\r\n"
- "<div>&#43;static uint8_t trace_mem_get_info(MemOp op, bool store);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;/**</div>\r\n"
- "<div>&nbsp; * trace_mem_build_info:</div>\r\n"
- "<div>@@ -26,7 &#43;26,7 @@ static uint8_t trace_mem_get_info(TCGMemOp op, bool store);</div>\r\n"
- "<div>&nbsp; * Return a value for the 'info' argument in guest memory access traces.</div>\r\n"
- "<div>&nbsp; */</div>\r\n"
- "<div>&nbsp;static uint8_t trace_mem_build_info(int size_shift, bool sign_extend,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp endianness, bool store);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemOp endianness, bool store);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;#include &quot;trace/mem-internal.h&quot;</div>\r\n"
- "<div>--&nbsp;</div>\r\n"
- "<div>1.8.3.1</div>\r\n"
- "<div><br>\r\n"
- "&#8203;<br>\r\n"
- "</div>\r\n"
- "<p><br>\r\n"
- "</p>\r\n"
- "</body>\r\n"
- "</html>\r\n"
 
-db8536e3ed94cbe04b09d62e3589775b76edac95045071f5f61d3b26de193fa8
+5528ae3c4f86d3bd2ad4529b6486519c2167ad4ea7463502f322f4e78ac177ed

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.