diff options
| author | Stefan Hajnoczi <stefanha@redhat.com> | 2025-08-08 09:49:06 -0400 |
|---|---|---|
| committer | Stefan Hajnoczi <stefanha@redhat.com> | 2025-08-08 09:49:06 -0400 |
| commit | a74434580e1051bff12ab5eee5586058295c497f (patch) | |
| tree | 66c058967b859e02bd53483e732fe11f05d0ba1e | |
| parent | 6b30d735cf53e2391f521a64d2a19fe6ad9609c0 (diff) | |
| parent | e66644c48e96e81848c6aa94b185f59fc212d080 (diff) | |
| download | focaccia-qemu-a74434580e1051bff12ab5eee5586058295c497f.tar.gz focaccia-qemu-a74434580e1051bff12ab5eee5586058295c497f.zip | |
Merge tag 'pull-loongarch-20250808' of https://github.com/gaosong715/qemu into staging
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>
| -rw-r--r-- | target/loongarch/tcg/insn_trans/trans_vec.c.inc | 6 |
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 78730029cb..38bccf2838 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; |