[PULL 0/3] Hex queue

Brian Cain posted 3 patches 1 month, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260806213640.699905-1-brian.cain@oss.qualcomm.com
Maintainers: Brian Cain <brian.cain@oss.qualcomm.com>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
target/hexagon/genptr.h                |  1 +
target/hexagon/decode.c                | 30 ++++++++---
target/hexagon/genptr.c                | 11 ++++
tests/tcg/hexagon/invalid-slots.c      | 72 ++++++++++++++++++++++++++
tests/tcg/hexagon/read_write_overlap.c | 47 +++++++++++++++++
tests/tcg/hexagon/valid-slots.c        | 62 ++++++++++++++++++++++
target/hexagon/gen_tcg_funcs.py        | 15 ++++++
target/hexagon/hex_common.py           | 12 +++++
tests/tcg/hexagon/Makefile.target      |  1 +
9 files changed, 243 insertions(+), 8 deletions(-)
create mode 100644 tests/tcg/hexagon/valid-slots.c
[PULL 0/3] Hex queue
Posted by Brian Cain 1 month, 3 weeks ago
The following changes since commit 3e3ccab106f879b1512f8e0d51a827dd4de30e22:

  Update version for v11.1.0-rc3 release (2026-08-04 15:36:08 -0400)

are available in the Git repository at:

  https://github.com/qualcomm/qemu tags/hex-20260806-pull-request

for you to fetch changes up to 8f5bf4fa0aa2f5648f016b8265d86d4b05b42307:

  target/hexagon: don't let an idef-parser dest clobber its own source (2026-08-06 08:18:51 -0700)

----------------------------------------------------------------
hexagon: fix cmpy*(), same-slot packets

Fixes for these two bugs:
* short-circuited packets with `cmpy(Rs,Rt)` would get the wrong result
when Rs is the same register as Rt.
* some packets with slot constraints were incorrectly rejected as having
an invalid encoding/shuffle.

----------------------------------------------------------------

Brian Cain (3):
  target/hexagon: accept valid packets rejected by check
  tests/tcg/hexagon: add slot-assignment tests
  target/hexagon: don't let an idef-parser dest clobber its own source

 target/hexagon/genptr.h                |  1 +
 target/hexagon/decode.c                | 30 ++++++++---
 target/hexagon/genptr.c                | 11 ++++
 tests/tcg/hexagon/invalid-slots.c      | 72 ++++++++++++++++++++++++++
 tests/tcg/hexagon/read_write_overlap.c | 47 +++++++++++++++++
 tests/tcg/hexagon/valid-slots.c        | 62 ++++++++++++++++++++++
 target/hexagon/gen_tcg_funcs.py        | 15 ++++++
 target/hexagon/hex_common.py           | 12 +++++
 tests/tcg/hexagon/Makefile.target      |  1 +
 9 files changed, 243 insertions(+), 8 deletions(-)
 create mode 100644 tests/tcg/hexagon/valid-slots.c

-- 
2.34.1

Re: [PULL 0/3] Hex queue
Posted by Michael Tokarev 1 month, 2 weeks ago
On 8/7/26 00:36, Brian Cain wrote:
> hexagon: fix cmpy*(), same-slot packets
> 
> Fixes for these two bugs:
> * short-circuited packets with `cmpy(Rs,Rt)` would get the wrong result
> when Rs is the same register as Rt.
> * some packets with slot constraints were incorrectly rejected as having
> an invalid encoding/shuffle.

> Brian Cain (3):
>    target/hexagon: accept valid packets rejected by check
>    tests/tcg/hexagon: add slot-assignment tests
>    target/hexagon: don't let an idef-parser dest clobber its own source

This pull request missed 11.1.0 release, I'm picking this up for
stable-11.1 branch.  Please let me know if I should not.

Thanks,

/mjt
Re: [PULL 0/3] Hex queue
Posted by Stefan Hajnoczi 1 month, 2 weeks ago
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/11.2 for any user-visible changes.
Re: [PULL 0/3] Hex queue
Posted by Stefan Hajnoczi 1 month, 2 weeks ago
On Thu, Aug 6, 2026 at 5:38 PM Brian Cain <brian.cain@oss.qualcomm.com> wrote:
>
> The following changes since commit 3e3ccab106f879b1512f8e0d51a827dd4de30e22:
>
>   Update version for v11.1.0-rc3 release (2026-08-04 15:36:08 -0400)
>
> are available in the Git repository at:
>
>   https://github.com/qualcomm/qemu tags/hex-20260806-pull-request
>
> for you to fetch changes up to 8f5bf4fa0aa2f5648f016b8265d86d4b05b42307:
>
>   target/hexagon: don't let an idef-parser dest clobber its own source (2026-08-06 08:18:51 -0700)
>
> ----------------------------------------------------------------
> hexagon: fix cmpy*(), same-slot packets
>
> Fixes for these two bugs:
> * short-circuited packets with `cmpy(Rs,Rt)` would get the wrong result
> when Rs is the same register as Rt.
> * some packets with slot constraints were incorrectly rejected as having
> an invalid encoding/shuffle.

