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

diff --git a/a/2.bin b/a/2.bin
deleted file mode 100644
index 400197d..0000000
--- a/a/2.bin
+++ /dev/null
@@ -1,2387 +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 splitting MO_32 out from TCGMemOp into new accelerator</span><br>
-</div>
-<div>independent MemOp.</div>
-<div><br>
-</div>
-<div>As MO_32 will be a value of MemOp, existing TCGMemOp comparisons and</div>
-<div>coercions will trigger -Wenum-compare and -Wenum-conversion.</div>
-<div><br>
-</div>
-<div>Signed-off-by: Tony Nguyen &lt;tony.nguyen@bt.com&gt;</div>
-<div>---</div>
-<div>&nbsp;target/arm/sve_helper.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 6 &#43;-</div>
-<div>&nbsp;target/arm/translate-a64.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 148 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;------------------</div>
-<div>&nbsp;target/arm/translate-sve.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;12 &#43;--</div>
-<div>&nbsp;target/arm/translate-vfp.inc.c &nbsp; &nbsp; &nbsp;| &nbsp; 4 &#43;-</div>
-<div>&nbsp;target/arm/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;34 &#43;&#43;&#43;&#43;----</div>
-<div>&nbsp;target/i386/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 150 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;------------------</div>
-<div>&nbsp;target/ppc/translate/vmx-impl.inc.c | &nbsp;28 &#43;&#43;&#43;----</div>
-<div>&nbsp;target/ppc/translate/vsx-impl.inc.c | &nbsp; 4 &#43;-</div>
-<div>&nbsp;target/s390x/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 4 &#43;-</div>
-<div>&nbsp;target/s390x/translate_vx.inc.c &nbsp; &nbsp; | &nbsp; 2 &#43;-</div>
-<div>&nbsp;target/s390x/vec.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 4 &#43;-</div>
-<div>&nbsp;tcg/aarch64/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;20 &#43;&#43;---</div>
-<div>&nbsp;tcg/arm/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 6 &#43;-</div>
-<div>&nbsp;tcg/i386/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;28 &#43;&#43;&#43;----</div>
-<div>&nbsp;tcg/mips/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 6 &#43;-</div>
-<div>&nbsp;tcg/ppc/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;tcg/riscv/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;tcg/sparc/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>
-<div>&nbsp;tcg/tcg-op-gvec.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;64 &#43;&#43;&#43;&#43;&#43;&#43;&#43;--------</div>
-<div>&nbsp;tcg/tcg-op-vec.c &nbsp; &nbsp; &nbsp; &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;18 &#43;&#43;---</div>
-<div>&nbsp;tcg/tcg.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 2 &#43;-</div>
-<div>&nbsp;22 files changed, 276 insertions(&#43;), 276 deletions(-)</div>
-<div><br>
-</div>
-<div>diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c</div>
-<div>index f6bef3d..fa705c4 100644</div>
-<div>--- a/target/arm/sve_helper.c</div>
-<div>&#43;&#43;&#43; b/target/arm/sve_helper.c</div>
-<div>@@ -1561,7 &#43;1561,7 @@ void HELPER(sve_cpy_m_s)(void *vd, void *vn, void *vg,</div>
-<div>&nbsp; &nbsp; &nbsp;uint64_t *d = vd, *n = vn;</div>
-<div>&nbsp; &nbsp; &nbsp;uint8_t *pg = vg;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;mm = dup_const(MO_32, mm);</div>
-<div>&#43; &nbsp; &nbsp;mm = dup_const(MO_UL, mm);</div>
-<div>&nbsp; &nbsp; &nbsp;for (i = 0; i &lt; opr_sz; i &#43;= 1) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint64_t nn = n[i];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint64_t pp = expand_pred_s(pg[H1(i)]);</div>
-<div>@@ -1612,7 &#43;1612,7 @@ void HELPER(sve_cpy_z_s)(void *vd, void *vg, uint64_t val, uint32_t desc)</div>
-<div>&nbsp; &nbsp; &nbsp;uint64_t *d = vd;</div>
-<div>&nbsp; &nbsp; &nbsp;uint8_t *pg = vg;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;val = dup_const(MO_32, val);</div>
-<div>&#43; &nbsp; &nbsp;val = dup_const(MO_UL, val);</div>
-<div>&nbsp; &nbsp; &nbsp;for (i = 0; i &lt; opr_sz; i &#43;= 1) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;d[i] = val &amp; expand_pred_s(pg[H1(i)]);</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -5123,7 &#43;5123,7 @@ static inline void sve_ldff1_zs(CPUARMState *env, void *vd, void *vg, void *vm,</div>
-<div>&nbsp; &nbsp; &nbsp;target_ulong addr;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* Skip to the first true predicate. &nbsp;*/</div>
-<div>- &nbsp; &nbsp;reg_off = find_next_active(vg, 0, reg_max, MO_32);</div>
-<div>&#43; &nbsp; &nbsp;reg_off = find_next_active(vg, 0, reg_max, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp;if (likely(reg_off &lt; reg_max)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Perform one normal read, which will fault or not. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;set_helper_retaddr(ra);</div>
-<div>diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c</div>
-<div>index 3acfccb..0b92e6d 100644</div>
-<div>--- a/target/arm/translate-a64.c</div>
-<div>&#43;&#43;&#43; b/target/arm/translate-a64.c</div>
-<div>@@ -484,7 &#43;484,7 @@ static TCGv_i32 read_fp_sreg(DisasContext *s, int reg)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_i32 v = tcg_temp_new_i32();</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;tcg_gen_ld_i32(v, cpu_env, fp_reg_offset(s, reg, MO_32));</div>
-<div>&#43; &nbsp; &nbsp;tcg_gen_ld_i32(v, cpu_env, fp_reg_offset(s, reg, MO_UL));</div>
-<div>&nbsp; &nbsp; &nbsp;return v;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>@@ -999,7 &#43;999,7 @@ static void read_vec_element(DisasContext *s, TCGv_i64 tcg_dest, int srcidx,</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld16u_i64(tcg_dest, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_i64(tcg_dest, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_SB:</div>
-<div>@@ -1008,7 &#43;1008,7 @@ static void read_vec_element(DisasContext *s, TCGv_i64 tcg_dest, int srcidx,</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_SW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld16s_i64(tcg_dest, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32|MO_SIGN:</div>
-<div>&#43; &nbsp; &nbsp;case MO_SL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32s_i64(tcg_dest, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>@@ -1037,8 &#43;1037,8 @@ static void read_vec_element_i32(DisasContext *s, TCGv_i32 tcg_dest, int srcidx,</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_SW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld16s_i32(tcg_dest, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>- &nbsp; &nbsp;case MO_32|MO_SIGN:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&#43; &nbsp; &nbsp;case MO_SL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld_i32(tcg_dest, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -1058,7 &#43;1058,7 @@ static void write_vec_element(DisasContext *s, TCGv_i64 tcg_src, int destidx,</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st16_i64(tcg_src, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_i64(tcg_src, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>@@ -1080,7 &#43;1080,7 @@ static void write_vec_element_i32(DisasContext *s, TCGv_i32 tcg_src,</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st16_i32(tcg_src, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st_i32(tcg_src, cpu_env, vect_off);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -5299,7 &#43;5299,7 @@ static void handle_fp_compare(DisasContext *s, int size,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (signal_all_nans) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_cmpes_a64(tcg_flags, tcg_vn, tcg_vm, fpst);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>@@ -5354,7 &#43;5354,7 @@ static void disas_fp_compare(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (type) {</div>
-<div>&nbsp; &nbsp; &nbsp;case 0:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case 1:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_64;</div>
-<div>@@ -5405,7 &#43;5405,7 @@ static void disas_fp_ccomp(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (type) {</div>
-<div>&nbsp; &nbsp; &nbsp;case 0:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case 1:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_64;</div>
-<div>@@ -5471,7 &#43;5471,7 @@ static void disas_fp_csel(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (type) {</div>
-<div>&nbsp; &nbsp; &nbsp;case 0:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case 1:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_64;</div>
-<div>@@ -6276,7 &#43;6276,7 @@ static void disas_fp_imm(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (type) {</div>
-<div>&nbsp; &nbsp; &nbsp;case 0:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case 1:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_64;</div>
-<div>@@ -6581,7 &#43;6581,7 @@ static void handle_fmov(DisasContext *s, int rd, int rn, int type, bool itof)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (type) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 32 bit */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_i64(tcg_rd, cpu_env, fp_reg_offset(s, rn, MO_32));</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_i64(tcg_rd, cpu_env, fp_reg_offset(s, rn, MO_UL));</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 1:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 64 bit */</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_UW : MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp msize = esize == 16 ? MO_UW : MO_UL;</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>@@ -7702,7 &#43;7702,7 @@ static void disas_simd_scalar_pairwise(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = extract32(size, 0, 1) ? MO_64 : MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = extract32(size, 0, 1) ? MO_64 : MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!fp_access_check(s)) {</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;TCGMemOp memop = scalar ? size : MO_UL;</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>@@ -8204,7 &#43;8204,7 @@ static void handle_simd_qshl(DisasContext *s, bool scalar, bool is_q,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_fp_sreg(s, rd, tcg_op);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_op, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_op, rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op);</div>
-<div>@@ -8264,7 &#43;8264,7 @@ static void handle_simd_intfp_conv(DisasContext *s, int rd, int rn,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_int32, rn, pass, mop);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (fracbits) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_signed) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_sltos(tcg_float, tcg_int32,</div>
-<div>@@ -8337,7 &#43;8337,7 @@ static void handle_simd_shift_intfp_conv(DisasContext *s, bool is_scalar,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp;} else if (immh &amp; 4) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp;} else if (immh &amp; 2) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!dc_isar_feature(aa64_fp16, s)) {</div>
-<div>@@ -8382,7 &#43;8382,7 @@ static void handle_simd_shift_fpint_conv(DisasContext *s, bool is_scalar,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp;} else if (immh &amp; 0x4) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp;} else if (immh &amp; 0x2) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!dc_isar_feature(aa64_fp16, s)) {</div>
-<div>@@ -8436,7 &#43;8436,7 @@ static void handle_simd_shift_fpint_conv(DisasContext *s, bool is_scalar,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = gen_helper_vfp_toshh;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_u) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = gen_helper_vfp_touls;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>@@ -8588,8 &#43;8588,8 @@ static void disas_simd_scalar_three_reg_diff(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op2 = tcg_temp_new_i64();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_res = tcg_temp_new_i64();</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op1, rn, 0, MO_32 | MO_SIGN);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op2, rm, 0, MO_32 | MO_SIGN);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op1, rn, 0, MO_SL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op2, rm, 0, MO_SL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mul_i64(tcg_res, tcg_op1, tcg_op2);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_neon_addl_saturate_s64(tcg_res, cpu_env, tcg_res, tcg_res);</div>
-<div>@@ -8631,7 &#43;8631,7 @@ static void disas_simd_scalar_three_reg_diff(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x9: /* SQDMLAL, SQDMLAL2 */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op3 = tcg_temp_new_i64();</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op3, rd, 0, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op3, rd, 0, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_neon_addl_saturate_s32(tcg_res, cpu_env,</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;tcg_res, tcg_op3);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i64(tcg_op3);</div>
-<div>@@ -8831,8 &#43;8831,8 @@ static void handle_3same_float(DisasContext *s, int size, int elements,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_op2 = tcg_temp_new_i32();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_res = tcg_temp_new_i32();</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, pass, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, pass, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, pass, MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (fpopcode) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x39: /* FMLS */</div>
-<div>@@ -8840,7 &#43;8840,7 @@ static void handle_3same_float(DisasContext *s, int size, int elements,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_negs(tcg_op1, tcg_op1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* fall through */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x19: /* FMLA */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_muladds(tcg_res, tcg_op1, tcg_op2,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcg_res, fpst);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>@@ -8908,7 &#43;8908,7 @@ static void handle_3same_float(DisasContext *s, int size, int elements,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element(s, tcg_tmp, rd, pass, MO_64);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i64(tcg_tmp);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res);</div>
-<div>@@ -9557,7 &#43;9557,7 @@ static void handle_2misc_reciprocal(DisasContext *s, int opcode,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; maxpasses; pass&#43;&#43;) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (opcode) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x3c: /* URECPE */</div>
-<div>@@ -9579,7 &#43;9579,7 @@ static void handle_2misc_reciprocal(DisasContext *s, int opcode,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_fp_sreg(s, rd, tcg_res);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res);</div>
-<div>@@ -9693,7 &#43;9693,7 @@ static void handle_2misc_narrow(DisasContext *s, bool scalar,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; 2; pass&#43;&#43;) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, destelt &#43; pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, destelt &#43; pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res[pass]);</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp;clear_vec_high(s, is_q, rd);</div>
-<div>@@ -9740,8 &#43;9740,8 @@ static void handle_2misc_satacc(DisasContext *s, bool is_scalar, bool is_u,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rn, rn, pass, size);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rd, rd, pass, size);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rn, rn, pass, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rd, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rn, rn, pass, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rd, rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_u) { /* USQADD */</div>
-<div>@@ -9779,7 &#43;9779,7 @@ static void handle_2misc_satacc(DisasContext *s, bool is_scalar, bool is_u,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element(s, tcg_zero, rd, 0, MO_64);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i64(tcg_zero);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_rd, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_rd, rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_rd);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_rn);</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;TCGMemOp memop = is_u ? MO_UL : MO_SL;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int elt = pass &#43; is_q * 2;</div>
-<div>&nbsp;</div>
-<div>@@ -10426,8 &#43;10426,8 @@ 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_passres;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int elt = pass &#43; is_q * 2;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, elt, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, elt, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, elt, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, elt, MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (accop == 0) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_passres = tcg_res[pass];</div>
-<div>@@ -10547,7 &#43;10547,7 @@ static void handle_3rd_wide(DisasContext *s, int is_q, int is_u, int size,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenWidenFn *widenfn = widenfns[size][is_u];</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op1, rn, pass, MO_64);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, part &#43; pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, part &#43; pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;widenfn(tcg_op2_wide, tcg_op2);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op2);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res[pass] = tcg_temp_new_i64();</div>
-<div>@@ -10603,7 &#43;10603,7 @@ static void handle_3rd_narrowing(DisasContext *s, int is_q, int is_u, int size,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; 2; pass&#43;&#43;) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass &#43; part, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass &#43; part, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res[pass]);</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp;clear_vec_high(s, is_q, rd);</div>
-<div>@@ -10860,8 &#43;10860,8 @@ static void handle_simd_3same_pair(DisasContext *s, int is_q, int u, int opcode,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int passreg = pass &lt; (maxpass / 2) ? rn : rm;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int passelt = (is_q &amp;&amp; (pass &amp; 1)) ? 2 : 0;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, passreg, passelt, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, passreg, passelt &#43; 1, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, passreg, passelt, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, passreg, passelt &#43; 1, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res[pass] = tcg_temp_new_i32();</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (opcode) {</div>
-<div>@@ -10925,7 &#43;10925,7 @@ static void handle_simd_3same_pair(DisasContext *s, int is_q, int u, int opcode,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</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;write_vec_element_i32(s, tcg_res[pass], rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res[pass]);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;clear_vec_high(s, is_q, rd);</div>
-<div>@@ -10971,7 &#43;10971,7 @@ static void disas_simd_3same_float(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;handle_simd_3same_pair(s, is_q, 0, fpopcode, size ? MO_64 : MO_32,</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;handle_simd_3same_pair(s, is_q, 0, fpopcode, size ? MO_64 : MO_UL,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rn, rm, rd);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x1b: /* FMULX */</div>
-<div>@@ -11174,8 &#43;11174,8 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenTwoOpFn *genfn = NULL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenTwoOpEnvFn *genenvfn = NULL;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, pass, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, pass, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, pass, MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (opcode) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x0: /* SHADD, UHADD */</div>
-<div>@@ -11292,11 &#43;11292,11 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_add_i32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;};</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fns[size](tcg_res, tcg_op1, tcg_res);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op1);</div>
-<div>@@ -11578,7 &#43;11578,7 @@ static void disas_simd_three_reg_same_extra(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x02: /* SDOT (vector) */</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x12: /* UDOT (vector) */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (size != MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (size != MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -11709,7 &#43;11709,7 @@ static void handle_2misc_widening(DisasContext *s, int opcode, bool is_q,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_op = tcg_temp_new_i32();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res[pass] = tcg_temp_new_i64();</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, srcelt &#43; pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, srcelt &#43; pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_fcvtds(tcg_res[pass], tcg_op, cpu_env);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -11732,7 &#43;11732,7 @@ static void handle_2misc_widening(DisasContext *s, int opcode, bool is_q,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fpst, ahp);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; 4; pass&#43;&#43;) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res[pass]);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>@@ -11771,7 &#43;11771,7 @@ static void handle_rev(DisasContext *s, int opcode, bool u,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap16_i64(tcg_tmp, tcg_tmp);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i64(tcg_tmp, tcg_tmp);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>@@ -11900,7 &#43;11900,7 @@ static void handle_shll(DisasContext *s, bool is_q, int size, int rn, int rd)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenWidenFn *widenfn = widenfns[size];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_op = tcg_temp_new_i32();</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, part &#43; pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, part &#43; pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res[pass] = tcg_temp_new_i64();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;widenfn(tcg_res[pass], tcg_op);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_shli_i64(tcg_res[pass], tcg_res[pass], 8 &lt;&lt; size);</div>
-<div>@@ -12251,7 &#43;12251,7 @@ static void disas_simd_two_reg_misc(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_res = tcg_temp_new_i32();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGCond cond;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 2) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Special cases for 32 bit elements */</div>
-<div>@@ -12418,7 &#43;12418,7 @@ static void disas_simd_two_reg_misc(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op);</div>
-<div>@@ -12816,7 &#43;12816,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x0e: /* SDOT */</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x1e: /* UDOT */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar || size != MO_32 || !dc_isar_feature(aa64_dp, s)) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar || size != MO_UL || !dc_isar_feature(aa64_dp, s)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -12835,7 &#43;12835,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x04: /* FMLSL */</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x18: /* FMLAL2 */</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x1c: /* FMLSL2 */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar || size != MO_32 || !dc_isar_feature(aa64_fhm, s)) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar || size != MO_UL || !dc_isar_feature(aa64_fhm, s)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -12855,7 &#43;12855,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;is_fp16 = true;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32: /* single precision */</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL: /* single precision */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_64: /* double precision */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -12868,7 &#43;12868,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Each indexable element is a complex pair. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size &#43;= 1;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (h &amp;&amp; !is_q) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>@@ -12902,7 &#43;12902,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;index = h &lt;&lt; 2 | l &lt;&lt; 1 | m;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;index = h &lt;&lt; 1 | l;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm |= m &lt;&lt; 4;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>@@ -13038,7 &#43;13038,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_op = tcg_temp_new_i32();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_res = tcg_temp_new_i32();</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, is_scalar ? size : MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, is_scalar ? size : MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (16 * u &#43; opcode) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x08: /* MUL */</div>
-<div>@@ -13060,7 &#43;13060,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (opcode == 0x8) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;genfn = fns[size - 1][is_sub];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;genfn(tcg_res, tcg_op, tcg_res);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>@@ -13068,7 &#43;13068,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x05: /* FMLS */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x01: /* FMLA */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 1:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (opcode == 0x5) {</div>
-<div>@@ -13153,7 &#43;13153,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x1d: /* SQRDMLAH */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 1) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_neon_qrdmlah_s16(tcg_res, cpu_env,</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;tcg_op, tcg_idx, tcg_res);</div>
-<div>@@ -13164,7 &#43;13164,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x1f: /* SQRDMLSH */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 1) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_neon_qrdmlsh_s16(tcg_res, cpu_env,</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;tcg_op, tcg_idx, tcg_res);</div>
-<div>@@ -13180,7 &#43;13180,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_fp_sreg(s, rd, tcg_res);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op);</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;TCGMemOp memop = MO_UL;</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>@@ -13288,7 &#43;13288,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, size);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pass &#43; (is_q * 2), MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pass &#43; (is_q * 2), MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res[pass] = tcg_temp_new_i64();</div>
-<div>@@ -13780,19 &#43;13780,19 @@ static void disas_crypto_four_reg(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res = tcg_temp_new_i32();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_zero = tcg_const_i32(0);</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, 3, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, 3, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op3, ra, 3, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, 3, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, 3, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op3, ra, 3, MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_rotri_i32(tcg_res, tcg_op1, 20);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_add_i32(tcg_res, tcg_res, tcg_op2);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_add_i32(tcg_res, tcg_res, tcg_op3);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_rotri_i32(tcg_res, tcg_res, 25);</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 0, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 1, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 2, MO_32);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, 3, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 0, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 1, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 2, MO_UL);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, 3, MO_UL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op2);</div>
-<div>diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c</div>
-<div>index 2bc1bd1..f7c891d 100644</div>
-<div>--- a/target/arm/translate-sve.c</div>
-<div>&#43;&#43;&#43; b/target/arm/translate-sve.c</div>
-<div>@@ -1693,7 &#43;1693,7 @@ static void do_sat_addsub_vec(DisasContext *s, int esz, int rd, int rn,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(t32);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t64 = tcg_temp_new_i64();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (d) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_neg_i64(t64, val);</div>
-<div>@@ -3320,7 &#43;3320,7 @@ static bool trans_SUBR_zzi(DisasContext *s, arg_rri_esz *a)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_sve_subri_s,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32,</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.scalar_first = true },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sub_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>
-<div>@@ -5258,7 &#43;5258,7 @@ static bool trans_LD1_zprz(DisasContext *s, arg_LD1_zprz *a)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (a-&gt;esz) {</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = gather_load_fn32[be][a-&gt;ff][a-&gt;xs][a-&gt;u][a-&gt;msz];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>@@ -5286,7 &#43;5286,7 @@ static bool trans_LD1_zpiz(DisasContext *s, arg_LD1_zpiz *a)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (a-&gt;esz) {</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = gather_load_fn32[be][a-&gt;ff][0][a-&gt;u][a-&gt;msz];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>@@ -5364,7 &#43;5364,7 @@ static bool trans_ST1_zprz(DisasContext *s, arg_ST1_zprz *a)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return true;</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp;switch (a-&gt;esz) {</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = scatter_store_fn32[be][a-&gt;xs][a-&gt;msz];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>@@ -5392,7 &#43;5392,7 @@ static bool trans_ST1_zpiz(DisasContext *s, arg_ST1_zpiz *a)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (a-&gt;esz) {</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = scatter_store_fn32[be][0][a-&gt;msz];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>diff --git a/target/arm/translate-vfp.inc.c b/target/arm/translate-vfp.inc.c</div>
-<div>index 549874c..5e0cd63 100644</div>
-<div>--- a/target/arm/translate-vfp.inc.c</div>
-<div>&#43;&#43;&#43; b/target/arm/translate-vfp.inc.c</div>
-<div>@@ -46,7 &#43;46,7 @@ uint64_t vfp_expand_imm(int size, uint8_t imm8)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;extract32(imm8, 0, 6);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;imm &lt;&lt;= 48;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;imm = (extract32(imm8, 7, 1) ? 0x8000 : 0) |</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(extract32(imm8, 6, 1) ? 0x3e00 : 0x4000) |</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(extract32(imm8, 0, 6) &lt;&lt; 3);</div>
-<div>@@ -1901,7 &#43;1901,7 @@ static bool trans_VMOV_imm_sp(DisasContext *s, arg_VMOV_imm_sp *a)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;fd = tcg_const_i32(vfp_expand_imm(MO_32, a-&gt;imm));</div>
-<div>&#43; &nbsp; &nbsp;fd = tcg_const_i32(vfp_expand_imm(MO_UL, a-&gt;imm));</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;for (;;) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;neon_store_reg32(fd, vd);</div>
-<div>diff --git a/target/arm/translate.c b/target/arm/translate.c</div>
-<div>index 8d10922..5510ecd 100644</div>
-<div>--- a/target/arm/translate.c</div>
-<div>&#43;&#43;&#43; b/target/arm/translate.c</div>
-<div>@@ -1085,7 &#43;1085,7 @@ static inline TCGv gen_aa32_addr(DisasContext *s, TCGv_i32 a32, TCGMemOp op)</div>
-<div>&nbsp; &nbsp; &nbsp;tcg_gen_extu_i32_tl(addr, a32);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* Not needed for user-mode BE32, where we use MO_BE instead. &nbsp;*/</div>
-<div>- &nbsp; &nbsp;if (!IS_USER_ONLY &amp;&amp; s-&gt;sctlr_b &amp;&amp; (op &amp; MO_SIZE) &lt; MO_32) {</div>
-<div>&#43; &nbsp; &nbsp;if (!IS_USER_ONLY &amp;&amp; s-&gt;sctlr_b &amp;&amp; (op &amp; MO_SIZE) &lt; MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_xori_tl(addr, addr, 4 - (1 &lt;&lt; (op &amp; MO_SIZE)));</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp;return addr;</div>
-<div>@@ -1480,7 &#43;1480,7 @@ static void neon_store_element(int reg, int ele, TCGMemOp size, TCGv_i32 var)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st16_i32(var, cpu_env, offset);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st_i32(var, cpu_env, offset);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -1499,7 &#43;1499,7 @@ static void neon_store_element64(int reg, int ele, TCGMemOp size, TCGv_i64 var)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st16_i64(var, cpu_env, offset);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_i64(var, cpu_env, offset);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>@@ -4272,7 &#43;4272,7 @@ const GVecGen2i ssra_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_ssra_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_ssra,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_ssra64_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_ssra_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>
-<div>@@ -4330,7 &#43;4330,7 @@ const GVecGen2i usra_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_usra_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_usra,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32, },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL, },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_usra64_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_usra_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>
-<div>@@ -4410,7 &#43;4410,7 @@ const GVecGen2i sri_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_shr_ins_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sri,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_shr64_ins_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_shr_ins_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>
-<div>@@ -4488,7 &#43;4488,7 @@ const GVecGen2i sli_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_shl_ins_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sli,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_shl64_ins_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_shl_ins_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>
-<div>@@ -4584,7 &#43;4584,7 @@ const GVecGen3 mla_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_mla_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_mla,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_mla64_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_mla_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>
-<div>@@ -4608,7 &#43;4608,7 @@ const GVecGen3 mls_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_mls_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_mls,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_mls64_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_mls_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>
-<div>@@ -4653,7 &#43;4653,7 @@ const GVecGen3 cmtst_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fni4 = gen_cmtst_i32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_cmtst_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_cmtst,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_cmtst_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_cmtst_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>
-<div>@@ -4691,7 &#43;4691,7 @@ const GVecGen4 uqadd_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_uqadd_s,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_uqadd,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fniv = gen_uqadd_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_uqadd_d,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>
-<div>@@ -4729,7 &#43;4729,7 @@ const GVecGen4 sqadd_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sqadd_s,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sqadd,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fniv = gen_sqadd_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sqadd_d,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sqadd,</div>
-<div>@@ -4767,7 &#43;4767,7 @@ const GVecGen4 uqsub_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_uqsub_s,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_uqsub,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fniv = gen_uqsub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_uqsub_d,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_uqsub,</div>
-<div>@@ -4805,7 &#43;4805,7 @@ const GVecGen4 sqsub_op[4] = {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sqsub_s,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sqsub,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>
-<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp;{ .fniv = gen_sqsub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sqsub_d,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sqsub,</div>
-<div>@@ -5798,10 &#43;5798,10 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* The immediate value has already been inverted,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; * so BIC becomes AND.</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_gvec_andi(MO_32, reg_ofs, reg_ofs, imm,</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_gvec_andi(MO_UL, reg_ofs, reg_ofs, imm,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vec_size, vec_size);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_gvec_ori(MO_32, reg_ofs, reg_ofs, imm,</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_gvec_ori(MO_UL, reg_ofs, reg_ofs, imm,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vec_size, vec_size);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>@@ -6879,7 &#43;6879,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;element = (insn &gt;&gt; 18) &amp; 3;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;element = (insn &gt;&gt; 19) &amp; 1;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_gvec_dup_mem(size, neon_reg_offset(rd, 0),</div>
-<div>diff --git a/target/i386/translate.c b/target/i386/translate.c</div>
-<div>index 0535bae..0e863d4 100644</div>
-<div>--- a/target/i386/translate.c</div>
-<div>&#43;&#43;&#43; b/target/i386/translate.c</div>
-<div>@@ -332,16 &#43;332,16 @@ static inline TCGMemOp mo_pushpop(DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp;/* Select the size of the stack pointer. &nbsp;*/</div>
-<div>&nbsp;static inline TCGMemOp mo_stacksize(DisasContext *s)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;return CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_32 : MO_UW;</div>
-<div>&#43; &nbsp; &nbsp;return CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_UL : MO_UW;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;/* Select only size 64 else 32. &nbsp;Used for SSE operand sizes. &nbsp;*/</div>
-<div>&nbsp;static inline TCGMemOp mo_64_32(TCGMemOp ot)</div>
-<div>&nbsp;{</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>- &nbsp; &nbsp;return ot == MO_64 ? MO_64 : MO_32;</div>
-<div>&#43; &nbsp; &nbsp;return ot == MO_64 ? MO_64 : MO_UL;</div>
-<div>&nbsp;#else</div>
-<div>- &nbsp; &nbsp;return MO_32;</div>
-<div>&#43; &nbsp; &nbsp;return MO_UL;</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>@@ -356,7 &#43;356,7 @@ static inline TCGMemOp mo_b_d(int b, TCGMemOp ot)</div>
-<div>&nbsp; &nbsp; Used for decoding operand size of port opcodes. &nbsp;*/</div>
-<div>&nbsp;static inline TCGMemOp mo_b_d32(int b, TCGMemOp ot)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;return b &amp; 1 ? (ot == MO_UW ? MO_UW : MO_32) : MO_UB;</div>
-<div>&#43; &nbsp; &nbsp;return b &amp; 1 ? (ot == MO_UW ? MO_UW : MO_UL) : MO_UB;</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void gen_op_mov_reg_v(DisasContext *s, TCGMemOp ot, int reg, TCGv t0)</div>
-<div>@@ -372,7 &#43;372,7 @@ static void gen_op_mov_reg_v(DisasContext *s, TCGMemOp ot, int reg, TCGv t0)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_deposit_tl(cpu_regs[reg], cpu_regs[reg], t0, 0, 16);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* For x86_64, this sets the higher half of register to zero.</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; For i386, this is equivalent to a mov. */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_tl(cpu_regs[reg], t0);</div>
-<div>@@ -463,7 &#43;463,7 @@ static void gen_lea_v_seg(DisasContext *s, TCGMemOp aflag, TCGv a0,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;#endif</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 32 bit address */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ovr_seg &lt; 0 &amp;&amp; s-&gt;addseg) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ovr_seg = def_seg;</div>
-<div>@@ -538,7 &#43;538,7 @@ static TCGv gen_ext_tl(TCGv dst, TCGv src, TCGMemOp size, bool sign)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return dst;</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (sign) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_tl(dst, src);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>@@ -586,7 &#43;586,7 @@ static void gen_helper_in_func(TCGMemOp ot, TCGv v, TCGv_i32 n)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_inw(v, cpu_env, n);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_inl(v, cpu_env, n);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -603,7 &#43;603,7 @@ static void gen_helper_out_func(TCGMemOp ot, TCGv_i32 v, TCGv_i32 n)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_outw(cpu_env, v, n);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_outl(cpu_env, v, n);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -625,7 &#43;625,7 @@ static void gen_check_io(DisasContext *s, TCGMemOp ot, target_ulong cur_eip,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_check_iow(cpu_env, s-&gt;tmp2_i32);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_check_iol(cpu_env, s-&gt;tmp2_i32);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -1077,7 &#43;1077,7 @@ static TCGLabel *gen_jz_ecx_string(DisasContext *s, target_ulong next_eip)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline void gen_stos(DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, R_EAX);</div>
-<div>&#43; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, R_EAX);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_EDI(s);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_st_v(s, ot, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp;gen_op_movl_T0_Dshift(s, ot);</div>
-<div>@@ -1568,7 &#43;1568,7 @@ static void gen_rot_rm_T1(DisasContext *s, TCGMemOp ot, int op1, int is_right)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto do_long;</div>
-<div>&nbsp; &nbsp; &nbsp;do_long:</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp3_i32, s-&gt;T1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_right) {</div>
-<div>@@ -1644,7 &#43;1644,7 @@ static void gen_rot_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>
-<div>&nbsp; &nbsp; &nbsp;if (op2 != 0) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (ot) {</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_right) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_rotri_i32(s-&gt;tmp2_i32, s-&gt;tmp2_i32, op2);</div>
-<div>@@ -1725,7 &#43;1725,7 @@ static void gen_rotc_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_rcrw(s-&gt;T0, cpu_env, s-&gt;T0, s-&gt;T1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_rcrl(s-&gt;T0, cpu_env, s-&gt;T0, s-&gt;T1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>@@ -1744,7 &#43;1744,7 @@ static void gen_rotc_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_rclw(s-&gt;T0, cpu_env, s-&gt;T0, s-&gt;T1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_rcll(s-&gt;T0, cpu_env, s-&gt;T0, s-&gt;T1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>@@ -1791,7 &#43;1791,7 @@ static void gen_shiftd_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* FALLTHRU */</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Concatenate the two 32-bit values and use a 64-bit shift. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_subi_tl(s-&gt;tmp0, count, 1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_right) {</div>
-<div>@@ -1984,7 &#43;1984,7 @@ static AddressParts gen_lea_modrm_0(CPUX86State *env, DisasContext *s,</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;switch (s-&gt;aflag) {</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;havesib = 0;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (rm == 4) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int code = x86_ldub_code(env, s);</div>
-<div>@@ -2190,7 &#43;2190,7 @@ static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ret = x86_lduw_code(env, s);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>&nbsp;#endif</div>
-<div>@@ -2204,7 &#43;2204,7 @@ static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline int insn_const_size(TCGMemOp ot)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;if (ot &lt;= MO_32) {</div>
-<div>&#43; &nbsp; &nbsp;if (ot &lt;= MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 1 &lt;&lt; ot;</div>
-<div>&nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 4;</div>
-<div>@@ -2400,12 &#43;2400,12 @@ static inline void gen_pop_update(DisasContext *s, TCGMemOp ot)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static inline void gen_stack_A0(DisasContext *s)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;gen_lea_v_seg(s, s-&gt;ss32 ? MO_32 : MO_UW, cpu_regs[R_ESP], R_SS, -1);</div>
-<div>&#43; &nbsp; &nbsp;gen_lea_v_seg(s, s-&gt;ss32 ? MO_UL : MO_UW, cpu_regs[R_ESP], R_SS, -1);</div>
-<div>&nbsp;}</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_UW;</div>
-<div>&#43; &nbsp; &nbsp;TCGMemOp s_ot = s-&gt;ss32 ? MO_UL : MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOp 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>@@ -2421,7 &#43;2421,7 @@ 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_UW;</div>
-<div>&#43; &nbsp; &nbsp;TCGMemOp s_ot = s-&gt;ss32 ? MO_UL : MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp;TCGMemOp 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>@@ -2443,7 &#43;2443,7 @@ static void gen_popa(DisasContext *s)</div>
-<div>&nbsp;static void gen_enter(DisasContext *s, int esp_addend, int level)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &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_UW;</div>
-<div>&#43; &nbsp; &nbsp;TCGMemOp a_ot = CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_UL : MO_UW;</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>@@ -3145,7 &#43;3145,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env, offsetof(CPUX86State,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xmm_regs[reg].ZMM_L(0)));</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x6e: /* movd mm, ea */</div>
-<div>@@ -3157,7 &#43;3157,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_32, OR_TMP0, 0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UL, OR_TMP0, 0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_addi_ptr(s-&gt;ptr0, cpu_env,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State,fpregs[reg].mmx));</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>
-<div>@@ -3174,7 &#43;3174,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_32, OR_TMP0, 0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UL, OR_TMP0, 0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_addi_ptr(s-&gt;ptr0, cpu_env,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State,xmm_regs[reg]));</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>
-<div>@@ -3211,7 &#43;3211,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x210: /* movss xmm, ea */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod != 3) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_tl(s-&gt;T0, cpu_env,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetof(CPUX86State, xmm_regs[reg].ZMM_L(0)));</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_movi_tl(s-&gt;T0, 0);</div>
-<div>@@ -3346,7 &#43;3346,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State,fpregs[reg].mmx.MMX_L(0)));</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_32, OR_TMP0, 1);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UL, OR_TMP0, 1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x17e: /* movd ea, xmm */</div>
-<div>@@ -3360,7 &#43;3360,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State,xmm_regs[reg].ZMM_L(0)));</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_32, OR_TMP0, 1);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UL, OR_TMP0, 1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x27e: /* movq xmm, ea */</div>
-<div>@@ -3405,7 &#43;3405,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State, xmm_regs[reg].ZMM_L(0)));</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm = (modrm &amp; 7) | REX_B(s);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_movl(s, offsetof(CPUX86State, xmm_regs[rm].ZMM_L(0)),</div>
-<div>@@ -3530,7 &#43;3530,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op1_offset = offsetof(CPUX86State,xmm_regs[reg]);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_addi_ptr(s-&gt;ptr0, cpu_env, op1_offset);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SSEFunc_0_epi sse_fn_epi = sse_op_table3ai[(b &gt;&gt; 8) &amp; 1];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sse_fn_epi(cpu_env, s-&gt;ptr0, s-&gt;tmp2_i32);</div>
-<div>@@ -3584,7 &#43;3584,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((b &gt;&gt; 8) &amp; 1) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldq_env_A0(s, offsetof(CPUX86State, xmm_t0.ZMM_Q(0)));</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_tl(s-&gt;T0, cpu_env,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetof(CPUX86State, xmm_t0.ZMM_L(0)));</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -3594,7 &#43;3594,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op2_offset = offsetof(CPUX86State,xmm_regs[rm]);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_addi_ptr(s-&gt;ptr0, cpu_env, op2_offset);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SSEFunc_i_ep sse_fn_i_ep =</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sse_op_table3bi[((b &gt;&gt; 7) &amp; 2) | (b &amp; 1)];</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sse_fn_i_ep(s-&gt;tmp2_i32, cpu_env, s-&gt;ptr0);</div>
-<div>@@ -3786,7 &#43;3786,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((b &amp; 0xff) == 0xf0) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_UB;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else if (s-&gt;dflag != MO_64) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = (s-&gt;prefix &amp; PREFIX_DATA ? MO_UW : MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = (s-&gt;prefix &amp; PREFIX_DATA ? MO_UW : MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -3815,7 &#43;3815,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto illegal_op;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s-&gt;dflag != MO_64) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = (s-&gt;prefix &amp; PREFIX_DATA ? MO_UW : MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = (s-&gt;prefix &amp; PREFIX_DATA ? MO_UW : MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -4026,7 &#43;4026,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (ot) {</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* If we know TL is 64-bit, and we want a 32-bit</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result, just do everything in 64-bit arithmetic. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_i64(cpu_regs[reg], cpu_regs[reg]);</div>
-<div>@@ -4172,7 &#43;4172,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x16:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_32) { /* pextrd */</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_UL) { /* pextrd */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld_i32(s-&gt;tmp2_i32, cpu_env,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetof(CPUX86State,</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;xmm_regs[reg].ZMM_L(val &amp; 3)));</div>
-<div>@@ -4210,7 &#43;4210,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x20: /* pinsrb */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod == 3) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, rm);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, rm);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_tl(s-&gt;T0, s-&gt;A0,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s-&gt;mem_index, MO_UB);</div>
-<div>@@ -4248,7 &#43;4248,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</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;xmm_regs[reg].ZMM_L(3)));</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x22:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_32) { /* pinsrd */</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_UL) { /* pinsrd */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod == 3) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, cpu_regs[rm]);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>@@ -4393,7 &#43;4393,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (sz) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 2:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 32 bit access */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_tl(s-&gt;T0, cpu_env,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetof(CPUX86State,xmm_t0.ZMM_L(0)));</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>@@ -4630,19 &#43;4630,19 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* In 64-bit mode, the default data size is 32-bit. &nbsp;Select 64-bit</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data with rex_w, and 16-bit data with 0x66; rex_w takes precedence</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; over 0x66 if both are present. &nbsp;*/</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;dflag = (rex_w &gt; 0 ? MO_64 : prefixes &amp; PREFIX_DATA ? MO_UW : MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;dflag = (rex_w &gt; 0 ? MO_64 : prefixes &amp; PREFIX_DATA ? MO_UW : MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* In 64-bit mode, 0x67 selects 32-bit addressing. &nbsp;*/</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;aflag = (prefixes &amp; PREFIX_ADR ? MO_32 : MO_64);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;aflag = (prefixes &amp; PREFIX_ADR ? MO_UL : MO_64);</div>
-<div>&nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* In 16/32-bit mode, 0x66 selects the opposite data size. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s-&gt;code32 ^ ((prefixes &amp; PREFIX_DATA) != 0)) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dflag = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dflag = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dflag = MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* In 16/32-bit mode, 0x67 selects the opposite addressing. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s-&gt;code32 ^ ((prefixes &amp; PREFIX_ADR) != 0)) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;aflag = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;aflag = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;aflag = MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -4891,7 &#43;4891,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;set_cc_op(s, CC_OP_MULW);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp3_i32, cpu_regs[R_EAX]);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mulu2_i32(s-&gt;tmp2_i32, s-&gt;tmp3_i32,</div>
-<div>@@ -4942,7 &#43;4942,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;set_cc_op(s, CC_OP_MULW);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp3_i32, cpu_regs[R_EAX]);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_muls2_i32(s-&gt;tmp2_i32, s-&gt;tmp3_i32,</div>
-<div>@@ -4976,7 &#43;4976,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_divw_AX(cpu_env, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_divl_EAX(cpu_env, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>@@ -4995,7 &#43;4995,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_idivw_AX(cpu_env, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_idivl_EAX(cpu_env, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>@@ -5026,7 &#43;5026,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* operand size for jumps is 64 bit */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else if (op == 3 || op == 5) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_32 &#43; (rex_w == 1) : MO_UW;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_UL &#43; (rex_w == 1) : MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else if (op == 6) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* default push size is 64 bit */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = mo_pushpop(s, dflag);</div>
-<div>@@ -5146,15 &#43;5146,15 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (dflag) {</div>
-<div>&nbsp;#ifdef TARGET_X86_64</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, R_EAX);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, R_EAX);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_tl(s-&gt;T0, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_64, R_EAX, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;#endif</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UW, s-&gt;T0, R_EAX);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16s_tl(s-&gt;T0, s-&gt;T0);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_32, R_EAX, s-&gt;T0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_UL, R_EAX, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UB, s-&gt;T0, R_EAX);</div>
-<div>@@ -5174,11 &#43;5174,11 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_64, R_EDX, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;#endif</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, R_EAX);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, R_EAX);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_tl(s-&gt;T0, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_sari_tl(s-&gt;T0, s-&gt;T0, 31);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_32, R_EDX, s-&gt;T0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_UL, R_EDX, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UW, s-&gt;T0, R_EAX);</div>
-<div>@@ -5219,7 &#43;5219,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_sub_tl(cpu_cc_src, cpu_cc_src, s-&gt;T1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;#endif</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp3_i32, s-&gt;T1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_muls2_i32(s-&gt;tmp2_i32, s-&gt;tmp3_i32,</div>
-<div>@@ -5394,7 &#43;5394,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/**************************/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* push/pop */</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x50 ... 0x57: /* push */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, (b &amp; 7) | REX_B(s));</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, (b &amp; 7) | REX_B(s));</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_push_v(s, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x58 ... 0x5f: /* pop */</div>
-<div>@@ -5734,7 &#43;5734,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x1b5: /* lgs Gv */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op = R_GS;</div>
-<div>&nbsp; &nbsp; &nbsp;do_lxx:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_32 : MO_UW;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_UL : MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;modrm = x86_ldub_code(env, s);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reg = ((modrm &gt;&gt; 3) &amp; 7) | rex_r;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mod = (modrm &gt;&gt; 6) &amp; 3;</div>
-<div>@@ -6576,7 &#43;6576,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp;case 0xe8: /* call im */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag != MO_UW) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int16_t)insn_get(env, s, MO_UW);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -6609,7 &#43;6609,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto do_lcall;</div>
-<div>&nbsp; &nbsp; &nbsp;case 0xe9: /* jmp im */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag != MO_UW) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int16_t)insn_get(env, s, MO_UW);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -6649,7 &#43;6649,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto do_jcc;</div>
-<div>&nbsp; &nbsp; &nbsp;case 0x180 ... 0x18f: /* jcc Jv */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag != MO_UW) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_32);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int16_t)insn_get(env, s, MO_UW);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -6827,7 &#43;6827,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reg = ((modrm &gt;&gt; 3) &amp; 7) | rex_r;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mod = (modrm &gt;&gt; 6) &amp; 3;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm = (modrm &amp; 7) | REX_B(s);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T1, reg);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T1, reg);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod != 3) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AddressParts a = gen_lea_modrm_0(env, s, modrm);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* specific case: we need to add a displacement */</div>
-<div>@@ -7126,10 &#43;7126,10 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, reg);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, reg);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_tl(s-&gt;T0, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_tl(s-&gt;T0, s-&gt;T0);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_32, reg, s-&gt;T0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_UL, reg, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case 0xd6: /* salc */</div>
-<div>@@ -7359,7 &#43;7359,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag == MO_UW) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_andi_tl(s-&gt;T0, s-&gt;T0, 0xffffff);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, CODE64(s) &#43; MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, CODE64(s) &#43; MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0xc8: /* monitor */</div>
-<div>@@ -7414,7 &#43;7414,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag == MO_UW) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_andi_tl(s-&gt;T0, s-&gt;T0, 0xffffff);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, CODE64(s) &#43; MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, CODE64(s) &#43; MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0xd0: /* xgetbv */</div>
-<div>@@ -7560,7 &#43;7560,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UW, s-&gt;T1, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_add_A0_im(s, 2);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, CODE64(s) &#43; MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, CODE64(s) &#43; MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag == MO_UW) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_andi_tl(s-&gt;T0, s-&gt;T0, 0xffffff);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -7577,7 &#43;7577,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UW, s-&gt;T1, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_add_A0_im(s, 2);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, CODE64(s) &#43; MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, CODE64(s) &#43; MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag == MO_UW) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_andi_tl(s-&gt;T0, s-&gt;T0, 0xffffff);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -7698,7 &#43;7698,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm = (modrm &amp; 7) | REX_B(s);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod == 3) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, rm);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, rm);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* sign extend */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (d_ot == MO_64) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_tl(s-&gt;T0, s-&gt;T0);</div>
-<div>@@ -7706,7 &#43;7706,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, d_ot, reg, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_32 | MO_SIGN, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_SL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, d_ot, reg, s-&gt;T0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else</div>
-<div>@@ -7765,7 &#43;7765,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv t0;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!s-&gt;pe || s-&gt;vm86)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto illegal_op;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_32 : MO_UW;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_UL : MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;modrm = x86_ldub_code(env, s);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reg = ((modrm &gt;&gt; 3) &amp; 7) | rex_r;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UW, OR_TMP0, 0);</div>
-<div>@@ -8016,7 &#43;8016,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (CODE64(s))</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((prefixes &amp; PREFIX_LOCK) &amp;&amp; (reg == 0) &amp;&amp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(s-&gt;cpuid_ext3_features &amp; CPUID_EXT3_CR8LEG)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reg = 8;</div>
-<div>@@ -8073,7 &#43;8073,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (CODE64(s))</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (reg &gt;= 8) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto illegal_op;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -8168,7 &#43;8168,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env, offsetof(CPUX86State, mxcsr));</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CASE_MODRM_MEM_OP(4): /* xsave */</div>
-<div>@@ -8268,7 &#43;8268,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dst = treg, src = base;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s-&gt;dflag == MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s-&gt;dflag == MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_tl(dst, src);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mov_tl(dst, src);</div>
-<div>diff --git a/target/ppc/translate/vmx-impl.inc.c b/target/ppc/translate/vmx-impl.inc.c</div>
-<div>index 71efef4..8aa767e 100644</div>
-<div>--- a/target/ppc/translate/vmx-impl.inc.c</div>
-<div>&#43;&#43;&#43; b/target/ppc/translate/vmx-impl.inc.c</div>
-<div>@@ -409,27 &#43;409,27 @@ GEN_VXFORM_DUAL_EXT(vaddubm, PPC_ALTIVEC, PPC_NONE, 0, &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp;GEN_VXFORM_V(vadduhm, MO_UW, tcg_gen_gvec_add, 0, 1);</div>
-<div>&nbsp;GEN_VXFORM_DUAL(vadduhm, PPC_ALTIVEC, PPC_NONE, &nbsp;\</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vmul10ecuq, PPC_NONE, PPC2_ISA300)</div>
-<div>-GEN_VXFORM_V(vadduwm, MO_32, tcg_gen_gvec_add, 0, 2);</div>
-<div>&#43;GEN_VXFORM_V(vadduwm, MO_UL, tcg_gen_gvec_add, 0, 2);</div>
-<div>&nbsp;GEN_VXFORM_V(vaddudm, MO_64, tcg_gen_gvec_add, 0, 3);</div>
-<div>&nbsp;GEN_VXFORM_V(vsububm, MO_UB, tcg_gen_gvec_sub, 0, 16);</div>
-<div>&nbsp;GEN_VXFORM_V(vsubuhm, MO_UW, tcg_gen_gvec_sub, 0, 17);</div>
-<div>-GEN_VXFORM_V(vsubuwm, MO_32, tcg_gen_gvec_sub, 0, 18);</div>
-<div>&#43;GEN_VXFORM_V(vsubuwm, MO_UL, tcg_gen_gvec_sub, 0, 18);</div>
-<div>&nbsp;GEN_VXFORM_V(vsubudm, MO_64, tcg_gen_gvec_sub, 0, 19);</div>
-<div>&nbsp;GEN_VXFORM_V(vmaxub, MO_UB, tcg_gen_gvec_umax, 1, 0);</div>
-<div>&nbsp;GEN_VXFORM_V(vmaxuh, MO_UW, tcg_gen_gvec_umax, 1, 1);</div>
-<div>-GEN_VXFORM_V(vmaxuw, MO_32, tcg_gen_gvec_umax, 1, 2);</div>
-<div>&#43;GEN_VXFORM_V(vmaxuw, MO_UL, tcg_gen_gvec_umax, 1, 2);</div>
-<div>&nbsp;GEN_VXFORM_V(vmaxud, MO_64, tcg_gen_gvec_umax, 1, 3);</div>
-<div>&nbsp;GEN_VXFORM_V(vmaxsb, MO_UB, tcg_gen_gvec_smax, 1, 4);</div>
-<div>&nbsp;GEN_VXFORM_V(vmaxsh, MO_UW, tcg_gen_gvec_smax, 1, 5);</div>
-<div>-GEN_VXFORM_V(vmaxsw, MO_32, tcg_gen_gvec_smax, 1, 6);</div>
-<div>&#43;GEN_VXFORM_V(vmaxsw, MO_UL, tcg_gen_gvec_smax, 1, 6);</div>
-<div>&nbsp;GEN_VXFORM_V(vmaxsd, MO_64, tcg_gen_gvec_smax, 1, 7);</div>
-<div>&nbsp;GEN_VXFORM_V(vminub, MO_UB, tcg_gen_gvec_umin, 1, 8);</div>
-<div>&nbsp;GEN_VXFORM_V(vminuh, MO_UW, tcg_gen_gvec_umin, 1, 9);</div>
-<div>-GEN_VXFORM_V(vminuw, MO_32, tcg_gen_gvec_umin, 1, 10);</div>
-<div>&#43;GEN_VXFORM_V(vminuw, MO_UL, tcg_gen_gvec_umin, 1, 10);</div>
-<div>&nbsp;GEN_VXFORM_V(vminud, MO_64, tcg_gen_gvec_umin, 1, 11);</div>
-<div>&nbsp;GEN_VXFORM_V(vminsb, MO_UB, tcg_gen_gvec_smin, 1, 12);</div>
-<div>&nbsp;GEN_VXFORM_V(vminsh, MO_UW, tcg_gen_gvec_smin, 1, 13);</div>
-<div>-GEN_VXFORM_V(vminsw, MO_32, tcg_gen_gvec_smin, 1, 14);</div>
-<div>&#43;GEN_VXFORM_V(vminsw, MO_UL, tcg_gen_gvec_smin, 1, 14);</div>
-<div>&nbsp;GEN_VXFORM_V(vminsd, MO_64, tcg_gen_gvec_smin, 1, 15);</div>
-<div>&nbsp;GEN_VXFORM(vavgub, 1, 16);</div>
-<div>&nbsp;GEN_VXFORM(vabsdub, 1, 16);</div>
-<div>@@ -532,18 &#43;532,18 @@ GEN_VXFORM(vmulesh, 4, 13);</div>
-<div>&nbsp;GEN_VXFORM(vmulesw, 4, 14);</div>
-<div>&nbsp;GEN_VXFORM_V(vslb, MO_UB, tcg_gen_gvec_shlv, 2, 4);</div>
-<div>&nbsp;GEN_VXFORM_V(vslh, MO_UW, tcg_gen_gvec_shlv, 2, 5);</div>
-<div>-GEN_VXFORM_V(vslw, MO_32, tcg_gen_gvec_shlv, 2, 6);</div>
-<div>&#43;GEN_VXFORM_V(vslw, MO_UL, tcg_gen_gvec_shlv, 2, 6);</div>
-<div>&nbsp;GEN_VXFORM(vrlwnm, 2, 6);</div>
-<div>&nbsp;GEN_VXFORM_DUAL(vslw, PPC_ALTIVEC, PPC_NONE, \</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vrlwnm, PPC_NONE, PPC2_ISA300)</div>
-<div>&nbsp;GEN_VXFORM_V(vsld, MO_64, tcg_gen_gvec_shlv, 2, 23);</div>
-<div>&nbsp;GEN_VXFORM_V(vsrb, MO_UB, tcg_gen_gvec_shrv, 2, 8);</div>
-<div>&nbsp;GEN_VXFORM_V(vsrh, MO_UW, tcg_gen_gvec_shrv, 2, 9);</div>
-<div>-GEN_VXFORM_V(vsrw, MO_32, tcg_gen_gvec_shrv, 2, 10);</div>
-<div>&#43;GEN_VXFORM_V(vsrw, MO_UL, tcg_gen_gvec_shrv, 2, 10);</div>
-<div>&nbsp;GEN_VXFORM_V(vsrd, MO_64, tcg_gen_gvec_shrv, 2, 27);</div>
-<div>&nbsp;GEN_VXFORM_V(vsrab, MO_UB, tcg_gen_gvec_sarv, 2, 12);</div>
-<div>&nbsp;GEN_VXFORM_V(vsrah, MO_UW, tcg_gen_gvec_sarv, 2, 13);</div>
-<div>-GEN_VXFORM_V(vsraw, MO_32, tcg_gen_gvec_sarv, 2, 14);</div>
-<div>&#43;GEN_VXFORM_V(vsraw, MO_UL, tcg_gen_gvec_sarv, 2, 14);</div>
-<div>&nbsp;GEN_VXFORM_V(vsrad, MO_64, tcg_gen_gvec_sarv, 2, 15);</div>
-<div>&nbsp;GEN_VXFORM(vsrv, 2, 28);</div>
-<div>&nbsp;GEN_VXFORM(vslv, 2, 29);</div>
-<div>@@ -595,16 &#43;595,16 @@ GEN_VXFORM_DUAL_EXT(vaddubs, PPC_ALTIVEC, PPC_NONE, 0, &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp;GEN_VXFORM_SAT(vadduhs, MO_UW, add, usadd, 0, 9);</div>
-<div>&nbsp;GEN_VXFORM_DUAL(vadduhs, PPC_ALTIVEC, PPC_NONE, \</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vmul10euq, PPC_NONE, PPC2_ISA300)</div>
-<div>-GEN_VXFORM_SAT(vadduws, MO_32, add, usadd, 0, 10);</div>
-<div>&#43;GEN_VXFORM_SAT(vadduws, MO_UL, add, usadd, 0, 10);</div>
-<div>&nbsp;GEN_VXFORM_SAT(vaddsbs, MO_UB, add, ssadd, 0, 12);</div>
-<div>&nbsp;GEN_VXFORM_SAT(vaddshs, MO_UW, add, ssadd, 0, 13);</div>
-<div>-GEN_VXFORM_SAT(vaddsws, MO_32, add, ssadd, 0, 14);</div>
-<div>&#43;GEN_VXFORM_SAT(vaddsws, MO_UL, add, ssadd, 0, 14);</div>
-<div>&nbsp;GEN_VXFORM_SAT(vsububs, MO_UB, sub, ussub, 0, 24);</div>
-<div>&nbsp;GEN_VXFORM_SAT(vsubuhs, MO_UW, sub, ussub, 0, 25);</div>
-<div>-GEN_VXFORM_SAT(vsubuws, MO_32, sub, ussub, 0, 26);</div>
-<div>&#43;GEN_VXFORM_SAT(vsubuws, MO_UL, sub, ussub, 0, 26);</div>
-<div>&nbsp;GEN_VXFORM_SAT(vsubsbs, MO_UB, sub, sssub, 0, 28);</div>
-<div>&nbsp;GEN_VXFORM_SAT(vsubshs, MO_UW, sub, sssub, 0, 29);</div>
-<div>-GEN_VXFORM_SAT(vsubsws, MO_32, sub, sssub, 0, 30);</div>
-<div>&#43;GEN_VXFORM_SAT(vsubsws, MO_UL, sub, sssub, 0, 30);</div>
-<div>&nbsp;GEN_VXFORM(vadduqm, 0, 4);</div>
-<div>&nbsp;GEN_VXFORM(vaddcuq, 0, 5);</div>
-<div>&nbsp;GEN_VXFORM3(vaddeuqm, 30, 0);</div>
-<div>@@ -914,7 &#43;914,7 @@ static void glue(gen_, name)(DisasContext *ctx) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp;</div>
-<div>&nbsp;GEN_VXFORM_VSPLT(vspltb, MO_UB, 6, 8);</div>
-<div>&nbsp;GEN_VXFORM_VSPLT(vsplth, MO_UW, 6, 9);</div>
-<div>-GEN_VXFORM_VSPLT(vspltw, MO_32, 6, 10);</div>
-<div>&#43;GEN_VXFORM_VSPLT(vspltw, MO_UL, 6, 10);</div>
-<div>&nbsp;GEN_VXFORM_UIMM_SPLAT(vextractub, 6, 8, 15);</div>
-<div>&nbsp;GEN_VXFORM_UIMM_SPLAT(vextractuh, 6, 9, 14);</div>
-<div>&nbsp;GEN_VXFORM_UIMM_SPLAT(vextractuw, 6, 10, 12);</div>
-<div>diff --git a/target/ppc/translate/vsx-impl.inc.c b/target/ppc/translate/vsx-impl.inc.c</div>
-<div>index 3922686..212817e 100644</div>
-<div>--- a/target/ppc/translate/vsx-impl.inc.c</div>
-<div>&#43;&#43;&#43; b/target/ppc/translate/vsx-impl.inc.c</div>
-<div>@@ -1553,12 &#43;1553,12 @@ static void gen_xxspltw(DisasContext *ctx)</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;tofs = vsr_full_offset(rt);</div>
-<div>&nbsp; &nbsp; &nbsp;bofs = vsr_full_offset(rb);</div>
-<div>- &nbsp; &nbsp;bofs &#43;= uim &lt;&lt; MO_32;</div>
-<div>&#43; &nbsp; &nbsp;bofs &#43;= uim &lt;&lt; MO_UL;</div>
-<div>&nbsp;#ifndef HOST_WORDS_BIG_ENDIAN</div>
-<div>&nbsp; &nbsp; &nbsp;bofs ^= 8 | 4;</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;tcg_gen_gvec_dup_mem(MO_32, tofs, bofs, 16, 16);</div>
-<div>&#43; &nbsp; &nbsp;tcg_gen_gvec_dup_mem(MO_UL, tofs, bofs, 16, 16);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;#define pattern(x) (((x) &amp; 0xff) * (~(uint64_t)0 / 0xff))</div>
-<div>diff --git a/target/s390x/translate.c b/target/s390x/translate.c</div>
-<div>index 415747f..9e646f1 100644</div>
-<div>--- a/target/s390x/translate.c</div>
-<div>&#43;&#43;&#43; b/target/s390x/translate.c</div>
-<div>@@ -196,7 &#43;196,7 @@ static inline int freg64_offset(uint8_t reg)</div>
-<div>&nbsp;static inline int freg32_offset(uint8_t reg)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;g_assert(reg &lt; 16);</div>
-<div>- &nbsp; &nbsp;return vec_reg_offset(reg, 0, MO_32);</div>
-<div>&#43; &nbsp; &nbsp;return vec_reg_offset(reg, 0, MO_UL);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;static TCGv_i64 load_reg(int reg)</div>
-<div>@@ -2283,7 &#43;2283,7 @@ static DisasJumpType op_csp(DisasContext *s, DisasOps *o)</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* Write back the output now, so that it happens before the</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; following branch, so that we don't need local temps. &nbsp;*/</div>
-<div>- &nbsp; &nbsp;if ((mop &amp; MO_SIZE) == MO_32) {</div>
-<div>&#43; &nbsp; &nbsp;if ((mop &amp; MO_SIZE) == MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_deposit_i64(o-&gt;out, o-&gt;out, old, 0, 32);</div>
-<div>&nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mov_i64(o-&gt;out, old);</div>
-<div>diff --git a/target/s390x/translate_vx.inc.c b/target/s390x/translate_vx.inc.c</div>
-<div>index 65da6b3..75d788c 100644</div>
-<div>--- a/target/s390x/translate_vx.inc.c</div>
-<div>&#43;&#43;&#43; b/target/s390x/translate_vx.inc.c</div>
-<div>@@ -48,7 &#43;48,7 @@</div>
-<div>&nbsp;</div>
-<div>&nbsp;#define ES_8 &nbsp; &nbsp;MO_UB</div>
-<div>&nbsp;#define ES_16 &nbsp; MO_UW</div>
-<div>-#define ES_32 &nbsp; MO_32</div>
-<div>&#43;#define ES_32 &nbsp; MO_UL</div>
-<div>&nbsp;#define ES_64 &nbsp; MO_64</div>
-<div>&nbsp;#define ES_128 &nbsp;4</div>
-<div>&nbsp;</div>
-<div>diff --git a/target/s390x/vec.h b/target/s390x/vec.h</div>
-<div>index 28e1b1d..f67392c 100644</div>
-<div>--- a/target/s390x/vec.h</div>
-<div>&#43;&#43;&#43; b/target/s390x/vec.h</div>
-<div>@@ -80,7 &#43;80,7 @@ static inline uint64_t s390_vec_read_element(const S390Vector *v, uint8_t enr,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return s390_vec_read_element8(v, enr);</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return s390_vec_read_element16(v, enr);</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return s390_vec_read_element32(v, enr);</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return s390_vec_read_element64(v, enr);</div>
-<div>@@ -127,7 &#43;127,7 @@ static inline void s390_vec_write_element(S390Vector *v, uint8_t enr,</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;s390_vec_write_element16(v, enr, data);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;s390_vec_write_element32(v, enr, data);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>diff --git a/tcg/aarch64/tcg-target.inc.c b/tcg/aarch64/tcg-target.inc.c</div>
-<div>index 3d90c4b..dc4fd21 100644</div>
-<div>--- a/tcg/aarch64/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/aarch64/tcg-target.inc.c</div>
-<div>@@ -431,12 &#43;431,12 @@ typedef enum {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; that emits them can transform to 3.3.10 or 3.3.13. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_STRB &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_UB &lt;&lt; 30,</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_STRH &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_UW &lt;&lt; 30,</div>
-<div>- &nbsp; &nbsp;I3312_STRW &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>
-<div>&#43; &nbsp; &nbsp;I3312_STRW &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_STRX &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_64 &lt;&lt; 30,</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_LDRB &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_UB &lt;&lt; 30,</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_LDRH &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_UW &lt;&lt; 30,</div>
-<div>- &nbsp; &nbsp;I3312_LDRW &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>
-<div>&#43; &nbsp; &nbsp;I3312_LDRW &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_LDRX &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_64 &lt;&lt; 30,</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_LDRSBW &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_W &lt;&lt; 22 | MO_UB &lt;&lt; 30,</div>
-<div>@@ -444,10 &#43;444,10 @@ typedef enum {</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_LDRSBX &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_X &lt;&lt; 22 | MO_UB &lt;&lt; 30,</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_LDRSHX &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_X &lt;&lt; 22 | MO_UW &lt;&lt; 30,</div>
-<div>- &nbsp; &nbsp;I3312_LDRSWX &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_X &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>
-<div>&#43; &nbsp; &nbsp;I3312_LDRSWX &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_X &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;I3312_LDRVS &nbsp; &nbsp; = 0x3c000000 | LDST_LD &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>
-<div>- &nbsp; &nbsp;I3312_STRVS &nbsp; &nbsp; = 0x3c000000 | LDST_ST &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>
-<div>&#43; &nbsp; &nbsp;I3312_LDRVS &nbsp; &nbsp; = 0x3c000000 | LDST_LD &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>
-<div>&#43; &nbsp; &nbsp;I3312_STRVS &nbsp; &nbsp; = 0x3c000000 | LDST_ST &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_LDRVD &nbsp; &nbsp; = 0x3c000000 | LDST_LD &lt;&lt; 22 | MO_64 &lt;&lt; 30,</div>
-<div>&nbsp; &nbsp; &nbsp;I3312_STRVD &nbsp; &nbsp; = 0x3c000000 | LDST_ST &lt;&lt; 22 | MO_64 &lt;&lt; 30,</div>
-<div>@@ -870,7 &#43;870,7 @@ static void tcg_out_dupi_vec(TCGContext *s, TCGType type,</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/*</div>
-<div>&nbsp; &nbsp; &nbsp; * Test all bytes 0x00 or 0xff second. &nbsp;This can match cases that</div>
-<div>- &nbsp; &nbsp; * might otherwise take 2 or 3 insns for MO_UW or MO_32 below.</div>
-<div>&#43; &nbsp; &nbsp; * might otherwise take 2 or 3 insns for MO_UW or MO_UL below.</div>
-<div>&nbsp; &nbsp; &nbsp; */</div>
-<div>&nbsp; &nbsp; &nbsp;for (i = imm8 = 0; i &lt; 8; i&#43;&#43;) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint8_t byte = v64 &gt;&gt; (i * 8);</div>
-<div>@@ -908,7 &#43;908,7 @@ static void tcg_out_dupi_vec(TCGContext *s, TCGType type,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_insn(s, 3606, MOVI, q, rd, 0, 0x8, v16 &amp; 0xff);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_insn(s, 3606, ORR, q, rd, 0, 0xa, v16 &gt;&gt; 8);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>
-<div>- &nbsp; &nbsp;} else if (v64 == dup_const(MO_32, v64)) {</div>
-<div>&#43; &nbsp; &nbsp;} else if (v64 == dup_const(MO_UL, v64)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32_t v32 = v64;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32_t n32 = ~v32;</div>
-<div>&nbsp;</div>
-<div>@@ -1749,7 &#43;1749,7 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp memop, TCGType ext,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_ldst_r(s, I3312_LDRW, data_r, addr_r, otype, off_r);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_rev32(s, data_r, data_r);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_sxt(s, TCG_TYPE_I64, MO_32, data_r, data_r);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_sxt(s, TCG_TYPE_I64, MO_UL, data_r, data_r);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_ldst_r(s, I3312_LDRSWX, data_r, addr_r, otype, off_r);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -1782,7 &#43;1782,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp memop,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_ldst_r(s, I3312_STRH, data_r, addr_r, otype, off_r);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap &amp;&amp; data_r != TCG_REG_XZR) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_rev32(s, TCG_REG_TMP, data_r);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;data_r = TCG_REG_TMP;</div>
-<div>@@ -2194,7 &#43;2194,7 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_ext_i32_i64:</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_ext32s_i64:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_sxt(s, TCG_TYPE_I64, MO_32, a0, a1);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_sxt(s, TCG_TYPE_I64, MO_UL, a0, a1);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_ext8u_i64:</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_ext8u_i32:</div>
-<div>diff --git a/tcg/arm/tcg-target.inc.c b/tcg/arm/tcg-target.inc.c</div>
-<div>index 0bd400e..05560a2 100644</div>
-<div>--- a/tcg/arm/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/arm/tcg-target.inc.c</div>
-<div>@@ -1435,7 &#43;1435,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;argreg = tcg_out_arg_reg16(s, argreg, datalo);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;argreg = tcg_out_arg_reg32(s, argreg, datalo);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>@@ -1632,7 &#43;1632,7 @@ static inline void tcg_out_qemu_st_index(TCGContext *s, int cond, TCGMemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_st16_r(s, cond, datalo, addrlo, addend);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_bswap32(s, cond, TCG_REG_R0, datalo);</div>
-<div>@@ -1677,7 &#43;1677,7 @@ static inline void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp opc,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_st16_8(s, COND_AL, datalo, addrlo, 0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_bswap32(s, COND_AL, TCG_REG_R0, datalo);</div>
-<div>diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c</div>
-<div>index 31c3664..93e4c63 100644</div>
-<div>--- a/tcg/i386/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/i386/tcg-target.inc.c</div>
-<div>@@ -897,7 &#43;897,7 @@ static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_vex_modrm(s, OPC_PUNPCKLWD, r, a, a);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a = r;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* FALLTHRU */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_vex_modrm(s, OPC_PSHUFD, r, 0, a);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* imm8 operand: all output lanes selected from input lane 0. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out8(s, 0);</div>
-<div>@@ -924,7 &#43;924,7 @@ static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_vex_modrm_offset(s, OPC_MOVDDUP, r, 0, base, offset);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_vex_modrm_offset(s, OPC_VBROADCASTSS, r, 0, base, offset);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>@@ -2173,7 &#43;2173,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg datalo, TCGReg datahi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_modrm_sib_offset(s, movop &#43; P_DATA16 &#43; seg, datalo,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; base, index, 0, ofs);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_mov(s, TCG_TYPE_I32, scratch, datalo);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_bswap32(s, scratch);</div>
-<div>@@ -2927,7 &#43;2927,7 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_x86_blend_vec:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (vece == MO_UW) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;insn = OPC_PBLENDW;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece == MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece == MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;insn = (have_avx2 ? OPC_VPBLENDD : OPC_BLENDPS);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;g_assert_not_reached();</div>
-<div>@@ -3292,13 &#43;3292,13 @@ int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece)</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_shrs_vec:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return vece &gt;= MO_UW;</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_sars_vec:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;return vece &gt;= MO_UW &amp;&amp; vece &lt;= MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;return vece &gt;= MO_UW &amp;&amp; vece &lt;= MO_UL;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_shlv_vec:</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_shrv_vec:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;return have_avx2 &amp;&amp; vece &gt;= MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;return have_avx2 &amp;&amp; vece &gt;= MO_UL;</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_sarv_vec:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;return have_avx2 &amp;&amp; vece == MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;return have_avx2 &amp;&amp; vece == MO_UL;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_mul_vec:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (vece == MO_UB) {</div>
-<div>@@ -3320,7 &#43;3320,7 @@ int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece)</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_umin_vec:</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_umax_vec:</div>
-<div>&nbsp; &nbsp; &nbsp;case INDEX_op_abs_vec:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;return vece &lt;= MO_32;</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;return vece &lt;= MO_UL;</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0;</div>
-<div>@@ -3396,9 &#43;3396,9 @@ static void expand_vec_sari(TCGType type, unsigned vece,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; * shift (note that the ISA says shift of 32 is valid).</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; */</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t1 = tcg_temp_new_vec(type);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_sari_vec(MO_32, t1, v1, imm);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_sari_vec(MO_UL, t1, v1, imm);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_shri_vec(MO_64, v0, v1, imm);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vec_gen_4(INDEX_op_x86_blend_vec, type, MO_32,</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vec_gen_4(INDEX_op_x86_blend_vec, type, MO_UL,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcgv_vec_arg(v0), tcgv_vec_arg(v0),</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcgv_vec_arg(t1), 0xaa);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_vec(t1);</div>
-<div>@@ -3515,28 &#43;3515,28 @@ static bool expand_vec_cmp_noinv(TCGType type, unsigned vece, TCGv_vec v0,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_SWAP | NEED_INV;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case TCG_COND_LEU:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_UMIN;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_BIAS | NEED_INV;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case TCG_COND_GTU:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_UMIN | NEED_INV;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_BIAS;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case TCG_COND_GEU:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_UMAX;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_BIAS | NEED_SWAP | NEED_INV;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case TCG_COND_LTU:</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_UMAX | NEED_INV;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_BIAS | NEED_SWAP;</div>
-<div>diff --git a/tcg/mips/tcg-target.inc.c b/tcg/mips/tcg-target.inc.c</div>
-<div>index 1780cb1..a78fe87 100644</div>
-<div>--- a/tcg/mips/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/mips/tcg-target.inc.c</div>
-<div>@@ -1386,7 &#43;1386,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;i = tcg_out_call_iarg_reg16(s, i, l-&gt;datalo_reg);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;i = tcg_out_call_iarg_reg(s, i, l-&gt;datalo_reg);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>@@ -1579,11 &#43;1579,11 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_opc_imm(s, OPC_SH, lo, base, 0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;case MO_32 | MO_BSWAP:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL | MO_BSWAP:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_bswap32(s, TCG_TMP3, lo);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lo = TCG_TMP3;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* FALLTHRU */</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_opc_imm(s, OPC_SW, lo, base, 0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp;</div>
-<div>diff --git a/tcg/ppc/tcg-target.inc.c b/tcg/ppc/tcg-target.inc.c</div>
-<div>index 852b894..835336a 100644</div>
-<div>--- a/tcg/ppc/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/ppc/tcg-target.inc.c</div>
-<div>@@ -1714,7 &#43;1714,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>
-<div>&nbsp;#endif</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_mov(s, TCG_TYPE_I32, arg&#43;&#43;, hi);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* FALLTHRU */</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_mov(s, TCG_TYPE_I32, arg&#43;&#43;, lo);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>
-<div>diff --git a/tcg/riscv/tcg-target.inc.c b/tcg/riscv/tcg-target.inc.c</div>
-<div>index 20bc19d..1905986 100644</div>
-<div>--- a/tcg/riscv/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/riscv/tcg-target.inc.c</div>
-<div>@@ -1222,7 &#43;1222,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_opc_store(s, OPC_SH, base, lo, 0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_opc_store(s, OPC_SW, base, lo, 0);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>diff --git a/tcg/sparc/tcg-target.inc.c b/tcg/sparc/tcg-target.inc.c</div>
-<div>index 85550b5..ac0d3a3 100644</div>
-<div>--- a/tcg/sparc/tcg-target.inc.c</div>
-<div>&#43;&#43;&#43; b/tcg/sparc/tcg-target.inc.c</div>
-<div>@@ -889,7 &#43;889,7 @@ static void emit_extend(TCGContext *s, TCGReg r, int op)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_arithi(s, r, r, 16, SHIFT_SLL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_arithi(s, r, r, 16, SHIFT_SRL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (SPARC64) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_arith(s, r, r, 0, SHIFT_SRL);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>diff --git a/tcg/tcg-op-gvec.c b/tcg/tcg-op-gvec.c</div>
-<div>index da409f5..e63622c 100644</div>
-<div>--- a/tcg/tcg-op-gvec.c</div>
-<div>&#43;&#43;&#43; b/tcg/tcg-op-gvec.c</div>
-<div>@@ -310,7 &#43;310,7 @@ uint64_t (dup_const)(unsigned vece, uint64_t c)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0x0101010101010101ull * (uint8_t)c;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0x0001000100010001ull * (uint16_t)c;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0x0000000100000001ull * (uint32_t)c;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return c;</div>
-<div>@@ -330,7 &#43;330,7 @@ static void gen_dup_i32(unsigned vece, TCGv_i32 out, TCGv_i32 in)</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_deposit_i32(out, in, in, 16, 16);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mov_i32(out, in);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -349,7 &#43;349,7 @@ static void gen_dup_i64(unsigned vece, TCGv_i64 out, TCGv_i64 in)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16u_i64(out, in);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_muli_i64(out, out, 0x0001000100010001ull);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_deposit_i64(out, in, in, 32, 32);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>
-<div>@@ -443,7 &#43;443,7 @@ static void do_dup(unsigned vece, uint32_t dofs, uint32_t oprsz,</div>
-<div>&nbsp; &nbsp; &nbsp;TCGv_ptr t_ptr;</div>
-<div>&nbsp; &nbsp; &nbsp;uint32_t i;</div>
-<div>&nbsp;</div>
-<div>- &nbsp; &nbsp;assert(vece &lt;= (in_32 ? MO_32 : MO_64));</div>
-<div>&#43; &nbsp; &nbsp;assert(vece &lt;= (in_32 ? MO_UL : MO_64));</div>
-<div>&nbsp; &nbsp; &nbsp;assert(in_32 == NULL || in_64 == NULL);</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* If we're storing 0, expand oprsz to maxsz. &nbsp;*/</div>
-<div>@@ -485,7 &#43;485,7 @@ static void do_dup(unsigned vece, uint32_t dofs, uint32_t oprsz,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; use a 64-bit operation unless the 32-bit operation would</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; be simple enough. &nbsp;*/</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (TCG_TARGET_REG_BITS == 64</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;&amp; (vece != MO_32 || !check_size_impl(oprsz, 4))) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;&amp; (vece != MO_UL || !check_size_impl(oprsz, 4))) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t_64 = tcg_temp_new_i64();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_extu_i32_i64(t_64, in_32);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_dup_i64(vece, t_64, t_64);</div>
-<div>@@ -1430,7 &#43;1430,7 @@ void tcg_gen_gvec_dup_i32(unsigned vece, uint32_t dofs, uint32_t oprsz,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32_t maxsz, TCGv_i32 in)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;check_size_align(oprsz, maxsz, dofs);</div>
-<div>- &nbsp; &nbsp;tcg_debug_assert(vece &lt;= MO_32);</div>
-<div>&#43; &nbsp; &nbsp;tcg_debug_assert(vece &lt;= MO_UL);</div>
-<div>&nbsp; &nbsp; &nbsp;do_dup(vece, dofs, oprsz, maxsz, in, NULL, 0);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>@@ -1453,7 &#43;1453,7 @@ void tcg_gen_gvec_dup_mem(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_dup_mem_vec(vece, t_vec, cpu_env, aofs);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;do_dup_store(type, dofs, oprsz, maxsz, t_vec);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_vec(t_vec);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece &lt;= MO_32) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece &lt;= MO_UL) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 in = tcg_temp_new_i32();</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (vece) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UB:</div>
-<div>@@ -1519,7 &#43;1519,7 @@ void tcg_gen_gvec_dup32i(uint32_t dofs, uint32_t oprsz,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; uint32_t maxsz, uint32_t x)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;check_size_align(oprsz, maxsz, dofs);</div>
-<div>- &nbsp; &nbsp;do_dup(MO_32, dofs, oprsz, maxsz, NULL, NULL, x);</div>
-<div>&#43; &nbsp; &nbsp;do_dup(MO_UL, dofs, oprsz, maxsz, NULL, NULL, x);</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;void tcg_gen_gvec_dup16i(uint32_t dofs, uint32_t oprsz,</div>
-<div>@@ -1618,7 &#43;1618,7 @@ void tcg_gen_gvec_add(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_add_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_add32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_add,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_add_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_add_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_add64,</div>
-<div>@@ -1649,7 &#43;1649,7 @@ void tcg_gen_gvec_adds(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_add_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_adds32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_add,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_add_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_add_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_adds64,</div>
-<div>@@ -1690,7 &#43;1690,7 @@ void tcg_gen_gvec_subs(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_subs32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sub,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sub_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_subs64,</div>
-<div>@@ -1769,7 &#43;1769,7 @@ void tcg_gen_gvec_sub(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sub32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sub,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sub_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sub64,</div>
-<div>@@ -1800,7 &#43;1800,7 @@ void tcg_gen_gvec_mul(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_mul_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_mul32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_mul,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_mul_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_mul_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_mul64,</div>
-<div>@@ -1829,7 &#43;1829,7 @@ void tcg_gen_gvec_muls(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_mul_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_muls32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_mul,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_mul_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_mul_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_muls64,</div>
-<div>@@ -1866,7 &#43;1866,7 @@ void tcg_gen_gvec_ssadd(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fniv = tcg_gen_ssadd_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_ssadd32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fniv = tcg_gen_ssadd_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_ssadd64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>@@ -1892,7 &#43;1892,7 @@ void tcg_gen_gvec_sssub(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fniv = tcg_gen_sssub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sssub32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fniv = tcg_gen_sssub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sssub64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>@@ -1935,7 &#43;1935,7 @@ void tcg_gen_gvec_usadd(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_usadd_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_usadd32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_usadd_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_usadd_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_usadd64,</div>
-<div>@@ -1979,7 &#43;1979,7 @@ void tcg_gen_gvec_ussub(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_ussub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_ussub32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_ussub_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_ussub_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_ussub64,</div>
-<div>@@ -2007,7 &#43;2007,7 @@ void tcg_gen_gvec_smin(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_smin_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_smin32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_smin_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_smin_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_smin64,</div>
-<div>@@ -2035,7 &#43;2035,7 @@ void tcg_gen_gvec_umin(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_umin_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_umin32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_umin_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_umin_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_umin64,</div>
-<div>@@ -2063,7 &#43;2063,7 @@ void tcg_gen_gvec_smax(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_smax_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_smax32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_smax_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_smax_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_smax64,</div>
-<div>@@ -2091,7 &#43;2091,7 @@ void tcg_gen_gvec_umax(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_umax_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_umax32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_umax_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_umax_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_umax64,</div>
-<div>@@ -2165,7 &#43;2165,7 @@ void tcg_gen_gvec_neg(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_neg_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_neg32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_neg_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_neg_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_neg64,</div>
-<div>@@ -2228,7 &#43;2228,7 @@ void tcg_gen_gvec_abs(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_abs_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_abs32,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_abs_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_abs_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_abs64,</div>
-<div>@@ -2485,7 &#43;2485,7 @@ void tcg_gen_gvec_shli(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shli_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shl32i,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_shli_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shli_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shl64i,</div>
-<div>@@ -2536,7 &#43;2536,7 @@ void tcg_gen_gvec_shri(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shri_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shr32i,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_shri_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shri_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shr64i,</div>
-<div>@@ -2601,7 &#43;2601,7 @@ void tcg_gen_gvec_sari(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sari_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sar32i,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sari_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sari_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sar64i,</div>
-<div>@@ -2736,7 &#43;2736,7 @@ do_gvec_shifts(unsigned vece, uint32_t dofs, uint32_t aofs, TCGv_i32 shift,</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp; &nbsp; &nbsp;/* Otherwise fall back to integral... */</div>
-<div>- &nbsp; &nbsp;if (vece == MO_32 &amp;&amp; check_size_impl(oprsz, 4)) {</div>
-<div>&#43; &nbsp; &nbsp;if (vece == MO_UL &amp;&amp; check_size_impl(oprsz, 4)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;expand_2s_i32(dofs, aofs, oprsz, shift, false, g-&gt;fni4);</div>
-<div>&nbsp; &nbsp; &nbsp;} else if (vece == MO_64 &amp;&amp; check_size_impl(oprsz, 8)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 sh64 = tcg_temp_new_i64();</div>
-<div>@@ -2889,7 &#43;2889,7 @@ void tcg_gen_gvec_shlv(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shlv_mod_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shl32v,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_shl_mod_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shlv_mod_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shl64v,</div>
-<div>@@ -2952,7 &#43;2952,7 @@ void tcg_gen_gvec_shrv(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shrv_mod_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shr32v,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_shr_mod_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shrv_mod_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shr64v,</div>
-<div>@@ -3015,7 &#43;3015,7 @@ void tcg_gen_gvec_sarv(unsigned vece, uint32_t dofs, uint32_t aofs,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sarv_mod_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sar32v,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sar_mod_i64,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sarv_mod_vec,</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sar64v,</div>
-<div>@@ -3168,7 &#43;3168,7 @@ void tcg_gen_gvec_cmp(TCGCond cond, unsigned vece, uint32_t dofs,</div>
-<div>&nbsp; &nbsp; &nbsp;case 0:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (vece == MO_64 &amp;&amp; check_size_impl(oprsz, 8)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;expand_cmp_i64(dofs, aofs, bofs, oprsz, cond);</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece == MO_32 &amp;&amp; check_size_impl(oprsz, 4)) {</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece == MO_UL &amp;&amp; check_size_impl(oprsz, 4)) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;expand_cmp_i32(dofs, aofs, bofs, oprsz, cond);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_gvec_3 * const *fn = fns[cond];</div>
-<div>diff --git a/tcg/tcg-op-vec.c b/tcg/tcg-op-vec.c</div>
-<div>index b0a4d98..ff723ab 100644</div>
-<div>--- a/tcg/tcg-op-vec.c</div>
-<div>&#43;&#43;&#43; b/tcg/tcg-op-vec.c</div>
-<div>@@ -216,7 &#43;216,7 @@ void tcg_gen_mov_vec(TCGv_vec r, TCGv_vec a)</div>
-<div>&nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>-#define MO_REG &nbsp;(TCG_TARGET_REG_BITS == 64 ? MO_64 : MO_32)</div>
-<div>&#43;#define MO_REG &nbsp;(TCG_TARGET_REG_BITS == 64 ? MO_64 : MO_UL)</div>
-<div>&nbsp;</div>
-<div>&nbsp;static void do_dupi_vec(TCGv_vec r, unsigned vece, TCGArg a)</div>
-<div>&nbsp;{</div>
-<div>@@ -253,7 &#43;253,7 @@ TCGv_vec tcg_const_ones_vec_matching(TCGv_vec m)</div>
-<div>&nbsp;void tcg_gen_dup64i_vec(TCGv_vec r, uint64_t a)</div>
-<div>&nbsp;{</div>
-<div>&nbsp; &nbsp; &nbsp;if (TCG_TARGET_REG_BITS == 32 &amp;&amp; a == deposit64(a, 32, 32, a)) {</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;do_dupi_vec(r, MO_32, a);</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;do_dupi_vec(r, MO_UL, a);</div>
-<div>&nbsp; &nbsp; &nbsp;} else if (TCG_TARGET_REG_BITS == 64 || a == (uint64_t)(int32_t)a) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;do_dupi_vec(r, MO_64, a);</div>
-<div>&nbsp; &nbsp; &nbsp;} else {</div>
-<div>@@ -265,7 &#43;265,7 @@ void tcg_gen_dup64i_vec(TCGv_vec r, uint64_t a)</div>
-<div>&nbsp;</div>
-<div>&nbsp;void tcg_gen_dup32i_vec(TCGv_vec r, uint32_t a)</div>
-<div>&nbsp;{</div>
-<div>- &nbsp; &nbsp;do_dupi_vec(r, MO_REG, dup_const(MO_32, a));</div>
-<div>&#43; &nbsp; &nbsp;do_dupi_vec(r, MO_REG, dup_const(MO_UL, a));</div>
-<div>&nbsp;}</div>
-<div>&nbsp;</div>
-<div>&nbsp;void tcg_gen_dup16i_vec(TCGv_vec r, uint32_t a)</div>
-<div>diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c</div>
-<div>index 21d448c..447683d 100644</div>
-<div>--- a/tcg/tcg-op.c</div>
-<div>&#43;&#43;&#43; b/tcg/tcg-op.c</div>
-<div>@@ -2725,7 &#43;2725,7 @@ static inline TCGMemOp tcg_canonicalize_memop(TCGMemOp op, bool is64, bool st)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!is64) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op &amp;= ~MO_SIGN;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>@@ -2816,7 &#43;2816,7 @@ void tcg_gen_qemu_ld_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16s_i32(val, val);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i32(val, val);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -2841,7 &#43;2841,7 @@ void tcg_gen_qemu_st_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16u_i32(swap, val);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap16_i32(swap, swap);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i32(swap, val);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>
-<div>@@ -2896,7 &#43;2896,7 @@ void tcg_gen_qemu_ld_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16s_i64(val, val);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i64(val, val);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (orig_memop &amp; MO_SIGN) {</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_i64(val, val);</div>
-<div>@@ -2932,7 &#43;2932,7 @@ void tcg_gen_qemu_st_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16u_i64(swap, val);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap16_i64(swap, swap);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_i64(swap, val);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i64(swap, swap);</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>
-<div>@@ -3027,8 &#43;3027,8 @@ static void * const table_cmpxchg[16] = {</div>
-<div>&nbsp; &nbsp; &nbsp;[MO_UB] = gen_helper_atomic_cmpxchgb,</div>
-<div>&nbsp; &nbsp; &nbsp;[MO_UW | MO_LE] = gen_helper_atomic_cmpxchgw_le,</div>
-<div>&nbsp; &nbsp; &nbsp;[MO_UW | MO_BE] = gen_helper_atomic_cmpxchgw_be,</div>
-<div>- &nbsp; &nbsp;[MO_32 | MO_LE] = gen_helper_atomic_cmpxchgl_le,</div>
-<div>- &nbsp; &nbsp;[MO_32 | MO_BE] = gen_helper_atomic_cmpxchgl_be,</div>
-<div>&#43; &nbsp; &nbsp;[MO_UL | MO_LE] = gen_helper_atomic_cmpxchgl_le,</div>
-<div>&#43; &nbsp; &nbsp;[MO_UL | MO_BE] = gen_helper_atomic_cmpxchgl_be,</div>
-<div>&nbsp; &nbsp; &nbsp;WITH_ATOMIC64([MO_64 | MO_LE] = gen_helper_atomic_cmpxchgq_le)</div>
-<div>&nbsp; &nbsp; &nbsp;WITH_ATOMIC64([MO_64 | MO_BE] = gen_helper_atomic_cmpxchgq_be)</div>
-<div>&nbsp;};</div>
-<div>@@ -3251,8 &#43;3251,8 @@ 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;[MO_UB] = gen_helper_atomic_##NAME##b, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp;[MO_UW | MO_LE] = gen_helper_atomic_##NAME##w_le, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp;[MO_UW | MO_BE] = gen_helper_atomic_##NAME##w_be, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>- &nbsp; &nbsp;[MO_32 | MO_LE] = gen_helper_atomic_##NAME##l_le, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>- &nbsp; &nbsp;[MO_32 | MO_BE] = gen_helper_atomic_##NAME##l_be, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&#43; &nbsp; &nbsp;[MO_UL | MO_LE] = gen_helper_atomic_##NAME##l_le, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&#43; &nbsp; &nbsp;[MO_UL | MO_BE] = gen_helper_atomic_##NAME##l_be, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp;WITH_ATOMIC64([MO_64 | MO_LE] = gen_helper_atomic_##NAME##q_le) &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>diff --git a/tcg/tcg.h b/tcg/tcg.h</div>
-<div>index a378887..4b6ee89 100644</div>
-<div>--- a/tcg/tcg.h</div>
-<div>&#43;&#43;&#43; b/tcg/tcg.h</div>
-<div>@@ -1304,7 &#43;1304,7 @@ uint64_t dup_const(unsigned vece, uint64_t c);</div>
-<div>&nbsp; &nbsp; &nbsp;(__builtin_constant_p(VECE) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&nbsp; &nbsp; &nbsp; ? &nbsp; ((VECE) == MO_UB ? 0x0101010101010101ull * (uint8_t)(C) &nbsp; \</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: (VECE) == MO_UW ? 0x0001000100010001ull * (uint16_t)(C) &nbsp;\</div>
-<div>- &nbsp; &nbsp; &nbsp; &nbsp;: (VECE) == MO_32 ? 0x0000000100000001ull * (uint32_t)(C) &nbsp;\</div>
-<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;: (VECE) == MO_UL ? 0x0000000100000001ull * (uint32_t)(C) &nbsp;\</div>
-<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: dup_const(VECE, C)) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\</div>
-<div>&nbsp; &nbsp; &nbsp; : dup_const(VECE, C))</div>
-<div>&nbsp;</div>
-<div>--&nbsp;</div>
-<div>1.8.3.1</div>
-<div><br>
-<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/N1/content_digest
index c76ace7..0766281 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,34 +1,34 @@
  "ref\0e9c6e5310b1a4863be45d45bf087fc3d@tpw09926dag18e.domain1.systemhost.net\0"
  "From\0<tony.nguyen@bt.com>\0"
- "Subject\0[Qemu-riscv] [Qemu-devel] [PATCH v2 03/20] tcg: Replace MO_32 with MO_UL alias\0"
+ "Subject\0[Qemu-devel] [PATCH v2 03/20] tcg: Replace MO_32 with MO_UL alias\0"
  "Date\0Mon, 22 Jul 2019 15:41:47 +0000\0"
  "To\0<qemu-devel@nongnu.org>\0"
- "Cc\0<peter.maydell@linaro.org>"
-  <walling@linux.ibm.com>
-  <david@redhat.com>
-  <palmer@sifive.com>
-  <mark.cave-ayland@ilande.co.uk>
-  <Alistair.Francis@wdc.com>
-  <arikalo@wavecomp.com>
-  <mst@redhat.com>
-  <pasic@linux.ibm.com>
-  <borntraeger@de.ibm.com>
-  <rth@twiddle.net>
-  <atar4qemu@gmail.com>
-  <ehabkost@redhat.com>
-  <sw@weilnetz.de>
-  <alex.williamson@redhat.com>
-  <qemu-arm@nongnu.org>
-  <david@gibson.dropbear.id.au>
-  <qemu-riscv@nongnu.org>
-  <cohuck@redhat.com>
-  <claudio.fontana@huawei.com>
-  <qemu-s390x@nongnu.org>
-  <qemu-ppc@nongnu.org>
-  <amarkovic@wavecomp.com>
-  <pbonzini@redhat.com>
- " <aurelien@aurel32.net>\0"
- "\01:1\0"
+ "Cc\0peter.maydell@linaro.org"
+  walling@linux.ibm.com
+  mst@redhat.com
+  palmer@sifive.com
+  mark.cave-ayland@ilande.co.uk
+  Alistair.Francis@wdc.com
+  arikalo@wavecomp.com
+  david@redhat.com
+  pasic@linux.ibm.com
+  borntraeger@de.ibm.com
+  rth@twiddle.net
+  atar4qemu@gmail.com
+  ehabkost@redhat.com
+  sw@weilnetz.de
+  qemu-s390x@nongnu.org
+  qemu-arm@nongnu.org
+  david@gibson.dropbear.id.au
+  qemu-riscv@nongnu.org
+  cohuck@redhat.com
+  claudio.fontana@huawei.com
+  alex.williamson@redhat.com
+  qemu-ppc@nongnu.org
+  amarkovic@wavecomp.com
+  pbonzini@redhat.com
+ " aurelien@aurel32.net\0"
+ "\00:1\0"
  "b\0"
  "Preparation for splitting MO_32 out from TCGMemOp into new accelerator\n"
  "independent MemOp.\n"
@@ -2399,2394 +2399,5 @@
  "\n"
  "--\n"
  1.8.3.1
- "\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 splitting MO_32 out from TCGMemOp into new accelerator</span><br>\r\n"
- "</div>\r\n"
- "<div>independent MemOp.</div>\r\n"
- "<div><br>\r\n"
- "</div>\r\n"
- "<div>As MO_32 will be a value of MemOp, existing TCGMemOp comparisons and</div>\r\n"
- "<div>coercions will trigger -Wenum-compare and -Wenum-conversion.</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>---</div>\r\n"
- "<div>&nbsp;target/arm/sve_helper.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 6 &#43;-</div>\r\n"
- "<div>&nbsp;target/arm/translate-a64.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 148 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;------------------</div>\r\n"
- "<div>&nbsp;target/arm/translate-sve.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;12 &#43;--</div>\r\n"
- "<div>&nbsp;target/arm/translate-vfp.inc.c &nbsp; &nbsp; &nbsp;| &nbsp; 4 &#43;-</div>\r\n"
- "<div>&nbsp;target/arm/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;34 &#43;&#43;&#43;&#43;----</div>\r\n"
- "<div>&nbsp;target/i386/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 150 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;------------------</div>\r\n"
- "<div>&nbsp;target/ppc/translate/vmx-impl.inc.c | &nbsp;28 &#43;&#43;&#43;----</div>\r\n"
- "<div>&nbsp;target/ppc/translate/vsx-impl.inc.c | &nbsp; 4 &#43;-</div>\r\n"
- "<div>&nbsp;target/s390x/translate.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 4 &#43;-</div>\r\n"
- "<div>&nbsp;target/s390x/translate_vx.inc.c &nbsp; &nbsp; | &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;target/s390x/vec.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 4 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/aarch64/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp;20 &#43;&#43;---</div>\r\n"
- "<div>&nbsp;tcg/arm/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 6 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/i386/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;28 &#43;&#43;&#43;----</div>\r\n"
- "<div>&nbsp;tcg/mips/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 6 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/ppc/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/riscv/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/sparc/tcg-target.inc.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;tcg/tcg-op-gvec.c &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp;64 &#43;&#43;&#43;&#43;&#43;&#43;&#43;--------</div>\r\n"
- "<div>&nbsp;tcg/tcg-op-vec.c &nbsp; &nbsp; &nbsp; &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;18 &#43;&#43;---</div>\r\n"
- "<div>&nbsp;tcg/tcg.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 2 &#43;-</div>\r\n"
- "<div>&nbsp;22 files changed, 276 insertions(&#43;), 276 deletions(-)</div>\r\n"
- "<div><br>\r\n"
- "</div>\r\n"
- "<div>diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c</div>\r\n"
- "<div>index f6bef3d..fa705c4 100644</div>\r\n"
- "<div>--- a/target/arm/sve_helper.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/arm/sve_helper.c</div>\r\n"
- "<div>@@ -1561,7 &#43;1561,7 @@ void HELPER(sve_cpy_m_s)(void *vd, void *vn, void *vg,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint64_t *d = vd, *n = vn;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint8_t *pg = vg;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;mm = dup_const(MO_32, mm);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;mm = dup_const(MO_UL, mm);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;for (i = 0; i &lt; opr_sz; i &#43;= 1) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint64_t nn = n[i];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint64_t pp = expand_pred_s(pg[H1(i)]);</div>\r\n"
- "<div>@@ -1612,7 &#43;1612,7 @@ void HELPER(sve_cpy_z_s)(void *vd, void *vg, uint64_t val, uint32_t desc)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint64_t *d = vd;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint8_t *pg = vg;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;val = dup_const(MO_32, val);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;val = dup_const(MO_UL, val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;for (i = 0; i &lt; opr_sz; i &#43;= 1) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;d[i] = val &amp; expand_pred_s(pg[H1(i)]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -5123,7 &#43;5123,7 @@ static inline void sve_ldff1_zs(CPUARMState *env, void *vd, void *vg, void *vm,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;target_ulong addr;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Skip to the first true predicate. &nbsp;*/</div>\r\n"
- "<div>- &nbsp; &nbsp;reg_off = find_next_active(vg, 0, reg_max, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;reg_off = find_next_active(vg, 0, reg_max, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (likely(reg_off &lt; reg_max)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Perform one normal read, which will fault or not. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;set_helper_retaddr(ra);</div>\r\n"
- "<div>diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c</div>\r\n"
- "<div>index 3acfccb..0b92e6d 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>@@ -484,7 &#43;484,7 @@ static TCGv_i32 read_fp_sreg(DisasContext *s, int reg)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_i32 v = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;tcg_gen_ld_i32(v, cpu_env, fp_reg_offset(s, reg, MO_32));</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;tcg_gen_ld_i32(v, cpu_env, fp_reg_offset(s, reg, MO_UL));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return v;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -999,7 &#43;999,7 @@ static void read_vec_element(DisasContext *s, TCGv_i64 tcg_dest, int srcidx,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld16u_i64(tcg_dest, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_i64(tcg_dest, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_SB:</div>\r\n"
- "<div>@@ -1008,7 &#43;1008,7 @@ static void read_vec_element(DisasContext *s, TCGv_i64 tcg_dest, int srcidx,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_SW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld16s_i64(tcg_dest, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32|MO_SIGN:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_SL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32s_i64(tcg_dest, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>@@ -1037,8 &#43;1037,8 @@ static void read_vec_element_i32(DisasContext *s, TCGv_i32 tcg_dest, int srcidx,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_SW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld16s_i32(tcg_dest, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32|MO_SIGN:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_SL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld_i32(tcg_dest, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -1058,7 &#43;1058,7 @@ static void write_vec_element(DisasContext *s, TCGv_i64 tcg_src, int destidx,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st16_i64(tcg_src, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_i64(tcg_src, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>@@ -1080,7 &#43;1080,7 @@ static void write_vec_element_i32(DisasContext *s, TCGv_i32 tcg_src,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st16_i32(tcg_src, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st_i32(tcg_src, cpu_env, vect_off);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -5299,7 &#43;5299,7 @@ static void handle_fp_compare(DisasContext *s, int size,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (signal_all_nans) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_cmpes_a64(tcg_flags, tcg_vn, tcg_vm, fpst);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>@@ -5354,7 &#43;5354,7 @@ static void disas_fp_compare(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (type) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 1:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_64;</div>\r\n"
- "<div>@@ -5405,7 &#43;5405,7 @@ static void disas_fp_ccomp(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (type) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 1:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_64;</div>\r\n"
- "<div>@@ -5471,7 &#43;5471,7 @@ static void disas_fp_csel(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (type) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 1:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_64;</div>\r\n"
- "<div>@@ -6276,7 &#43;6276,7 @@ static void disas_fp_imm(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (type) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 1:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sz = MO_64;</div>\r\n"
- "<div>@@ -6581,7 &#43;6581,7 @@ static void handle_fmov(DisasContext *s, int rd, int rn, int type, bool itof)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (type) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 32 bit */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_i64(tcg_rd, cpu_env, fp_reg_offset(s, rn, MO_32));</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_i64(tcg_rd, cpu_env, fp_reg_offset(s, rn, MO_UL));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 1:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 64 bit */</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_UW : MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;TCGMemOp msize = esize == 16 ? MO_UW : MO_UL;</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>@@ -7702,7 &#43;7702,7 @@ static void disas_simd_scalar_pairwise(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = extract32(size, 0, 1) ? MO_64 : MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = extract32(size, 0, 1) ? MO_64 : MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!fp_access_check(s)) {</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;TCGMemOp memop = scalar ? size : MO_UL;</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>@@ -8204,7 &#43;8204,7 @@ static void handle_simd_qshl(DisasContext *s, bool scalar, bool is_q,</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;write_fp_sreg(s, rd, tcg_op);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_op, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_op, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op);</div>\r\n"
- "<div>@@ -8264,7 &#43;8264,7 @@ static void handle_simd_intfp_conv(DisasContext *s, int rd, int rn,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_int32, rn, pass, mop);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (fracbits) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_signed) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_sltos(tcg_float, tcg_int32,</div>\r\n"
- "<div>@@ -8337,7 &#43;8337,7 @@ static void handle_simd_shift_intfp_conv(DisasContext *s, bool is_scalar,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else if (immh &amp; 4) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else if (immh &amp; 2) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!dc_isar_feature(aa64_fp16, s)) {</div>\r\n"
- "<div>@@ -8382,7 &#43;8382,7 @@ static void handle_simd_shift_fpint_conv(DisasContext *s, bool is_scalar,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else if (immh &amp; 0x4) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else if (immh &amp; 0x2) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!dc_isar_feature(aa64_fp16, s)) {</div>\r\n"
- "<div>@@ -8436,7 &#43;8436,7 @@ static void handle_simd_shift_fpint_conv(DisasContext *s, bool is_scalar,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = gen_helper_vfp_toshh;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_u) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = gen_helper_vfp_touls;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>@@ -8588,8 &#43;8588,8 @@ static void disas_simd_scalar_three_reg_diff(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op2 = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_res = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op1, rn, 0, MO_32 | MO_SIGN);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op2, rm, 0, MO_32 | MO_SIGN);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op1, rn, 0, MO_SL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op2, rm, 0, MO_SL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mul_i64(tcg_res, tcg_op1, tcg_op2);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_neon_addl_saturate_s64(tcg_res, cpu_env, tcg_res, tcg_res);</div>\r\n"
- "<div>@@ -8631,7 &#43;8631,7 @@ static void disas_simd_scalar_three_reg_diff(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x9: /* SQDMLAL, SQDMLAL2 */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 tcg_op3 = tcg_temp_new_i64();</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op3, rd, 0, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op3, rd, 0, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_neon_addl_saturate_s32(tcg_res, cpu_env,</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;tcg_res, tcg_op3);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i64(tcg_op3);</div>\r\n"
- "<div>@@ -8831,8 &#43;8831,8 @@ static void handle_3same_float(DisasContext *s, int size, int elements,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_op2 = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_res = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, pass, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, pass, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, pass, MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (fpopcode) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x39: /* FMLS */</div>\r\n"
- "<div>@@ -8840,7 &#43;8840,7 @@ static void handle_3same_float(DisasContext *s, int size, int elements,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_negs(tcg_op1, tcg_op1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* fall through */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x19: /* FMLA */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_muladds(tcg_res, tcg_op1, tcg_op2,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcg_res, fpst);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>@@ -8908,7 &#43;8908,7 @@ static void handle_3same_float(DisasContext *s, int size, int elements,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element(s, tcg_tmp, rd, pass, MO_64);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i64(tcg_tmp);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res);</div>\r\n"
- "<div>@@ -9557,7 &#43;9557,7 @@ static void handle_2misc_reciprocal(DisasContext *s, int opcode,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; maxpasses; pass&#43;&#43;) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (opcode) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x3c: /* URECPE */</div>\r\n"
- "<div>@@ -9579,7 &#43;9579,7 @@ static void handle_2misc_reciprocal(DisasContext *s, int opcode,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_fp_sreg(s, rd, tcg_res);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</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;tcg_temp_free_i32(tcg_res);</div>\r\n"
- "<div>@@ -9693,7 &#43;9693,7 @@ static void handle_2misc_narrow(DisasContext *s, bool scalar,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; 2; pass&#43;&#43;) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, destelt &#43; pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, destelt &#43; pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res[pass]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;clear_vec_high(s, is_q, rd);</div>\r\n"
- "<div>@@ -9740,8 &#43;9740,8 @@ static void handle_2misc_satacc(DisasContext *s, bool is_scalar, bool is_u,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rn, rn, pass, size);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rd, rd, pass, size);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rn, rn, pass, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rd, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rn, rn, pass, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_rd, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_u) { /* USQADD */</div>\r\n"
- "<div>@@ -9779,7 &#43;9779,7 @@ static void handle_2misc_satacc(DisasContext *s, bool is_scalar, bool is_u,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element(s, tcg_zero, rd, 0, MO_64);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i64(tcg_zero);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_rd, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_rd, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_rd);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_rn);</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;TCGMemOp memop = is_u ? MO_UL : MO_SL;</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>@@ -10426,8 &#43;10426,8 @@ 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_passres;</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>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, elt, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, elt, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, elt, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, elt, MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (accop == 0) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_passres = tcg_res[pass];</div>\r\n"
- "<div>@@ -10547,7 &#43;10547,7 @@ static void handle_3rd_wide(DisasContext *s, int is_q, int is_u, int size,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenWidenFn *widenfn = widenfns[size][is_u];</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element(s, tcg_op1, rn, pass, MO_64);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, part &#43; pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, part &#43; pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;widenfn(tcg_op2_wide, tcg_op2);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op2);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res[pass] = tcg_temp_new_i64();</div>\r\n"
- "<div>@@ -10603,7 &#43;10603,7 @@ static void handle_3rd_narrowing(DisasContext *s, int is_q, int is_u, int size,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; 2; pass&#43;&#43;) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass &#43; part, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass &#43; part, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res[pass]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;clear_vec_high(s, is_q, rd);</div>\r\n"
- "<div>@@ -10860,8 &#43;10860,8 @@ static void handle_simd_3same_pair(DisasContext *s, int is_q, int u, int opcode,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int passreg = pass &lt; (maxpass / 2) ? rn : rm;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int passelt = (is_q &amp;&amp; (pass &amp; 1)) ? 2 : 0;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, passreg, passelt, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, passreg, passelt &#43; 1, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, passreg, passelt, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, passreg, passelt &#43; 1, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res[pass] = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (opcode) {</div>\r\n"
- "<div>@@ -10925,7 &#43;10925,7 @@ static void handle_simd_3same_pair(DisasContext *s, int is_q, int u, int opcode,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</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;write_vec_element_i32(s, tcg_res[pass], rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res[pass]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;clear_vec_high(s, is_q, rd);</div>\r\n"
- "<div>@@ -10971,7 &#43;10971,7 @@ static void disas_simd_3same_float(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;handle_simd_3same_pair(s, is_q, 0, fpopcode, size ? MO_64 : MO_32,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;handle_simd_3same_pair(s, is_q, 0, fpopcode, size ? MO_64 : MO_UL,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rn, rm, rd);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x1b: /* FMULX */</div>\r\n"
- "<div>@@ -11174,8 &#43;11174,8 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenTwoOpFn *genfn = NULL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenTwoOpEnvFn *genenvfn = NULL;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, pass, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, pass, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, pass, MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (opcode) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x0: /* SHADD, UHADD */</div>\r\n"
- "<div>@@ -11292,11 &#43;11292,11 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_add_i32,</div>\r\n"
- "<div>&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;read_vec_element_i32(s, tcg_op1, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fns[size](tcg_res, tcg_op1, tcg_res);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op1);</div>\r\n"
- "<div>@@ -11578,7 &#43;11578,7 @@ static void disas_simd_three_reg_same_extra(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x02: /* SDOT (vector) */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x12: /* UDOT (vector) */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (size != MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (size != MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -11709,7 &#43;11709,7 @@ static void handle_2misc_widening(DisasContext *s, int opcode, bool is_q,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_op = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res[pass] = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, srcelt &#43; pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, srcelt &#43; pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_vfp_fcvtds(tcg_res[pass], tcg_op, cpu_env);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -11732,7 &#43;11732,7 @@ static void handle_2misc_widening(DisasContext *s, int opcode, bool is_q,</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; fpst, ahp);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (pass = 0; pass &lt; 4; pass&#43;&#43;) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res[pass], rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res[pass]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -11771,7 &#43;11771,7 @@ static void handle_rev(DisasContext *s, int opcode, bool u,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap16_i64(tcg_tmp, tcg_tmp);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i64(tcg_tmp, tcg_tmp);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>@@ -11900,7 &#43;11900,7 @@ static void handle_shll(DisasContext *s, bool is_q, int size, int rn, int rd)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NeonGenWidenFn *widenfn = widenfns[size];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_op = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, part &#43; pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, part &#43; pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res[pass] = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;widenfn(tcg_res[pass], tcg_op);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_shli_i64(tcg_res[pass], tcg_res[pass], 8 &lt;&lt; size);</div>\r\n"
- "<div>@@ -12251,7 &#43;12251,7 @@ static void disas_simd_two_reg_misc(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_res = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGCond cond;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 2) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Special cases for 32 bit elements */</div>\r\n"
- "<div>@@ -12418,7 &#43;12418,7 @@ static void disas_simd_two_reg_misc(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_res);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op);</div>\r\n"
- "<div>@@ -12816,7 &#43;12816,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x0e: /* SDOT */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x1e: /* UDOT */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar || size != MO_32 || !dc_isar_feature(aa64_dp, s)) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar || size != MO_UL || !dc_isar_feature(aa64_dp, s)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -12835,7 &#43;12835,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x04: /* FMLSL */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x18: /* FMLAL2 */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x1c: /* FMLSL2 */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar || size != MO_32 || !dc_isar_feature(aa64_fhm, s)) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar || size != MO_UL || !dc_isar_feature(aa64_fhm, s)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -12855,7 &#43;12855,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;is_fp16 = true;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32: /* single precision */</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL: /* single precision */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_64: /* double precision */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -12868,7 &#43;12868,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Each indexable element is a complex pair. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size &#43;= 1;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (h &amp;&amp; !is_q) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unallocated_encoding(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>@@ -12902,7 &#43;12902,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;index = h &lt;&lt; 2 | l &lt;&lt; 1 | m;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;index = h &lt;&lt; 1 | l;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm |= m &lt;&lt; 4;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>@@ -13038,7 &#43;13038,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_op = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 tcg_res = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, is_scalar ? size : MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, is_scalar ? size : MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (16 * u &#43; opcode) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x08: /* MUL */</div>\r\n"
- "<div>@@ -13060,7 &#43;13060,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (opcode == 0x8) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</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;read_vec_element_i32(s, tcg_op, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;genfn = fns[size - 1][is_sub];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;genfn(tcg_res, tcg_op, tcg_res);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>@@ -13068,7 &#43;13068,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x05: /* FMLS */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x01: /* FMLA */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (size) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 1:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (opcode == 0x5) {</div>\r\n"
- "<div>@@ -13153,7 &#43;13153,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x1d: /* SQRDMLAH */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 1) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_neon_qrdmlah_s16(tcg_res, cpu_env,</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;tcg_op, tcg_idx, tcg_res);</div>\r\n"
- "<div>@@ -13164,7 &#43;13164,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x1f: /* SQRDMLSH */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_res, rd, pass,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; is_scalar ? size : MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (size == 1) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_neon_qrdmlsh_s16(tcg_res, cpu_env,</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;tcg_op, tcg_idx, tcg_res);</div>\r\n"
- "<div>@@ -13180,7 &#43;13180,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_scalar) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_fp_sreg(s, rd, tcg_res);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, pass, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op);</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;TCGMemOp memop = MO_UL;</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>@@ -13288,7 &#43;13288,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn, pass, size);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op, rn,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pass &#43; (is_q * 2), MO_32);</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; pass &#43; (is_q * 2), MO_UL);</div>\r\n"
- "<div>&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;tcg_res[pass] = tcg_temp_new_i64();</div>\r\n"
- "<div>@@ -13780,19 &#43;13780,19 @@ static void disas_crypto_four_reg(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_res = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_zero = tcg_const_i32(0);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, 3, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, 3, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op3, ra, 3, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op1, rn, 3, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op2, rm, 3, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;read_vec_element_i32(s, tcg_op3, ra, 3, MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_rotri_i32(tcg_res, tcg_op1, 20);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_add_i32(tcg_res, tcg_res, tcg_op2);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_add_i32(tcg_res, tcg_res, tcg_op3);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_rotri_i32(tcg_res, tcg_res, 25);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 0, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 1, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 2, MO_32);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, 3, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 0, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 1, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_zero, rd, 2, MO_UL);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;write_vec_element_i32(s, tcg_res, rd, 3, MO_UL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(tcg_op2);</div>\r\n"
- "<div>diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c</div>\r\n"
- "<div>index 2bc1bd1..f7c891d 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>@@ -1693,7 &#43;1693,7 @@ static void do_sat_addsub_vec(DisasContext *s, int esz, int rd, int rn,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_i32(t32);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t64 = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (d) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_neg_i64(t64, val);</div>\r\n"
- "<div>@@ -3320,7 &#43;3320,7 @@ static bool trans_SUBR_zzi(DisasContext *s, arg_rri_esz *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_sve_subri_s,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.scalar_first = true },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sub_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>\r\n"
- "<div>@@ -5258,7 &#43;5258,7 @@ static bool trans_LD1_zprz(DisasContext *s, arg_LD1_zprz *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (a-&gt;esz) {</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = gather_load_fn32[be][a-&gt;ff][a-&gt;xs][a-&gt;u][a-&gt;msz];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>@@ -5286,7 &#43;5286,7 @@ static bool trans_LD1_zpiz(DisasContext *s, arg_LD1_zpiz *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (a-&gt;esz) {</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = gather_load_fn32[be][a-&gt;ff][0][a-&gt;u][a-&gt;msz];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>@@ -5364,7 &#43;5364,7 @@ static bool trans_ST1_zprz(DisasContext *s, arg_ST1_zprz *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return true;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (a-&gt;esz) {</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = scatter_store_fn32[be][a-&gt;xs][a-&gt;msz];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>@@ -5392,7 &#43;5392,7 @@ static bool trans_ST1_zpiz(DisasContext *s, arg_ST1_zpiz *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (a-&gt;esz) {</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fn = scatter_store_fn32[be][0][a-&gt;msz];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>diff --git a/target/arm/translate-vfp.inc.c b/target/arm/translate-vfp.inc.c</div>\r\n"
- "<div>index 549874c..5e0cd63 100644</div>\r\n"
- "<div>--- a/target/arm/translate-vfp.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/arm/translate-vfp.inc.c</div>\r\n"
- "<div>@@ -46,7 &#43;46,7 @@ uint64_t vfp_expand_imm(int size, uint8_t imm8)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;extract32(imm8, 0, 6);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;imm &lt;&lt;= 48;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;imm = (extract32(imm8, 7, 1) ? 0x8000 : 0) |</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(extract32(imm8, 6, 1) ? 0x3e00 : 0x4000) |</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(extract32(imm8, 0, 6) &lt;&lt; 3);</div>\r\n"
- "<div>@@ -1901,7 &#43;1901,7 @@ static bool trans_VMOV_imm_sp(DisasContext *s, arg_VMOV_imm_sp *a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;fd = tcg_const_i32(vfp_expand_imm(MO_32, a-&gt;imm));</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;fd = tcg_const_i32(vfp_expand_imm(MO_UL, a-&gt;imm));</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;for (;;) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;neon_store_reg32(fd, vd);</div>\r\n"
- "<div>diff --git a/target/arm/translate.c b/target/arm/translate.c</div>\r\n"
- "<div>index 8d10922..5510ecd 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>@@ -1085,7 &#43;1085,7 @@ static inline TCGv gen_aa32_addr(DisasContext *s, TCGv_i32 a32, TCGMemOp op)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tcg_gen_extu_i32_tl(addr, a32);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Not needed for user-mode BE32, where we use MO_BE instead. &nbsp;*/</div>\r\n"
- "<div>- &nbsp; &nbsp;if (!IS_USER_ONLY &amp;&amp; s-&gt;sctlr_b &amp;&amp; (op &amp; MO_SIZE) &lt; MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;if (!IS_USER_ONLY &amp;&amp; s-&gt;sctlr_b &amp;&amp; (op &amp; MO_SIZE) &lt; MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_xori_tl(addr, addr, 4 - (1 &lt;&lt; (op &amp; MO_SIZE)));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;return addr;</div>\r\n"
- "<div>@@ -1480,7 &#43;1480,7 @@ static void neon_store_element(int reg, int ele, TCGMemOp size, TCGv_i32 var)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st16_i32(var, cpu_env, offset);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st_i32(var, cpu_env, offset);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -1499,7 &#43;1499,7 @@ static void neon_store_element64(int reg, int ele, TCGMemOp size, TCGv_i64 var)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st16_i64(var, cpu_env, offset);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_i64(var, cpu_env, offset);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>@@ -4272,7 &#43;4272,7 @@ const GVecGen2i ssra_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_ssra_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_ssra,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_ssra64_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_ssra_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>\r\n"
- "<div>@@ -4330,7 &#43;4330,7 @@ const GVecGen2i usra_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_usra_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_usra,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32, },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL, },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_usra64_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_usra_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>\r\n"
- "<div>@@ -4410,7 &#43;4410,7 @@ const GVecGen2i sri_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_shr_ins_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sri,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_shr64_ins_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_shr_ins_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>\r\n"
- "<div>@@ -4488,7 &#43;4488,7 @@ const GVecGen2i sli_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_shl_ins_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sli,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_shl64_ins_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_shl_ins_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>\r\n"
- "<div>@@ -4584,7 &#43;4584,7 @@ const GVecGen3 mla_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_mla_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_mla,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_mla64_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_mla_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>\r\n"
- "<div>@@ -4608,7 &#43;4608,7 @@ const GVecGen3 mls_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_mls_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.load_dest = true,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_mls,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_mls64_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_mls_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>\r\n"
- "<div>@@ -4653,7 &#43;4653,7 @@ const GVecGen3 cmtst_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fni4 = gen_cmtst_i32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_cmtst_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_cmtst,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fni8 = gen_cmtst_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fniv = gen_cmtst_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.prefer_i64 = TCG_TARGET_REG_BITS == 64,</div>\r\n"
- "<div>@@ -4691,7 &#43;4691,7 @@ const GVecGen4 uqadd_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_uqadd_s,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_uqadd,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fniv = gen_uqadd_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_uqadd_d,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>\r\n"
- "<div>@@ -4729,7 &#43;4729,7 @@ const GVecGen4 sqadd_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sqadd_s,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sqadd,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fniv = gen_sqadd_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sqadd_d,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sqadd,</div>\r\n"
- "<div>@@ -4767,7 &#43;4767,7 @@ const GVecGen4 uqsub_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_uqsub_s,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_uqsub,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fniv = gen_uqsub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_uqsub_d,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_uqsub,</div>\r\n"
- "<div>@@ -4805,7 &#43;4805,7 @@ const GVecGen4 sqsub_op[4] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sqsub_s,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sqsub,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.write_aofs = true,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;{ .fniv = gen_sqsub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sqsub_d,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sqsub,</div>\r\n"
- "<div>@@ -5798,10 &#43;5798,10 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* The immediate value has already been inverted,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; * so BIC becomes AND.</div>\r\n"
- "<div>&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;tcg_gen_gvec_andi(MO_32, reg_ofs, reg_ofs, imm,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_gvec_andi(MO_UL, reg_ofs, reg_ofs, imm,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vec_size, vec_size);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_gvec_ori(MO_32, reg_ofs, reg_ofs, imm,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_gvec_ori(MO_UL, reg_ofs, reg_ofs, imm,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vec_size, vec_size);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>@@ -6879,7 &#43;6879,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;element = (insn &gt;&gt; 18) &amp; 3;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;size = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;element = (insn &gt;&gt; 19) &amp; 1;</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;tcg_gen_gvec_dup_mem(size, neon_reg_offset(rd, 0),</div>\r\n"
- "<div>diff --git a/target/i386/translate.c b/target/i386/translate.c</div>\r\n"
- "<div>index 0535bae..0e863d4 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>@@ -332,16 &#43;332,16 @@ static inline TCGMemOp mo_pushpop(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;/* Select the size of the stack pointer. &nbsp;*/</div>\r\n"
- "<div>&nbsp;static inline TCGMemOp mo_stacksize(DisasContext *s)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;return CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_32 : MO_UW;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;return CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_UL : MO_UW;</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>&nbsp;static inline TCGMemOp mo_64_32(TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>- &nbsp; &nbsp;return ot == MO_64 ? MO_64 : MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;return ot == MO_64 ? MO_64 : MO_UL;</div>\r\n"
- "<div>&nbsp;#else</div>\r\n"
- "<div>- &nbsp; &nbsp;return MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;return MO_UL;</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -356,7 &#43;356,7 @@ static inline TCGMemOp mo_b_d(int b, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp; &nbsp; Used for decoding operand size of port opcodes. &nbsp;*/</div>\r\n"
- "<div>&nbsp;static inline TCGMemOp mo_b_d32(int b, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;return b &amp; 1 ? (ot == MO_UW ? MO_UW : MO_32) : MO_UB;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;return b &amp; 1 ? (ot == MO_UW ? MO_UW : MO_UL) : MO_UB;</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void gen_op_mov_reg_v(DisasContext *s, TCGMemOp ot, int reg, TCGv t0)</div>\r\n"
- "<div>@@ -372,7 &#43;372,7 @@ static void gen_op_mov_reg_v(DisasContext *s, TCGMemOp ot, int reg, TCGv t0)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_deposit_tl(cpu_regs[reg], cpu_regs[reg], t0, 0, 16);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* For x86_64, this sets the higher half of register to zero.</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; For i386, this is equivalent to a mov. */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_tl(cpu_regs[reg], t0);</div>\r\n"
- "<div>@@ -463,7 &#43;463,7 @@ static void gen_lea_v_seg(DisasContext *s, TCGMemOp aflag, TCGv a0,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 32 bit address */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ovr_seg &lt; 0 &amp;&amp; s-&gt;addseg) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ovr_seg = def_seg;</div>\r\n"
- "<div>@@ -538,7 &#43;538,7 @@ static TCGv gen_ext_tl(TCGv dst, TCGv src, TCGMemOp size, bool sign)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return dst;</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (sign) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_tl(dst, src);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>@@ -586,7 &#43;586,7 @@ static void gen_helper_in_func(TCGMemOp ot, TCGv v, TCGv_i32 n)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_inw(v, cpu_env, n);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_inl(v, cpu_env, n);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -603,7 &#43;603,7 @@ static void gen_helper_out_func(TCGMemOp ot, TCGv_i32 v, TCGv_i32 n)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_outw(cpu_env, v, n);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_outl(cpu_env, v, n);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -625,7 &#43;625,7 @@ static void gen_check_io(DisasContext *s, TCGMemOp ot, target_ulong cur_eip,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_check_iow(cpu_env, s-&gt;tmp2_i32);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_check_iol(cpu_env, s-&gt;tmp2_i32);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -1077,7 &#43;1077,7 @@ static TCGLabel *gen_jz_ecx_string(DisasContext *s, target_ulong next_eip)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline void gen_stos(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_string_movl_A0_EDI(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_st_v(s, ot, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;gen_op_movl_T0_Dshift(s, ot);</div>\r\n"
- "<div>@@ -1568,7 &#43;1568,7 @@ static void gen_rot_rm_T1(DisasContext *s, TCGMemOp ot, int op1, int is_right)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto do_long;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;do_long:</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp3_i32, s-&gt;T1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_right) {</div>\r\n"
- "<div>@@ -1644,7 &#43;1644,7 @@ static void gen_rot_rm_im(DisasContext *s, TCGMemOp ot, int op1, int op2,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (op2 != 0) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (ot) {</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_right) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_rotri_i32(s-&gt;tmp2_i32, s-&gt;tmp2_i32, op2);</div>\r\n"
- "<div>@@ -1725,7 &#43;1725,7 @@ static void gen_rotc_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_rcrw(s-&gt;T0, cpu_env, s-&gt;T0, s-&gt;T1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_rcrl(s-&gt;T0, cpu_env, s-&gt;T0, s-&gt;T1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>@@ -1744,7 &#43;1744,7 @@ static void gen_rotc_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_rclw(s-&gt;T0, cpu_env, s-&gt;T0, s-&gt;T1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_rcll(s-&gt;T0, cpu_env, s-&gt;T0, s-&gt;T1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>@@ -1791,7 &#43;1791,7 @@ static void gen_shiftd_rm_T1(DisasContext *s, TCGMemOp ot, int op1,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* FALLTHRU */</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Concatenate the two 32-bit values and use a 64-bit shift. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_subi_tl(s-&gt;tmp0, count, 1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (is_right) {</div>\r\n"
- "<div>@@ -1984,7 &#43;1984,7 @@ static AddressParts gen_lea_modrm_0(CPUX86State *env, DisasContext *s,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;switch (s-&gt;aflag) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;havesib = 0;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (rm == 4) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int code = x86_ldub_code(env, s);</div>\r\n"
- "<div>@@ -2190,7 &#43;2190,7 @@ static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ret = x86_lduw_code(env, s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>@@ -2204,7 &#43;2204,7 @@ static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline int insn_const_size(TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;if (ot &lt;= MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;if (ot &lt;= MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 1 &lt;&lt; ot;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 4;</div>\r\n"
- "<div>@@ -2400,12 &#43;2400,12 @@ static inline void gen_pop_update(DisasContext *s, TCGMemOp ot)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static inline void gen_stack_A0(DisasContext *s)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;gen_lea_v_seg(s, s-&gt;ss32 ? MO_32 : MO_UW, cpu_regs[R_ESP], R_SS, -1);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;gen_lea_v_seg(s, s-&gt;ss32 ? MO_UL : MO_UW, cpu_regs[R_ESP], R_SS, -1);</div>\r\n"
- "<div>&nbsp;}</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_UW;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;TCGMemOp s_ot = s-&gt;ss32 ? MO_UL : MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOp 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>@@ -2421,7 &#43;2421,7 @@ 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_UW;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;TCGMemOp s_ot = s-&gt;ss32 ? MO_UL : MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGMemOp 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>@@ -2443,7 &#43;2443,7 @@ static void gen_popa(DisasContext *s)</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; &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_UW;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;TCGMemOp a_ot = CODE64(s) ? MO_64 : s-&gt;ss32 ? MO_UL : MO_UW;</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>@@ -3145,7 &#43;3145,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env, offsetof(CPUX86State,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xmm_regs[reg].ZMM_L(0)));</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x6e: /* movd mm, ea */</div>\r\n"
- "<div>@@ -3157,7 &#43;3157,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_32, OR_TMP0, 0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UL, OR_TMP0, 0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_addi_ptr(s-&gt;ptr0, cpu_env,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State,fpregs[reg].mmx));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>\r\n"
- "<div>@@ -3174,7 &#43;3174,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_32, OR_TMP0, 0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UL, OR_TMP0, 0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_addi_ptr(s-&gt;ptr0, cpu_env,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State,xmm_regs[reg]));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>\r\n"
- "<div>@@ -3211,7 &#43;3211,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x210: /* movss xmm, ea */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod != 3) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_tl(s-&gt;T0, cpu_env,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetof(CPUX86State, xmm_regs[reg].ZMM_L(0)));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_movi_tl(s-&gt;T0, 0);</div>\r\n"
- "<div>@@ -3346,7 &#43;3346,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State,fpregs[reg].mmx.MMX_L(0)));</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_32, OR_TMP0, 1);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UL, OR_TMP0, 1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x17e: /* movd ea, xmm */</div>\r\n"
- "<div>@@ -3360,7 &#43;3360,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State,xmm_regs[reg].ZMM_L(0)));</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_32, OR_TMP0, 1);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UL, OR_TMP0, 1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x27e: /* movq xmm, ea */</div>\r\n"
- "<div>@@ -3405,7 &#43;3405,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; offsetof(CPUX86State, xmm_regs[reg].ZMM_L(0)));</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm = (modrm &amp; 7) | REX_B(s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_movl(s, offsetof(CPUX86State, xmm_regs[rm].ZMM_L(0)),</div>\r\n"
- "<div>@@ -3530,7 &#43;3530,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op1_offset = offsetof(CPUX86State,xmm_regs[reg]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_addi_ptr(s-&gt;ptr0, cpu_env, op1_offset);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SSEFunc_0_epi sse_fn_epi = sse_op_table3ai[(b &gt;&gt; 8) &amp; 1];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sse_fn_epi(cpu_env, s-&gt;ptr0, s-&gt;tmp2_i32);</div>\r\n"
- "<div>@@ -3584,7 &#43;3584,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((b &gt;&gt; 8) &amp; 1) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldq_env_A0(s, offsetof(CPUX86State, xmm_t0.ZMM_Q(0)));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_tl(s-&gt;T0, cpu_env,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetof(CPUX86State, xmm_t0.ZMM_L(0)));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -3594,7 &#43;3594,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op2_offset = offsetof(CPUX86State,xmm_regs[rm]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_addi_ptr(s-&gt;ptr0, cpu_env, op2_offset);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SSEFunc_i_ep sse_fn_i_ep =</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sse_op_table3bi[((b &gt;&gt; 7) &amp; 2) | (b &amp; 1)];</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sse_fn_i_ep(s-&gt;tmp2_i32, cpu_env, s-&gt;ptr0);</div>\r\n"
- "<div>@@ -3786,7 &#43;3786,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((b &amp; 0xff) == 0xf0) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_UB;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else if (s-&gt;dflag != MO_64) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = (s-&gt;prefix &amp; PREFIX_DATA ? MO_UW : MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = (s-&gt;prefix &amp; PREFIX_DATA ? MO_UW : MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -3815,7 &#43;3815,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto illegal_op;</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;if (s-&gt;dflag != MO_64) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = (s-&gt;prefix &amp; PREFIX_DATA ? MO_UW : MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = (s-&gt;prefix &amp; PREFIX_DATA ? MO_UW : MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -4026,7 &#43;4026,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (ot) {</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* If we know TL is 64-bit, and we want a 32-bit</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result, just do everything in 64-bit arithmetic. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_i64(cpu_regs[reg], cpu_regs[reg]);</div>\r\n"
- "<div>@@ -4172,7 &#43;4172,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&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;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x16:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_32) { /* pextrd */</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_UL) { /* pextrd */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld_i32(s-&gt;tmp2_i32, cpu_env,</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;offsetof(CPUX86State,</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;xmm_regs[reg].ZMM_L(val &amp; 3)));</div>\r\n"
- "<div>@@ -4210,7 &#43;4210,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x20: /* pinsrb */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod == 3) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, rm);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, rm);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_qemu_ld_tl(s-&gt;T0, s-&gt;A0,</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; s-&gt;mem_index, MO_UB);</div>\r\n"
- "<div>@@ -4248,7 &#43;4248,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</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;xmm_regs[reg].ZMM_L(3)));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0x22:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_32) { /* pinsrd */</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (ot == MO_UL) { /* pinsrd */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod == 3) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, cpu_regs[rm]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>@@ -4393,7 &#43;4393,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (sz) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 2:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* 32 bit access */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_st32_tl(s-&gt;T0, cpu_env,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;offsetof(CPUX86State,xmm_t0.ZMM_L(0)));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>@@ -4630,19 &#43;4630,19 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* In 64-bit mode, the default data size is 32-bit. &nbsp;Select 64-bit</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data with rex_w, and 16-bit data with 0x66; rex_w takes precedence</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; over 0x66 if both are present. &nbsp;*/</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;dflag = (rex_w &gt; 0 ? MO_64 : prefixes &amp; PREFIX_DATA ? MO_UW : MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;dflag = (rex_w &gt; 0 ? MO_64 : prefixes &amp; PREFIX_DATA ? MO_UW : MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* In 64-bit mode, 0x67 selects 32-bit addressing. &nbsp;*/</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;aflag = (prefixes &amp; PREFIX_ADR ? MO_32 : MO_64);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;aflag = (prefixes &amp; PREFIX_ADR ? MO_UL : MO_64);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* In 16/32-bit mode, 0x66 selects the opposite data size. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s-&gt;code32 ^ ((prefixes &amp; PREFIX_DATA) != 0)) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dflag = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dflag = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dflag = MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* In 16/32-bit mode, 0x67 selects the opposite addressing. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s-&gt;code32 ^ ((prefixes &amp; PREFIX_ADR) != 0)) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;aflag = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;aflag = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;aflag = MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -4891,7 &#43;4891,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;set_cc_op(s, CC_OP_MULW);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp3_i32, cpu_regs[R_EAX]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mulu2_i32(s-&gt;tmp2_i32, s-&gt;tmp3_i32,</div>\r\n"
- "<div>@@ -4942,7 &#43;4942,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;set_cc_op(s, CC_OP_MULW);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp3_i32, cpu_regs[R_EAX]);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_muls2_i32(s-&gt;tmp2_i32, s-&gt;tmp3_i32,</div>\r\n"
- "<div>@@ -4976,7 &#43;4976,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_divw_AX(cpu_env, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_divl_EAX(cpu_env, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>@@ -4995,7 &#43;4995,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_idivw_AX(cpu_env, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_idivl_EAX(cpu_env, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>@@ -5026,7 &#43;5026,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* operand size for jumps is 64 bit */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else if (op == 3 || op == 5) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_32 &#43; (rex_w == 1) : MO_UW;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_UL &#43; (rex_w == 1) : MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else if (op == 6) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* default push size is 64 bit */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = mo_pushpop(s, dflag);</div>\r\n"
- "<div>@@ -5146,15 &#43;5146,15 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (dflag) {</div>\r\n"
- "<div>&nbsp;#ifdef TARGET_X86_64</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_tl(s-&gt;T0, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_64, R_EAX, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UW, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16s_tl(s-&gt;T0, s-&gt;T0);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_32, R_EAX, s-&gt;T0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_UL, R_EAX, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UB, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>@@ -5174,11 &#43;5174,11 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_64, R_EDX, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_tl(s-&gt;T0, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_sari_tl(s-&gt;T0, s-&gt;T0, 31);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_32, R_EDX, s-&gt;T0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_UL, R_EDX, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UW, s-&gt;T0, R_EAX);</div>\r\n"
- "<div>@@ -5219,7 &#43;5219,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_sub_tl(cpu_cc_src, cpu_cc_src, s-&gt;T1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp2_i32, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_trunc_tl_i32(s-&gt;tmp3_i32, s-&gt;T1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_muls2_i32(s-&gt;tmp2_i32, s-&gt;tmp3_i32,</div>\r\n"
- "<div>@@ -5394,7 &#43;5394,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/**************************/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* push/pop */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x50 ... 0x57: /* push */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, (b &amp; 7) | REX_B(s));</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, (b &amp; 7) | REX_B(s));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_push_v(s, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x58 ... 0x5f: /* pop */</div>\r\n"
- "<div>@@ -5734,7 &#43;5734,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x1b5: /* lgs Gv */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op = R_GS;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;do_lxx:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_32 : MO_UW;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_UL : MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;modrm = x86_ldub_code(env, s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reg = ((modrm &gt;&gt; 3) &amp; 7) | rex_r;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mod = (modrm &gt;&gt; 6) &amp; 3;</div>\r\n"
- "<div>@@ -6576,7 &#43;6576,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0xe8: /* call im */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag != MO_UW) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int16_t)insn_get(env, s, MO_UW);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -6609,7 &#43;6609,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto do_lcall;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0xe9: /* jmp im */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag != MO_UW) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int16_t)insn_get(env, s, MO_UW);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -6649,7 &#43;6649,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto do_jcc;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0x180 ... 0x18f: /* jcc Jv */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag != MO_UW) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int32_t)insn_get(env, s, MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tval = (int16_t)insn_get(env, s, MO_UW);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -6827,7 &#43;6827,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reg = ((modrm &gt;&gt; 3) &amp; 7) | rex_r;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mod = (modrm &gt;&gt; 6) &amp; 3;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm = (modrm &amp; 7) | REX_B(s);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T1, reg);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T1, reg);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod != 3) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AddressParts a = gen_lea_modrm_0(env, s, modrm);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* specific case: we need to add a displacement */</div>\r\n"
- "<div>@@ -7126,10 &#43;7126,10 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, reg);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, reg);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_tl(s-&gt;T0, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_tl(s-&gt;T0, s-&gt;T0);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_32, reg, s-&gt;T0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, MO_UL, reg, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0xd6: /* salc */</div>\r\n"
- "<div>@@ -7359,7 &#43;7359,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag == MO_UW) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_andi_tl(s-&gt;T0, s-&gt;T0, 0xffffff);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, CODE64(s) &#43; MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, CODE64(s) &#43; MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0xc8: /* monitor */</div>\r\n"
- "<div>@@ -7414,7 &#43;7414,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag == MO_UW) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_andi_tl(s-&gt;T0, s-&gt;T0, 0xffffff);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, CODE64(s) &#43; MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, CODE64(s) &#43; MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 0xd0: /* xgetbv */</div>\r\n"
- "<div>@@ -7560,7 &#43;7560,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UW, s-&gt;T1, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_add_A0_im(s, 2);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, CODE64(s) &#43; MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, CODE64(s) &#43; MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag == MO_UW) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_andi_tl(s-&gt;T0, s-&gt;T0, 0xffffff);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -7577,7 &#43;7577,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_UW, s-&gt;T1, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_add_A0_im(s, 2);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, CODE64(s) &#43; MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, CODE64(s) &#43; MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (dflag == MO_UW) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_andi_tl(s-&gt;T0, s-&gt;T0, 0xffffff);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -7698,7 &#43;7698,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rm = (modrm &amp; 7) | REX_B(s);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (mod == 3) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_32, s-&gt;T0, rm);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_v_reg(s, MO_UL, s-&gt;T0, rm);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* sign extend */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (d_ot == MO_64) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_tl(s-&gt;T0, s-&gt;T0);</div>\r\n"
- "<div>@@ -7706,7 &#43;7706,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, d_ot, reg, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_32 | MO_SIGN, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_ld_v(s, MO_SL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_mov_reg_v(s, d_ot, reg, s-&gt;T0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else</div>\r\n"
- "<div>@@ -7765,7 &#43;7765,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv t0;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!s-&gt;pe || s-&gt;vm86)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto illegal_op;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_32 : MO_UW;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = dflag != MO_UW ? MO_UL : MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;modrm = x86_ldub_code(env, s);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reg = ((modrm &gt;&gt; 3) &amp; 7) | rex_r;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_ldst_modrm(env, s, modrm, MO_UW, OR_TMP0, 0);</div>\r\n"
- "<div>@@ -8016,7 &#43;8016,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (CODE64(s))</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((prefixes &amp; PREFIX_LOCK) &amp;&amp; (reg == 0) &amp;&amp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(s-&gt;cpuid_ext3_features &amp; CPUID_EXT3_CR8LEG)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reg = 8;</div>\r\n"
- "<div>@@ -8073,7 &#43;8073,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (CODE64(s))</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_64;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ot = MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (reg &gt;= 8) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;goto illegal_op;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -8168,7 &#43;8168,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_lea_modrm(env, s, modrm);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ld32u_tl(s-&gt;T0, cpu_env, offsetof(CPUX86State, mxcsr));</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_32, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_op_st_v(s, MO_UL, s-&gt;T0, s-&gt;A0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CASE_MODRM_MEM_OP(4): /* xsave */</div>\r\n"
- "<div>@@ -8268,7 &#43;8268,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dst = treg, src = base;</div>\r\n"
- "<div>&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;if (s-&gt;dflag == MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (s-&gt;dflag == MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_tl(dst, src);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mov_tl(dst, src);</div>\r\n"
- "<div>diff --git a/target/ppc/translate/vmx-impl.inc.c b/target/ppc/translate/vmx-impl.inc.c</div>\r\n"
- "<div>index 71efef4..8aa767e 100644</div>\r\n"
- "<div>--- a/target/ppc/translate/vmx-impl.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/ppc/translate/vmx-impl.inc.c</div>\r\n"
- "<div>@@ -409,27 &#43;409,27 @@ GEN_VXFORM_DUAL_EXT(vaddubm, PPC_ALTIVEC, PPC_NONE, 0, &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vadduhm, MO_UW, tcg_gen_gvec_add, 0, 1);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_DUAL(vadduhm, PPC_ALTIVEC, PPC_NONE, &nbsp;\\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vmul10ecuq, PPC_NONE, PPC2_ISA300)</div>\r\n"
- "<div>-GEN_VXFORM_V(vadduwm, MO_32, tcg_gen_gvec_add, 0, 2);</div>\r\n"
- "<div>&#43;GEN_VXFORM_V(vadduwm, MO_UL, tcg_gen_gvec_add, 0, 2);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vaddudm, MO_64, tcg_gen_gvec_add, 0, 3);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsububm, MO_UB, tcg_gen_gvec_sub, 0, 16);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsubuhm, MO_UW, tcg_gen_gvec_sub, 0, 17);</div>\r\n"
- "<div>-GEN_VXFORM_V(vsubuwm, MO_32, tcg_gen_gvec_sub, 0, 18);</div>\r\n"
- "<div>&#43;GEN_VXFORM_V(vsubuwm, MO_UL, tcg_gen_gvec_sub, 0, 18);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsubudm, MO_64, tcg_gen_gvec_sub, 0, 19);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vmaxub, MO_UB, tcg_gen_gvec_umax, 1, 0);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vmaxuh, MO_UW, tcg_gen_gvec_umax, 1, 1);</div>\r\n"
- "<div>-GEN_VXFORM_V(vmaxuw, MO_32, tcg_gen_gvec_umax, 1, 2);</div>\r\n"
- "<div>&#43;GEN_VXFORM_V(vmaxuw, MO_UL, tcg_gen_gvec_umax, 1, 2);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vmaxud, MO_64, tcg_gen_gvec_umax, 1, 3);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vmaxsb, MO_UB, tcg_gen_gvec_smax, 1, 4);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vmaxsh, MO_UW, tcg_gen_gvec_smax, 1, 5);</div>\r\n"
- "<div>-GEN_VXFORM_V(vmaxsw, MO_32, tcg_gen_gvec_smax, 1, 6);</div>\r\n"
- "<div>&#43;GEN_VXFORM_V(vmaxsw, MO_UL, tcg_gen_gvec_smax, 1, 6);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vmaxsd, MO_64, tcg_gen_gvec_smax, 1, 7);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vminub, MO_UB, tcg_gen_gvec_umin, 1, 8);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vminuh, MO_UW, tcg_gen_gvec_umin, 1, 9);</div>\r\n"
- "<div>-GEN_VXFORM_V(vminuw, MO_32, tcg_gen_gvec_umin, 1, 10);</div>\r\n"
- "<div>&#43;GEN_VXFORM_V(vminuw, MO_UL, tcg_gen_gvec_umin, 1, 10);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vminud, MO_64, tcg_gen_gvec_umin, 1, 11);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vminsb, MO_UB, tcg_gen_gvec_smin, 1, 12);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vminsh, MO_UW, tcg_gen_gvec_smin, 1, 13);</div>\r\n"
- "<div>-GEN_VXFORM_V(vminsw, MO_32, tcg_gen_gvec_smin, 1, 14);</div>\r\n"
- "<div>&#43;GEN_VXFORM_V(vminsw, MO_UL, tcg_gen_gvec_smin, 1, 14);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vminsd, MO_64, tcg_gen_gvec_smin, 1, 15);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM(vavgub, 1, 16);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM(vabsdub, 1, 16);</div>\r\n"
- "<div>@@ -532,18 &#43;532,18 @@ GEN_VXFORM(vmulesh, 4, 13);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM(vmulesw, 4, 14);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vslb, MO_UB, tcg_gen_gvec_shlv, 2, 4);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vslh, MO_UW, tcg_gen_gvec_shlv, 2, 5);</div>\r\n"
- "<div>-GEN_VXFORM_V(vslw, MO_32, tcg_gen_gvec_shlv, 2, 6);</div>\r\n"
- "<div>&#43;GEN_VXFORM_V(vslw, MO_UL, tcg_gen_gvec_shlv, 2, 6);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM(vrlwnm, 2, 6);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_DUAL(vslw, PPC_ALTIVEC, PPC_NONE, \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vrlwnm, PPC_NONE, PPC2_ISA300)</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsld, MO_64, tcg_gen_gvec_shlv, 2, 23);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsrb, MO_UB, tcg_gen_gvec_shrv, 2, 8);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsrh, MO_UW, tcg_gen_gvec_shrv, 2, 9);</div>\r\n"
- "<div>-GEN_VXFORM_V(vsrw, MO_32, tcg_gen_gvec_shrv, 2, 10);</div>\r\n"
- "<div>&#43;GEN_VXFORM_V(vsrw, MO_UL, tcg_gen_gvec_shrv, 2, 10);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsrd, MO_64, tcg_gen_gvec_shrv, 2, 27);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsrab, MO_UB, tcg_gen_gvec_sarv, 2, 12);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsrah, MO_UW, tcg_gen_gvec_sarv, 2, 13);</div>\r\n"
- "<div>-GEN_VXFORM_V(vsraw, MO_32, tcg_gen_gvec_sarv, 2, 14);</div>\r\n"
- "<div>&#43;GEN_VXFORM_V(vsraw, MO_UL, tcg_gen_gvec_sarv, 2, 14);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_V(vsrad, MO_64, tcg_gen_gvec_sarv, 2, 15);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM(vsrv, 2, 28);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM(vslv, 2, 29);</div>\r\n"
- "<div>@@ -595,16 &#43;595,16 @@ GEN_VXFORM_DUAL_EXT(vaddubs, PPC_ALTIVEC, PPC_NONE, 0, &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_SAT(vadduhs, MO_UW, add, usadd, 0, 9);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_DUAL(vadduhs, PPC_ALTIVEC, PPC_NONE, \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vmul10euq, PPC_NONE, PPC2_ISA300)</div>\r\n"
- "<div>-GEN_VXFORM_SAT(vadduws, MO_32, add, usadd, 0, 10);</div>\r\n"
- "<div>&#43;GEN_VXFORM_SAT(vadduws, MO_UL, add, usadd, 0, 10);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_SAT(vaddsbs, MO_UB, add, ssadd, 0, 12);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_SAT(vaddshs, MO_UW, add, ssadd, 0, 13);</div>\r\n"
- "<div>-GEN_VXFORM_SAT(vaddsws, MO_32, add, ssadd, 0, 14);</div>\r\n"
- "<div>&#43;GEN_VXFORM_SAT(vaddsws, MO_UL, add, ssadd, 0, 14);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_SAT(vsububs, MO_UB, sub, ussub, 0, 24);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_SAT(vsubuhs, MO_UW, sub, ussub, 0, 25);</div>\r\n"
- "<div>-GEN_VXFORM_SAT(vsubuws, MO_32, sub, ussub, 0, 26);</div>\r\n"
- "<div>&#43;GEN_VXFORM_SAT(vsubuws, MO_UL, sub, ussub, 0, 26);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_SAT(vsubsbs, MO_UB, sub, sssub, 0, 28);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_SAT(vsubshs, MO_UW, sub, sssub, 0, 29);</div>\r\n"
- "<div>-GEN_VXFORM_SAT(vsubsws, MO_32, sub, sssub, 0, 30);</div>\r\n"
- "<div>&#43;GEN_VXFORM_SAT(vsubsws, MO_UL, sub, sssub, 0, 30);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM(vadduqm, 0, 4);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM(vaddcuq, 0, 5);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM3(vaddeuqm, 30, 0);</div>\r\n"
- "<div>@@ -914,7 &#43;914,7 @@ static void glue(gen_, name)(DisasContext *ctx) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_VSPLT(vspltb, MO_UB, 6, 8);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_VSPLT(vsplth, MO_UW, 6, 9);</div>\r\n"
- "<div>-GEN_VXFORM_VSPLT(vspltw, MO_32, 6, 10);</div>\r\n"
- "<div>&#43;GEN_VXFORM_VSPLT(vspltw, MO_UL, 6, 10);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_UIMM_SPLAT(vextractub, 6, 8, 15);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_UIMM_SPLAT(vextractuh, 6, 9, 14);</div>\r\n"
- "<div>&nbsp;GEN_VXFORM_UIMM_SPLAT(vextractuw, 6, 10, 12);</div>\r\n"
- "<div>diff --git a/target/ppc/translate/vsx-impl.inc.c b/target/ppc/translate/vsx-impl.inc.c</div>\r\n"
- "<div>index 3922686..212817e 100644</div>\r\n"
- "<div>--- a/target/ppc/translate/vsx-impl.inc.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/ppc/translate/vsx-impl.inc.c</div>\r\n"
- "<div>@@ -1553,12 &#43;1553,12 @@ static void gen_xxspltw(DisasContext *ctx)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;tofs = vsr_full_offset(rt);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bofs = vsr_full_offset(rb);</div>\r\n"
- "<div>- &nbsp; &nbsp;bofs &#43;= uim &lt;&lt; MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;bofs &#43;= uim &lt;&lt; MO_UL;</div>\r\n"
- "<div>&nbsp;#ifndef HOST_WORDS_BIG_ENDIAN</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;bofs ^= 8 | 4;</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;tcg_gen_gvec_dup_mem(MO_32, tofs, bofs, 16, 16);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;tcg_gen_gvec_dup_mem(MO_UL, tofs, bofs, 16, 16);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;#define pattern(x) (((x) &amp; 0xff) * (~(uint64_t)0 / 0xff))</div>\r\n"
- "<div>diff --git a/target/s390x/translate.c b/target/s390x/translate.c</div>\r\n"
- "<div>index 415747f..9e646f1 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>@@ -196,7 &#43;196,7 @@ static inline int freg64_offset(uint8_t reg)</div>\r\n"
- "<div>&nbsp;static inline int freg32_offset(uint8_t reg)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;g_assert(reg &lt; 16);</div>\r\n"
- "<div>- &nbsp; &nbsp;return vec_reg_offset(reg, 0, MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;return vec_reg_offset(reg, 0, MO_UL);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static TCGv_i64 load_reg(int reg)</div>\r\n"
- "<div>@@ -2283,7 &#43;2283,7 @@ static DisasJumpType op_csp(DisasContext *s, DisasOps *o)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Write back the output now, so that it happens before the</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; following branch, so that we don't need local temps. &nbsp;*/</div>\r\n"
- "<div>- &nbsp; &nbsp;if ((mop &amp; MO_SIZE) == MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;if ((mop &amp; MO_SIZE) == MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_deposit_i64(o-&gt;out, o-&gt;out, old, 0, 32);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mov_i64(o-&gt;out, old);</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 65da6b3..75d788c 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>@@ -48,7 &#43;48,7 @@</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;#define ES_8 &nbsp; &nbsp;MO_UB</div>\r\n"
- "<div>&nbsp;#define ES_16 &nbsp; MO_UW</div>\r\n"
- "<div>-#define ES_32 &nbsp; MO_32</div>\r\n"
- "<div>&#43;#define ES_32 &nbsp; MO_UL</div>\r\n"
- "<div>&nbsp;#define ES_64 &nbsp; MO_64</div>\r\n"
- "<div>&nbsp;#define ES_128 &nbsp;4</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>diff --git a/target/s390x/vec.h b/target/s390x/vec.h</div>\r\n"
- "<div>index 28e1b1d..f67392c 100644</div>\r\n"
- "<div>--- a/target/s390x/vec.h</div>\r\n"
- "<div>&#43;&#43;&#43; b/target/s390x/vec.h</div>\r\n"
- "<div>@@ -80,7 &#43;80,7 @@ static inline uint64_t s390_vec_read_element(const S390Vector *v, uint8_t enr,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return s390_vec_read_element8(v, enr);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return s390_vec_read_element16(v, enr);</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return s390_vec_read_element32(v, enr);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return s390_vec_read_element64(v, enr);</div>\r\n"
- "<div>@@ -127,7 &#43;127,7 @@ static inline void s390_vec_write_element(S390Vector *v, uint8_t enr,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;s390_vec_write_element16(v, enr, data);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;s390_vec_write_element32(v, enr, data);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</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 3d90c4b..dc4fd21 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>@@ -431,12 &#43;431,12 @@ typedef enum {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; that emits them can transform to 3.3.10 or 3.3.13. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_STRB &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_UB &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_STRH &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_UW &lt;&lt; 30,</div>\r\n"
- "<div>- &nbsp; &nbsp;I3312_STRW &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;I3312_STRW &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_STRX &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_ST &lt;&lt; 22 | MO_64 &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_LDRB &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_UB &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_LDRH &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_UW &lt;&lt; 30,</div>\r\n"
- "<div>- &nbsp; &nbsp;I3312_LDRW &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;I3312_LDRW &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_LDRX &nbsp; &nbsp; &nbsp;= 0x38000000 | LDST_LD &lt;&lt; 22 | MO_64 &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_LDRSBW &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_W &lt;&lt; 22 | MO_UB &lt;&lt; 30,</div>\r\n"
- "<div>@@ -444,10 &#43;444,10 @@ typedef enum {</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_LDRSBX &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_X &lt;&lt; 22 | MO_UB &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_LDRSHX &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_X &lt;&lt; 22 | MO_UW &lt;&lt; 30,</div>\r\n"
- "<div>- &nbsp; &nbsp;I3312_LDRSWX &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_X &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;I3312_LDRSWX &nbsp; &nbsp;= 0x38000000 | LDST_LD_S_X &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;I3312_LDRVS &nbsp; &nbsp; = 0x3c000000 | LDST_LD &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>\r\n"
- "<div>- &nbsp; &nbsp;I3312_STRVS &nbsp; &nbsp; = 0x3c000000 | LDST_ST &lt;&lt; 22 | MO_32 &lt;&lt; 30,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;I3312_LDRVS &nbsp; &nbsp; = 0x3c000000 | LDST_LD &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;I3312_STRVS &nbsp; &nbsp; = 0x3c000000 | LDST_ST &lt;&lt; 22 | MO_UL &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_LDRVD &nbsp; &nbsp; = 0x3c000000 | LDST_LD &lt;&lt; 22 | MO_64 &lt;&lt; 30,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;I3312_STRVD &nbsp; &nbsp; = 0x3c000000 | LDST_ST &lt;&lt; 22 | MO_64 &lt;&lt; 30,</div>\r\n"
- "<div>@@ -870,7 &#43;870,7 @@ static void tcg_out_dupi_vec(TCGContext *s, TCGType type,</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/*</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; * Test all bytes 0x00 or 0xff second. &nbsp;This can match cases that</div>\r\n"
- "<div>- &nbsp; &nbsp; * might otherwise take 2 or 3 insns for MO_UW or MO_32 below.</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; * might otherwise take 2 or 3 insns for MO_UW or MO_UL below.</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;for (i = imm8 = 0; i &lt; 8; i&#43;&#43;) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint8_t byte = v64 &gt;&gt; (i * 8);</div>\r\n"
- "<div>@@ -908,7 &#43;908,7 @@ static void tcg_out_dupi_vec(TCGContext *s, TCGType type,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_insn(s, 3606, MOVI, q, rd, 0, 0x8, v16 &amp; 0xff);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_insn(s, 3606, ORR, q, rd, 0, 0xa, v16 &gt;&gt; 8);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return;</div>\r\n"
- "<div>- &nbsp; &nbsp;} else if (v64 == dup_const(MO_32, v64)) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;} else if (v64 == dup_const(MO_UL, v64)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32_t v32 = v64;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32_t n32 = ~v32;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1749,7 &#43;1749,7 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, TCGMemOp memop, TCGType ext,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_ldst_r(s, I3312_LDRW, data_r, addr_r, otype, off_r);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_rev32(s, data_r, data_r);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_sxt(s, TCG_TYPE_I64, MO_32, data_r, data_r);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_sxt(s, TCG_TYPE_I64, MO_UL, data_r, data_r);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_ldst_r(s, I3312_LDRSWX, data_r, addr_r, otype, off_r);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -1782,7 &#43;1782,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp memop,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_ldst_r(s, I3312_STRH, data_r, addr_r, otype, off_r);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap &amp;&amp; data_r != TCG_REG_XZR) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_rev32(s, TCG_REG_TMP, data_r);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;data_r = TCG_REG_TMP;</div>\r\n"
- "<div>@@ -2194,7 &#43;2194,7 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_ext_i32_i64:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_ext32s_i64:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_sxt(s, TCG_TYPE_I64, MO_32, a0, a1);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_sxt(s, TCG_TYPE_I64, MO_UL, a0, a1);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_ext8u_i64:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_ext8u_i32:</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 0bd400e..05560a2 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>@@ -1435,7 &#43;1435,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;argreg = tcg_out_arg_reg16(s, argreg, datalo);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;argreg = tcg_out_arg_reg32(s, argreg, datalo);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>@@ -1632,7 &#43;1632,7 @@ static inline void tcg_out_qemu_st_index(TCGContext *s, int cond, TCGMemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_st16_r(s, cond, datalo, addrlo, addend);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_bswap32(s, cond, TCG_REG_R0, datalo);</div>\r\n"
- "<div>@@ -1677,7 &#43;1677,7 @@ static inline void tcg_out_qemu_st_direct(TCGContext *s, TCGMemOp opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_st16_8(s, COND_AL, datalo, addrlo, 0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_bswap32(s, COND_AL, TCG_REG_R0, datalo);</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 31c3664..93e4c63 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>@@ -897,7 &#43;897,7 @@ static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_vex_modrm(s, OPC_PUNPCKLWD, r, a, a);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a = r;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* FALLTHRU */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_vex_modrm(s, OPC_PSHUFD, r, 0, a);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* imm8 operand: all output lanes selected from input lane 0. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out8(s, 0);</div>\r\n"
- "<div>@@ -924,7 &#43;924,7 @@ static bool tcg_out_dupm_vec(TCGContext *s, TCGType type, unsigned vece,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_vex_modrm_offset(s, OPC_MOVDDUP, r, 0, base, offset);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_vex_modrm_offset(s, OPC_VBROADCASTSS, r, 0, base, offset);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>@@ -2173,7 &#43;2173,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg datalo, TCGReg datahi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_modrm_sib_offset(s, movop &#43; P_DATA16 &#43; seg, datalo,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; base, index, 0, ofs);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (bswap) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_mov(s, TCG_TYPE_I32, scratch, datalo);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_bswap32(s, scratch);</div>\r\n"
- "<div>@@ -2927,7 &#43;2927,7 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_x86_blend_vec:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (vece == MO_UW) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;insn = OPC_PBLENDW;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece == MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece == MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;insn = (have_avx2 ? OPC_VPBLENDD : OPC_BLENDPS);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;g_assert_not_reached();</div>\r\n"
- "<div>@@ -3292,13 &#43;3292,13 @@ int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_shrs_vec:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return vece &gt;= MO_UW;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_sars_vec:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;return vece &gt;= MO_UW &amp;&amp; vece &lt;= MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;return vece &gt;= MO_UW &amp;&amp; vece &lt;= MO_UL;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_shlv_vec:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_shrv_vec:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;return have_avx2 &amp;&amp; vece &gt;= MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;return have_avx2 &amp;&amp; vece &gt;= MO_UL;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_sarv_vec:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;return have_avx2 &amp;&amp; vece == MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;return have_avx2 &amp;&amp; vece == MO_UL;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_mul_vec:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (vece == MO_UB) {</div>\r\n"
- "<div>@@ -3320,7 &#43;3320,7 @@ int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_umin_vec:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_umax_vec:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case INDEX_op_abs_vec:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;return vece &lt;= MO_32;</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;return vece &lt;= MO_UL;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0;</div>\r\n"
- "<div>@@ -3396,9 &#43;3396,9 @@ static void expand_vec_sari(TCGType type, unsigned vece,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; * shift (note that the ISA says shift of 32 is valid).</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; */</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t1 = tcg_temp_new_vec(type);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_sari_vec(MO_32, t1, v1, imm);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_sari_vec(MO_UL, t1, v1, imm);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_shri_vec(MO_64, v0, v1, imm);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vec_gen_4(INDEX_op_x86_blend_vec, type, MO_32,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vec_gen_4(INDEX_op_x86_blend_vec, type, MO_UL,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcgv_vec_arg(v0), tcgv_vec_arg(v0),</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcgv_vec_arg(t1), 0xaa);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_vec(t1);</div>\r\n"
- "<div>@@ -3515,28 &#43;3515,28 @@ static bool expand_vec_cmp_noinv(TCGType type, unsigned vece, TCGv_vec v0,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_SWAP | NEED_INV;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case TCG_COND_LEU:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_UMIN;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_BIAS | NEED_INV;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case TCG_COND_GTU:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_UMIN | NEED_INV;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_BIAS;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case TCG_COND_GEU:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_UMAX;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_BIAS | NEED_SWAP | NEED_INV;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case TCG_COND_LTU:</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;if (vece &lt;= MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_UMAX | NEED_INV;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fixup = NEED_BIAS | NEED_SWAP;</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 1780cb1..a78fe87 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>@@ -1386,7 &#43;1386,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;i = tcg_out_call_iarg_reg16(s, i, l-&gt;datalo_reg);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;i = tcg_out_call_iarg_reg(s, i, l-&gt;datalo_reg);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>@@ -1579,11 &#43;1579,11 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_opc_imm(s, OPC_SH, lo, base, 0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32 | MO_BSWAP:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL | MO_BSWAP:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_bswap32(s, TCG_TMP3, lo);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lo = TCG_TMP3;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* FALLTHRU */</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_opc_imm(s, OPC_SW, lo, base, 0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&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..835336a 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>@@ -1714,7 &#43;1714,7 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)</div>\r\n"
- "<div>&nbsp;#endif</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_mov(s, TCG_TYPE_I32, arg&#43;&#43;, hi);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* FALLTHRU */</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_mov(s, TCG_TYPE_I32, arg&#43;&#43;, lo);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</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 20bc19d..1905986 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>@@ -1222,7 &#43;1222,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg lo, TCGReg hi,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_opc_store(s, OPC_SH, base, lo, 0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_opc_store(s, OPC_SW, base, lo, 0);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</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 85550b5..ac0d3a3 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>@@ -889,7 &#43;889,7 @@ static void emit_extend(TCGContext *s, TCGReg r, int op)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_arithi(s, r, r, 16, SHIFT_SLL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_arithi(s, r, r, 16, SHIFT_SRL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (SPARC64) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_out_arith(s, r, r, 0, SHIFT_SRL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>diff --git a/tcg/tcg-op-gvec.c b/tcg/tcg-op-gvec.c</div>\r\n"
- "<div>index da409f5..e63622c 100644</div>\r\n"
- "<div>--- a/tcg/tcg-op-gvec.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/tcg-op-gvec.c</div>\r\n"
- "<div>@@ -310,7 &#43;310,7 @@ uint64_t (dup_const)(unsigned vece, uint64_t c)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0x0101010101010101ull * (uint8_t)c;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0x0001000100010001ull * (uint16_t)c;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0x0000000100000001ull * (uint32_t)c;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return c;</div>\r\n"
- "<div>@@ -330,7 &#43;330,7 @@ static void gen_dup_i32(unsigned vece, TCGv_i32 out, TCGv_i32 in)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_deposit_i32(out, in, in, 16, 16);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_mov_i32(out, in);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -349,7 &#43;349,7 @@ static void gen_dup_i64(unsigned vece, TCGv_i64 out, TCGv_i64 in)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16u_i64(out, in);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_muli_i64(out, out, 0x0001000100010001ull);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_deposit_i64(out, in, in, 32, 32);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_64:</div>\r\n"
- "<div>@@ -443,7 &#43;443,7 @@ static void do_dup(unsigned vece, uint32_t dofs, uint32_t oprsz,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;TCGv_ptr t_ptr;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;uint32_t i;</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>- &nbsp; &nbsp;assert(vece &lt;= (in_32 ? MO_32 : MO_64));</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;assert(vece &lt;= (in_32 ? MO_UL : MO_64));</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;assert(in_32 == NULL || in_64 == NULL);</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* If we're storing 0, expand oprsz to maxsz. &nbsp;*/</div>\r\n"
- "<div>@@ -485,7 &#43;485,7 @@ static void do_dup(unsigned vece, uint32_t dofs, uint32_t oprsz,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; use a 64-bit operation unless the 32-bit operation would</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; be simple enough. &nbsp;*/</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (TCG_TARGET_REG_BITS == 64</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;&amp; (vece != MO_32 || !check_size_impl(oprsz, 4))) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;&amp; (vece != MO_UL || !check_size_impl(oprsz, 4))) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t_64 = tcg_temp_new_i64();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_extu_i32_i64(t_64, in_32);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_dup_i64(vece, t_64, t_64);</div>\r\n"
- "<div>@@ -1430,7 &#43;1430,7 @@ void tcg_gen_gvec_dup_i32(unsigned vece, uint32_t dofs, uint32_t oprsz,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32_t maxsz, TCGv_i32 in)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;check_size_align(oprsz, maxsz, dofs);</div>\r\n"
- "<div>- &nbsp; &nbsp;tcg_debug_assert(vece &lt;= MO_32);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;tcg_debug_assert(vece &lt;= MO_UL);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;do_dup(vece, dofs, oprsz, maxsz, in, NULL, 0);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>@@ -1453,7 &#43;1453,7 @@ void tcg_gen_gvec_dup_mem(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_dup_mem_vec(vece, t_vec, cpu_env, aofs);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;do_dup_store(type, dofs, oprsz, maxsz, t_vec);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_temp_free_vec(t_vec);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece &lt;= MO_32) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece &lt;= MO_UL) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i32 in = tcg_temp_new_i32();</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (vece) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UB:</div>\r\n"
- "<div>@@ -1519,7 &#43;1519,7 @@ void tcg_gen_gvec_dup32i(uint32_t dofs, uint32_t oprsz,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; uint32_t maxsz, uint32_t x)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;check_size_align(oprsz, maxsz, dofs);</div>\r\n"
- "<div>- &nbsp; &nbsp;do_dup(MO_32, dofs, oprsz, maxsz, NULL, NULL, x);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;do_dup(MO_UL, dofs, oprsz, maxsz, NULL, NULL, x);</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;void tcg_gen_gvec_dup16i(uint32_t dofs, uint32_t oprsz,</div>\r\n"
- "<div>@@ -1618,7 &#43;1618,7 @@ void tcg_gen_gvec_add(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_add_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_add32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_add,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_add_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_add_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_add64,</div>\r\n"
- "<div>@@ -1649,7 &#43;1649,7 @@ void tcg_gen_gvec_adds(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_add_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_adds32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_add,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_add_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_add_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_adds64,</div>\r\n"
- "<div>@@ -1690,7 &#43;1690,7 @@ void tcg_gen_gvec_subs(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_subs32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sub,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sub_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_subs64,</div>\r\n"
- "<div>@@ -1769,7 &#43;1769,7 @@ void tcg_gen_gvec_sub(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sub32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_sub,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sub_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sub64,</div>\r\n"
- "<div>@@ -1800,7 &#43;1800,7 @@ void tcg_gen_gvec_mul(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_mul_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_mul32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_mul,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_mul_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_mul_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_mul64,</div>\r\n"
- "<div>@@ -1829,7 &#43;1829,7 @@ void tcg_gen_gvec_muls(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_mul_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_muls32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list_mul,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_mul_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_mul_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_muls64,</div>\r\n"
- "<div>@@ -1866,7 &#43;1866,7 @@ void tcg_gen_gvec_ssadd(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fniv = tcg_gen_ssadd_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_ssadd32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fniv = tcg_gen_ssadd_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_ssadd64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>@@ -1892,7 &#43;1892,7 @@ void tcg_gen_gvec_sssub(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fniv = tcg_gen_sssub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sssub32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fniv = tcg_gen_sssub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sssub64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>@@ -1935,7 &#43;1935,7 @@ void tcg_gen_gvec_usadd(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_usadd_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_usadd32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_usadd_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_usadd_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_usadd64,</div>\r\n"
- "<div>@@ -1979,7 &#43;1979,7 @@ void tcg_gen_gvec_ussub(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_ussub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_ussub32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_ussub_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_ussub_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_ussub64,</div>\r\n"
- "<div>@@ -2007,7 &#43;2007,7 @@ void tcg_gen_gvec_smin(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_smin_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_smin32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_smin_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_smin_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_smin64,</div>\r\n"
- "<div>@@ -2035,7 &#43;2035,7 @@ void tcg_gen_gvec_umin(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_umin_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_umin32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_umin_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_umin_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_umin64,</div>\r\n"
- "<div>@@ -2063,7 &#43;2063,7 @@ void tcg_gen_gvec_smax(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_smax_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_smax32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_smax_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_smax_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_smax64,</div>\r\n"
- "<div>@@ -2091,7 &#43;2091,7 @@ void tcg_gen_gvec_umax(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_umax_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_umax32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_umax_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_umax_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_umax64,</div>\r\n"
- "<div>@@ -2165,7 &#43;2165,7 @@ void tcg_gen_gvec_neg(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_neg_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_neg32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_neg_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_neg_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_neg64,</div>\r\n"
- "<div>@@ -2228,7 &#43;2228,7 @@ void tcg_gen_gvec_abs(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_abs_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_abs32,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_abs_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_abs_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_abs64,</div>\r\n"
- "<div>@@ -2485,7 &#43;2485,7 @@ void tcg_gen_gvec_shli(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shli_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shl32i,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_shli_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shli_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shl64i,</div>\r\n"
- "<div>@@ -2536,7 &#43;2536,7 @@ void tcg_gen_gvec_shri(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shri_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shr32i,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_shri_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shri_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shr64i,</div>\r\n"
- "<div>@@ -2601,7 &#43;2601,7 @@ void tcg_gen_gvec_sari(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sari_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sar32i,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sari_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sari_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sar64i,</div>\r\n"
- "<div>@@ -2736,7 &#43;2736,7 @@ do_gvec_shifts(unsigned vece, uint32_t dofs, uint32_t aofs, TCGv_i32 shift,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;/* Otherwise fall back to integral... */</div>\r\n"
- "<div>- &nbsp; &nbsp;if (vece == MO_32 &amp;&amp; check_size_impl(oprsz, 4)) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;if (vece == MO_UL &amp;&amp; check_size_impl(oprsz, 4)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;expand_2s_i32(dofs, aofs, oprsz, shift, false, g-&gt;fni4);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else if (vece == MO_64 &amp;&amp; check_size_impl(oprsz, 8)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TCGv_i64 sh64 = tcg_temp_new_i64();</div>\r\n"
- "<div>@@ -2889,7 &#43;2889,7 @@ void tcg_gen_gvec_shlv(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shlv_mod_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shl32v,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_shl_mod_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shlv_mod_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shl64v,</div>\r\n"
- "<div>@@ -2952,7 &#43;2952,7 @@ void tcg_gen_gvec_shrv(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shrv_mod_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shr32v,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_shr_mod_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_shrv_mod_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_shr64v,</div>\r\n"
- "<div>@@ -3015,7 &#43;3015,7 @@ void tcg_gen_gvec_sarv(unsigned vece, uint32_t dofs, uint32_t aofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sarv_mod_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sar32v,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.opt_opc = vecop_list,</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_32 },</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.vece = MO_UL },</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ .fni8 = tcg_gen_sar_mod_i64,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fniv = tcg_gen_sarv_mod_vec,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.fno = gen_helper_gvec_sar64v,</div>\r\n"
- "<div>@@ -3168,7 &#43;3168,7 @@ void tcg_gen_gvec_cmp(TCGCond cond, unsigned vece, uint32_t dofs,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case 0:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (vece == MO_64 &amp;&amp; check_size_impl(oprsz, 8)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;expand_cmp_i64(dofs, aofs, bofs, oprsz, cond);</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece == MO_32 &amp;&amp; check_size_impl(oprsz, 4)) {</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;} else if (vece == MO_UL &amp;&amp; check_size_impl(oprsz, 4)) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;expand_cmp_i32(dofs, aofs, bofs, oprsz, cond);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gen_helper_gvec_3 * const *fn = fns[cond];</div>\r\n"
- "<div>diff --git a/tcg/tcg-op-vec.c b/tcg/tcg-op-vec.c</div>\r\n"
- "<div>index b0a4d98..ff723ab 100644</div>\r\n"
- "<div>--- a/tcg/tcg-op-vec.c</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/tcg-op-vec.c</div>\r\n"
- "<div>@@ -216,7 &#43;216,7 @@ void tcg_gen_mov_vec(TCGv_vec r, TCGv_vec a)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>-#define MO_REG &nbsp;(TCG_TARGET_REG_BITS == 64 ? MO_64 : MO_32)</div>\r\n"
- "<div>&#43;#define MO_REG &nbsp;(TCG_TARGET_REG_BITS == 64 ? MO_64 : MO_UL)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;static void do_dupi_vec(TCGv_vec r, unsigned vece, TCGArg a)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>@@ -253,7 &#43;253,7 @@ TCGv_vec tcg_const_ones_vec_matching(TCGv_vec m)</div>\r\n"
- "<div>&nbsp;void tcg_gen_dup64i_vec(TCGv_vec r, uint64_t a)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;if (TCG_TARGET_REG_BITS == 32 &amp;&amp; a == deposit64(a, 32, 32, a)) {</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;do_dupi_vec(r, MO_32, a);</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;do_dupi_vec(r, MO_UL, a);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else if (TCG_TARGET_REG_BITS == 64 || a == (uint64_t)(int32_t)a) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;do_dupi_vec(r, MO_64, a);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;} else {</div>\r\n"
- "<div>@@ -265,7 &#43;265,7 @@ void tcg_gen_dup64i_vec(TCGv_vec r, uint64_t a)</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;void tcg_gen_dup32i_vec(TCGv_vec r, uint32_t a)</div>\r\n"
- "<div>&nbsp;{</div>\r\n"
- "<div>- &nbsp; &nbsp;do_dupi_vec(r, MO_REG, dup_const(MO_32, a));</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;do_dupi_vec(r, MO_REG, dup_const(MO_UL, a));</div>\r\n"
- "<div>&nbsp;}</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>&nbsp;void tcg_gen_dup16i_vec(TCGv_vec r, uint32_t a)</div>\r\n"
- "<div>diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c</div>\r\n"
- "<div>index 21d448c..447683d 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>@@ -2725,7 &#43;2725,7 @@ static inline TCGMemOp tcg_canonicalize_memop(TCGMemOp op, bool is64, bool st)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;case MO_UW:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!is64) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;op &amp;= ~MO_SIGN;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>@@ -2816,7 &#43;2816,7 @@ void tcg_gen_qemu_ld_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16s_i32(val, val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i32(val, val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -2841,7 &#43;2841,7 @@ void tcg_gen_qemu_st_i32(TCGv_i32 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16u_i32(swap, val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap16_i32(swap, swap);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i32(swap, val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:</div>\r\n"
- "<div>@@ -2896,7 &#43;2896,7 @@ void tcg_gen_qemu_ld_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16s_i64(val, val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i64(val, val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (orig_memop &amp; MO_SIGN) {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32s_i64(val, val);</div>\r\n"
- "<div>@@ -2932,7 &#43;2932,7 @@ void tcg_gen_qemu_st_i64(TCGv_i64 val, TCGv addr, TCGArg idx, TCGMemOp memop)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext16u_i64(swap, val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap16_i64(swap, swap);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;case MO_32:</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;case MO_UL:</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_ext32u_i64(swap, val);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcg_gen_bswap32_i64(swap, swap);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div>\r\n"
- "<div>@@ -3027,8 &#43;3027,8 @@ static void * const table_cmpxchg[16] = {</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;[MO_UB] = gen_helper_atomic_cmpxchgb,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;[MO_UW | MO_LE] = gen_helper_atomic_cmpxchgw_le,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;[MO_UW | MO_BE] = gen_helper_atomic_cmpxchgw_be,</div>\r\n"
- "<div>- &nbsp; &nbsp;[MO_32 | MO_LE] = gen_helper_atomic_cmpxchgl_le,</div>\r\n"
- "<div>- &nbsp; &nbsp;[MO_32 | MO_BE] = gen_helper_atomic_cmpxchgl_be,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;[MO_UL | MO_LE] = gen_helper_atomic_cmpxchgl_le,</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;[MO_UL | MO_BE] = gen_helper_atomic_cmpxchgl_be,</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;WITH_ATOMIC64([MO_64 | MO_LE] = gen_helper_atomic_cmpxchgq_le)</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;WITH_ATOMIC64([MO_64 | MO_BE] = gen_helper_atomic_cmpxchgq_be)</div>\r\n"
- "<div>&nbsp;};</div>\r\n"
- "<div>@@ -3251,8 &#43;3251,8 @@ 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;[MO_UB] = gen_helper_atomic_##NAME##b, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;[MO_UW | MO_LE] = gen_helper_atomic_##NAME##w_le, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;[MO_UW | MO_BE] = gen_helper_atomic_##NAME##w_be, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>- &nbsp; &nbsp;[MO_32 | MO_LE] = gen_helper_atomic_##NAME##l_le, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>- &nbsp; &nbsp;[MO_32 | MO_BE] = gen_helper_atomic_##NAME##l_be, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;[MO_UL | MO_LE] = gen_helper_atomic_##NAME##l_le, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&#43; &nbsp; &nbsp;[MO_UL | MO_BE] = gen_helper_atomic_##NAME##l_be, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;WITH_ATOMIC64([MO_64 | MO_LE] = gen_helper_atomic_##NAME##q_le) &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>diff --git a/tcg/tcg.h b/tcg/tcg.h</div>\r\n"
- "<div>index a378887..4b6ee89 100644</div>\r\n"
- "<div>--- a/tcg/tcg.h</div>\r\n"
- "<div>&#43;&#43;&#43; b/tcg/tcg.h</div>\r\n"
- "<div>@@ -1304,7 &#43;1304,7 @@ uint64_t dup_const(unsigned vece, uint64_t c);</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp;(__builtin_constant_p(VECE) &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; ((VECE) == MO_UB ? 0x0101010101010101ull * (uint8_t)(C) &nbsp; \\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: (VECE) == MO_UW ? 0x0001000100010001ull * (uint16_t)(C) &nbsp;\\</div>\r\n"
- "<div>- &nbsp; &nbsp; &nbsp; &nbsp;: (VECE) == MO_32 ? 0x0000000100000001ull * (uint32_t)(C) &nbsp;\\</div>\r\n"
- "<div>&#43; &nbsp; &nbsp; &nbsp; &nbsp;: (VECE) == MO_UL ? 0x0000000100000001ull * (uint32_t)(C) &nbsp;\\</div>\r\n"
- "<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: dup_const(VECE, C)) &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; : dup_const(VECE, C))</div>\r\n"
- "<div>&nbsp;</div>\r\n"
- "<div>--&nbsp;</div>\r\n"
- "<div>1.8.3.1</div>\r\n"
- "<div><br>\r\n"
- "<br>\r\n"
- "</div>\r\n"
- "<p><br>\r\n"
- "</p>\r\n"
- "</body>\r\n"
- "</html>\r\n"
 
-aaa117d11d2661ebb47bb83a86b669e2f12ee050f4397e3d02b7871d52011846
+b1a5121a78bedd2a69cb42057ca00061606d2c86559e9b6b133a02c566a0b98a

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.