aboutsummaryrefslogtreecommitdiff
path: root/target/loongarch/tcg/insn_trans/trans_vec.c.inc
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2025-08-08 09:49:06 -0400
committerStefan Hajnoczi <stefanha@redhat.com>2025-08-08 09:49:06 -0400
commita74434580e1051bff12ab5eee5586058295c497f (patch)
tree66c058967b859e02bd53483e732fe11f05d0ba1e /target/loongarch/tcg/insn_trans/trans_vec.c.inc
parent6b30d735cf53e2391f521a64d2a19fe6ad9609c0 (diff)
parente66644c48e96e81848c6aa94b185f59fc212d080 (diff)
downloadqemu-master.zip
qemu-master.tar.gz
qemu-master.tar.bz2
Merge tag 'pull-loongarch-20250808' of https://github.com/gaosong715/qemu into stagingHEADstagingmaster
pul-loongarch-20250808 # -----BEGIN PGP SIGNATURE----- # # iLMEAAEIAB0WIQTKRzxE1qCcGJoZP81FK5aFKyaCFgUCaJVRCAAKCRBFK5aFKyaC # Fn9TA/97BaWn3s3HlDy8HhIEereLJ1NWz9FGmYw2jBT77IVrpWeSSmUY3LapmHT0 # lVTrj4aCRlY5zjKn4xw8AQLACrNl2SL5brPXg4YMuwow062Akq/Ow+ooj3LHSlnX # qXULIMi7hq3gPcmjLeR03AJjiSR2fgIjTzUN8RjangAS+PZ8/A== # =ZQ4o # -----END PGP SIGNATURE----- # gpg: Signature made Thu 07 Aug 2025 21:21:12 EDT # gpg: using RSA key CA473C44D6A09C189A193FCD452B96852B268216 # gpg: Good signature from "Song Gao <gaosong@loongson.cn>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: CA47 3C44 D6A0 9C18 9A19 3FCD 452B 9685 2B26 8216 * tag 'pull-loongarch-20250808' of https://github.com/gaosong715/qemu: target/loongarch: Fix [X]VLDI raising exception incorrectly Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'target/loongarch/tcg/insn_trans/trans_vec.c.inc')
-rw-r--r--target/loongarch/tcg/insn_trans/trans_vec.c.inc6
1 files changed, 3 insertions, 3 deletions
diff --git a/target/loongarch/tcg/insn_trans/trans_vec.c.inc b/target/loongarch/tcg/insn_trans/trans_vec.c.inc
index 7873002..38bccf2 100644
--- a/target/loongarch/tcg/insn_trans/trans_vec.c.inc
+++ b/target/loongarch/tcg/insn_trans/trans_vec.c.inc
@@ -3585,7 +3585,9 @@ static bool gen_vldi(DisasContext *ctx, arg_vldi *a, uint32_t oprsz)
int sel, vece;
uint64_t value;
- if (!check_valid_vldi_mode(a)) {
+ sel = (a->imm >> 12) & 0x1;
+
+ if (sel && !check_valid_vldi_mode(a)) {
generate_exception(ctx, EXCCODE_INE);
return true;
}
@@ -3594,8 +3596,6 @@ static bool gen_vldi(DisasContext *ctx, arg_vldi *a, uint32_t oprsz)
return true;
}
- sel = (a->imm >> 12) & 0x1;
-
if (sel) {
value = vldi_get_value(ctx, a->imm);
vece = MO_64;