tree a59334d577d734a5a0054d83c442d3fd1b8f8e0b
parent 022aa313628fd74154d21de13d7bd66db46c044e
parent 2df2d063080a654d7e32ece10efe38f60b7fc900
author Richard Henderson <richard.henderson@linaro.org> 1791013995 +0200
committer Richard Henderson <richard.henderson@linaro.org> 1791013995 +0200
mergetag object 2df2d063080a654d7e32ece10efe38f60b7fc900
 type commit
 tag pbouvier/pr/tcg_tests-20261001
 tagger Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> 1790877108 +0000
 
 Changes:
 - [PATCH v3 00/24] tcg/tests: integrate rest of mips tests (Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>)
   Link: https://lore.kernel.org/qemu-devel/20260929212439.110454-1-pierrick.bouvier@oss.qualcomm.com
 - [PATCH 0/3] tests/tcg: add missing tests after meson transition (Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>)
   Link: https://lore.kernel.org/qemu-devel/20261001163751.172720-1-pierrick.bouvier@oss.qualcomm.com
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEEN8FWlNi6l2Sxlz/btEQ30ZwoYt8FAmq+nb0ACgkQtEQ30Zwo
 Yt8Yvwv/WOms+wxT9oit5o82ySP6j1Phn3CDgb8kLulJhR570FzbwmWOI6udK8Kb
 Gt7AEiWSCloaPYex2sd7eGCc2rXobFGO0dLg6blKJbo92LGSwmBHBw2OQZAP2Wof
 7ElHC/ssKZ4+wUmVXYYi7JCGaTnuoP8wYDYKnX4P2JY4cQMRaq3f2gSSMq2iVHnT
 5F3bAXxj5ZkjwlDFkPk3gwB/rrr2Umb5tPFETGrINLaHqiO5daehXDNivShErtWV
 dPfMNrmhpvi3XuNTtVyWwBi09MxIqh37xHEPamOUxUE2yJIie5x6SYliTtLvWjLm
 FZh0MgKCUENGPIaMtWR/2d2KrAI/SFQlEvz8ifNwVLOIfYbwqzHT40wfKtS/hg4r
 NDq5yDer1kMn8jXjTdd/yop4bHyXY14u+hEhhObL+yWQODb9qpAtXlbDBz+GkqwK
 xNpY+piDxdjpJrNVWjSJCYCUXLsLIm3+QlK63jJQ4wocD4MqyDoEcDiWLv9FxprZ
 4ke70Tcd
 =tSWP
 -----END PGP SIGNATURE-----

Merge tag 'pbouvier/pr/tcg_tests-20261001' of https://gitlab.com/p-b-o/qemu into staging

Changes:
- [PATCH v3 00/24] tcg/tests: integrate rest of mips tests (Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>)
  Link: https://lore.kernel.org/qemu-devel/20260929212439.110454-1-pierrick.bouvier@oss.qualcomm.com
- [PATCH 0/3] tests/tcg: add missing tests after meson transition (Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>)
  Link: https://lore.kernel.org/qemu-devel/20261001163751.172720-1-pierrick.bouvier@oss.qualcomm.com

# -----BEGIN PGP SIGNATURE-----
#
# iQGzBAABCgAdFiEEN8FWlNi6l2Sxlz/btEQ30ZwoYt8FAmq+nb0ACgkQtEQ30Zwo
# Yt8Yvwv/WOms+wxT9oit5o82ySP6j1Phn3CDgb8kLulJhR570FzbwmWOI6udK8Kb
# Gt7AEiWSCloaPYex2sd7eGCc2rXobFGO0dLg6blKJbo92LGSwmBHBw2OQZAP2Wof
# 7ElHC/ssKZ4+wUmVXYYi7JCGaTnuoP8wYDYKnX4P2JY4cQMRaq3f2gSSMq2iVHnT
# 5F3bAXxj5ZkjwlDFkPk3gwB/rrr2Umb5tPFETGrINLaHqiO5daehXDNivShErtWV
# dPfMNrmhpvi3XuNTtVyWwBi09MxIqh37xHEPamOUxUE2yJIie5x6SYliTtLvWjLm
# FZh0MgKCUENGPIaMtWR/2d2KrAI/SFQlEvz8ifNwVLOIfYbwqzHT40wfKtS/hg4r
# NDq5yDer1kMn8jXjTdd/yop4bHyXY14u+hEhhObL+yWQODb9qpAtXlbDBz+GkqwK
# xNpY+piDxdjpJrNVWjSJCYCUXLsLIm3+QlK63jJQ4wocD4MqyDoEcDiWLv9FxprZ
# 4ke70Tcd
# =tSWP
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 01 Oct 2026 07:51:57 PM CEST
# gpg:                using RSA key 37C15694D8BA9764B1973FDBB44437D19C2862DF
# gpg: Good signature from "Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>" [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: 37C1 5694 D8BA 9764 B197  3FDB B444 37D1 9C28 62DF

* tag 'pbouvier/pr/tcg_tests-20261001' of https://gitlab.com/p-b-o/qemu: (27 commits)
  tests/tcg/multiarch: add missing test_pnew_jump_loads.c test
  tests/tcg/i386: Build test-i386-opt-shr
  tests/tcg/multiarch: add missing vma-pthread test
  tests/tcg/mips/user/ase/msa: remove compilation/run scripts
  tests/tcg/mipsel/mips32r5el: add msa tests
  tests/docker/debian-all-test: add mips32r5 toolchain
  tests/tcg/mips64/mips64r6: add msa tests
  tests/tcg/mips: declare msa tests sources
  tests/tcg/mips64: add mips64r6(el) tests
  tests/tcg/mips64/mips64r6: update references
  target/mips: Sign-extend the SRAV operand
  tests/tcg/mips64/mips64r6: update failing tests to use check_binary_op_64
  tests/tcg/mips/include/test_utils_64.h: add check_binary_op_64
  tests/tcg/mips64/test_mips64r6: fix call to check_results_64
  tests/tcg/mips/include/wrappers_mips64r6.h: use proper types for parameters
  tests/tcg/mips/include/wrappers_mips64r6.h: add missing wrappers for and, nor, or, xor insn
  tests/docker/dockerfiles/debian-all-test: add mips64r6 toolchains
  tests/tcg/mips64/test_mips64r6: fix include path
  tests/tcg/mips64: move mips64r6 sources
  tests/tcg/mips64*/meson.build: remove unused cc_feat
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
