aboutsummaryrefslogtreecommitdiff
path: root/tcg
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2022-03-02 19:26:50 -0500
committerRichard Henderson <richard.henderson@linaro.org>2022-03-14 10:31:51 -0700
commit6e591a8569b24309f0b602042cce630524c03c0e (patch)
treee797ff774b70075f9f194f5b419743524bdcd7da /tcg
parent6e5f9fb7993aa3de5295ae2dbada39258ed333ac (diff)
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;
}
/*