summaryrefslogtreecommitdiffstats
path: root/tcg
diff options
context:
space:
mode:
authorRichard Henderson2022-03-03 01:26:50 +0100
committerRichard Henderson2022-03-14 18:31:51 +0100
commit6e591a8569b24309f0b602042cce630524c03c0e (patch)
treee797ff774b70075f9f194f5b419743524bdcd7da /tcg
parenttcg/s390x: Fix INDEX_op_bitsel_vec vs VSEL (diff)
downloadqemu-6e591a8569b24309f0b602042cce630524c03c0e.tar.gz
qemu-6e591a8569b24309f0b602042cce630524c03c0e.tar.xz
qemu-6e591a8569b24309f0b602042cce630524c03c0e.zip
tcg/s390x: Fix tcg_out_dup_vec vs general registers
We copied the data from the general register input to the vector register output, but have not yet replicated it. We intended to fall through into the vector-vector case, but failed to redirect the input register. This is caught by an assertion failure in tcg_out_insn_VRIc, which diagnosed the incorrect register class. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg')
-rw-r--r--tcg/s390x/tcg-target.c.inc1
1 files changed, 1 insertions, 0 deletions
diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc
index 3b185b3c96..33becd7694 100644
--- a/tcg/s390x/tcg-target.c.inc
+++ b/tcg/s390x/tcg-target.c.inc
@@ -2675,6 +2675,7 @@ static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
if (vece == MO_64) {
return true;
}
+ src = dst;
}
/*