Hi Brian,
Are these fixes critical for QEMU v11.1.0?

Once -rc3 is reached, only critical fixes are merged so that the
release converges. Critical fixes include regressions since the
previous release, high severity security fixes, and build fixes.

If they are not critical, I will merge them once QEMU v11.1.0 has been
released (it should happen within the next week or two) and the
-stable tree can pick them up.

Thanks,
Stefan

>
> ----------------------------------------------------------------
>
> Brian Cain (3):
>   target/hexagon: accept valid packets rejected by check
>   tests/tcg/hexagon: add slot-assignment tests
>   target/hexagon: don't let an idef-parser dest clobber its own source
>
>  target/hexagon/genptr.h                |  1 +
>  target/hexagon/decode.c                | 30 ++++++++---
>  target/hexagon/genptr.c                | 11 ++++
>  tests/tcg/hexagon/invalid-slots.c      | 72 ++++++++++++++++++++++++++
>  tests/tcg/hexagon/read_write_overlap.c | 47 +++++++++++++++++
>  tests/tcg/hexagon/valid-slots.c        | 62 ++++++++++++++++++++++
>  target/hexagon/gen_tcg_funcs.py        | 15 ++++++
>  target/hexagon/hex_common.py           | 12 +++++
>  tests/tcg/hexagon/Makefile.target      |  1 +
>  9 files changed, 243 insertions(+), 8 deletions(-)
>  create mode 100644 tests/tcg/hexagon/valid-slots.c
>
> --
> 2.34.1
>
Re: [PULL 0/3] Hex queue
Posted by Brian Cain 1 month, 2 weeks ago
On Sun, Aug 9, 2026 at 8:01 AM Stefan Hajnoczi <stefanha@gmail.com> wrote:
>
> On Thu, Aug 6, 2026 at 5:38 PM Brian Cain <brian.cain@oss.qualcomm.com> wrote:
> >
> > The following changes since commit 3e3ccab106f879b1512f8e0d51a827dd4de30e22:
> >
> >   Update version for v11.1.0-rc3 release (2026-08-04 15:36:08 -0400)
> >
> > are available in the Git repository at:
> >
> >   https://github.com/qualcomm/qemu tags/hex-20260806-pull-request
> >
> > for you to fetch changes up to 8f5bf4fa0aa2f5648f016b8265d86d4b05b42307:
> >
> >   target/hexagon: don't let an idef-parser dest clobber its own source (2026-08-06 08:18:51 -0700)
> >
> > ----------------------------------------------------------------
> > hexagon: fix cmpy*(), same-slot packets
> >
> > Fixes for these two bugs:
> > * short-circuited packets with `cmpy(Rs,Rt)` would get the wrong result
> > when Rs is the same register as Rt.
> > * some packets with slot constraints were incorrectly rejected as having
> > an invalid encoding/shuffle.
>
> Hi Brian,
> Are these fixes critical for QEMU v11.1.0?
>
> Once -rc3 is reached, only critical fixes are merged so that the
> release converges. Critical fixes include regressions since the
> previous release, high severity security fixes, and build fixes.
>
> If they are not critical, I will merge them once QEMU v11.1.0 has been
> released (it should happen within the next week or two) and the
> -stable tree can pick them up.

Sorry - I misunderstood.  No - they're not recent regressions and can
land post-release.

Thanks!

>
> Thanks,
> Stefan
>
> >
> > ----------------------------------------------------------------
> >
> > Brian Cain (3):
> >   target/hexagon: accept valid packets rejected by check
> >   tests/tcg/hexagon: add slot-assignment tests
> >   target/hexagon: don't let an idef-parser dest clobber its own source
> >
> >  target/hexagon/genptr.h                |  1 +
> >  target/hexagon/decode.c                | 30 ++++++++---
> >  target/hexagon/genptr.c                | 11 ++++
> >  tests/tcg/hexagon/invalid-slots.c      | 72 ++++++++++++++++++++++++++
> >  tests/tcg/hexagon/read_write_overlap.c | 47 +++++++++++++++++
> >  tests/tcg/hexagon/valid-slots.c        | 62 ++++++++++++++++++++++
> >  target/hexagon/gen_tcg_funcs.py        | 15 ++++++
> >  target/hexagon/hex_common.py           | 12 +++++
> >  tests/tcg/hexagon/Makefile.target      |  1 +
> >  9 files changed, 243 insertions(+), 8 deletions(-)
> >  create mode 100644 tests/tcg/hexagon/valid-slots.c
> >
> > --
> > 2.34.1
> >