summaryrefslogtreecommitdiffstats
path: root/tcg
diff options
context:
space:
mode:
authorRichard Henderson2022-03-03 01:05:05 +0100
committerRichard Henderson2022-03-14 18:31:51 +0100
commita66669c942077d53414ae0894e9fba3ddc18f58d (patch)
tree2197d6acd5aed7f3e56e2d63428bd484f4ae8bdb /tcg
parentMerge remote-tracking branch 'remotes/quic/tags/pull-hex-20220312-1' into sta... (diff)
downloadqemu-a66669c942077d53414ae0894e9fba3ddc18f58d.tar.gz
qemu-a66669c942077d53414ae0894e9fba3ddc18f58d.tar.xz
qemu-a66669c942077d53414ae0894e9fba3ddc18f58d.zip
tcg/s390x: Fix tcg_out_dupi_vec vs VGM
The immediate operands to VGM were in the wrong order, producing an inverse mask. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg')
-rw-r--r--tcg/s390x/tcg-target.c.inc4
1 files changed, 2 insertions, 2 deletions
diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc
index 6e65828c09..508f1bccc7 100644
--- a/tcg/s390x/tcg-target.c.inc
+++ b/tcg/s390x/tcg-target.c.inc
@@ -2715,7 +2715,7 @@ static void tcg_out_dupi_vec(TCGContext *s, TCGType type, unsigned vece,
msb = clz32(val);
lsb = 31 - ctz32(val);
}
- tcg_out_insn(s, VRIb, VGM, dst, lsb, msb, MO_32);
+ tcg_out_insn(s, VRIb, VGM, dst, msb, lsb, MO_32);
return;
}
} else {
@@ -2729,7 +2729,7 @@ static void tcg_out_dupi_vec(TCGContext *s, TCGType type, unsigned vece,
msb = clz64(val);
lsb = 63 - ctz64(val);
}
- tcg_out_insn(s, VRIb, VGM, dst, lsb, msb, MO_64);
+ tcg_out_insn(s, VRIb, VGM, dst, msb, lsb, MO_64);
return;
}
}