qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] b3be9f: Hexagon (target/hexagon) fix bug in c


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] b3be9f: Hexagon (target/hexagon) fix bug in circular addre...
Date: Thu, 10 Mar 2022 04:10:06 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: b3be9fd88a16194c2066dd07129c5a24aeec9717
      
https://github.com/qemu/qemu/commit/b3be9fd88a16194c2066dd07129c5a24aeec9717
  Author: Michael Lambert <mlambert@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M target/hexagon/op_helper.c
    M tests/tcg/hexagon/circ.c

  Log Message:
  -----------
  Hexagon (target/hexagon) fix bug in circular addressing

Versions V3 and earlier should treat the "K_const" and "length" values
as unsigned.

Modified circ_test_v3() in tests/tcg/hexagon/circ.c to reproduce the bug

Signed-off-by: Michael Lambert <mlambert@quicinc.com>
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-2-tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5a1dbd1960d1f13d324439147c43ec7d9008d975
      
https://github.com/qemu/qemu/commit/5a1dbd1960d1f13d324439147c43ec7d9008d975
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M target/hexagon/macros.h
    M tests/tcg/hexagon/hvx_misc.c

  Log Message:
  -----------
  Hexagon HVX (target/hexagon) fix bug in HVX saturate instructions

Two tests added to tests/tcg/hexagon/hvx_misc.c
    v21.uw = vadd(v11.uw, v10.uw):sat
    v25:24.uw = vsub(v17:16.uw, v27:26.uw):sat

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-3-tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 9e5b7f9ae4165c883d2f9b525be610e9e2749195
      
https://github.com/qemu/qemu/commit/9e5b7f9ae4165c883d2f9b525be610e9e2749195
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M target/hexagon/op_helper.c

  Log Message:
  -----------
  Hexagon (target/hexagon) properly set FPINVF bit in sfcmp.uo and dfcmp.uo

Instead of checking for nan arguments, use float??_unordered_quiet

test cases added in a subsequent patch to more extensively test USR bits

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-4-tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 24aead5066742a94c24a0d56c0d0a0102d46811f
      
https://github.com/qemu/qemu/commit/24aead5066742a94c24a0d56c0d0a0102d46811f
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M target/hexagon/arch.c
    M target/hexagon/fma_emu.h
    M tests/tcg/hexagon/fpstuff.c

  Log Message:
  -----------
  Hexagon (target/hexagon) properly handle denorm in arch_sf_recip_common

The arch_sf_recip_common function was calling float32_getexp which
adjusts for denorm, but the we actually need the raw exponent bits.

This function is called from 3 instructions
    sfrecipa
    sffixupn
    sffixupd

Test cases added to tests/tcg/hexagon/fpstuff.c

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-6-tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ff7d305ed7c63fbe62023ca999d8bfc9b1abfe7a
      
https://github.com/qemu/qemu/commit/ff7d305ed7c63fbe62023ca999d8bfc9b1abfe7a
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M target/hexagon/op_helper.c
    M tests/tcg/hexagon/fpstuff.c

  Log Message:
  -----------
  Hexagon (target/hexagon) properly handle NaN in dfmin/dfmax/sfmin/sfmax

The float??_minnum implementation differs from Hexagon for SNaN,
it returns NaN, but Hexagon returns the other input.  So, we use
float??_minimum_number.

Test cases added to tests/tcg/hexagon/fpstuff.c

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220308190410.22355-1-tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c16d1fe1fea42250d8c1a6b4fbfd7e265349eb10
      
https://github.com/qemu/qemu/commit/c16d1fe1fea42250d8c1a6b4fbfd7e265349eb10
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M tests/tcg/hexagon/Makefile.target
    A tests/tcg/hexagon/usr.c

  Log Message:
  -----------
  Hexagon (tests/tcg/hexagon) test instructions that might set bits in USR

Hexagon has ~200 instructions that set the saturate bit in USR, these
were broken into groups of similar instructions and one instruction
from each group is tested with at least one input that does not
saturate and at least one input that does saturate.

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-7-tsimpson@quicinc.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 47a1bdc0f292481d42ffdf12219a4d5ea049c07a
      
https://github.com/qemu/qemu/commit/47a1bdc0f292481d42ffdf12219a4d5ea049c07a
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M tests/tcg/hexagon/usr.c

  Log Message:
  -----------
  Hexagon (tests/tcg/hexagon) add floating point instructions to usr.c

Tests to confirm floating point instructions are properly
setting exception bits in USR

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-8-tsimpson@quicinc.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 37ef9030cc0a2378daf2e077d96b28b657b3e30f
      
https://github.com/qemu/qemu/commit/37ef9030cc0a2378daf2e077d96b28b657b3e30f
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M tests/tcg/hexagon/overflow.c

  Log Message:
  -----------
  Hexagon (tests/tcg/hexagon) update overflow test

Add a test that sets USR multiple times in a packet

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-9-tsimpson@quicinc.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 1802f092b72fa7a5647bd4c3fa9deb67632dad5a
      
https://github.com/qemu/qemu/commit/1802f092b72fa7a5647bd4c3fa9deb67632dad5a
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M tests/tcg/hexagon/preg_alias.c

  Log Message:
  -----------
  Hexagon (tests/tcg/hexagon) fix inline asm in preg_alias.c

Replace consecutive inline asm blocks with a single one with proper
outputs/inputs/clobbers rather than making assumptions about register
values being carried between separate blocks.

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-10-tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: af2fafb19c16121ae1b33cb34d346a99edb25e87
      
https://github.com/qemu/qemu/commit/af2fafb19c16121ae1b33cb34d346a99edb25e87
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M target/hexagon/op_helper.c
    M tests/tcg/hexagon/usr.c

  Log Message:
  -----------
  Hexagon (target/hexagon) fix bug in conv_df2uw_chop

Fix typo that checked for 32 bit nan instead of 64 bit

Test case added in tests/tcg/hexagon/usr.c

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-11-tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7e3ba5017a9ae8a0fbf82934e0faf1fbb3014997
      
https://github.com/qemu/qemu/commit/7e3ba5017a9ae8a0fbf82934e0faf1fbb3014997
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M target/hexagon/genptr.c
    M tests/tcg/hexagon/preg_alias.c

  Log Message:
  -----------
  Hexagon (target/hexagon) assignment to c4 should wait until packet commit

On Hexagon, c4 is an alias for predicate registers P3:0.  If we assign to
c4 inside a packet with reads from predicate registers, the predicate
reads should get the old values.

Test case added to tests/tcg/hexagon/preg_alias.c

Co-authored-by: Michael Lambert <mlambert@cuicinc.com>
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-13-tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ebbf0ee1335548fe9b42fcd1ff031aea2d27cc1a
      
https://github.com/qemu/qemu/commit/ebbf0ee1335548fe9b42fcd1ff031aea2d27cc1a
  Author: Zongyuan Li <zongyuan.li@smartx.com>
  Date:   2022-03-08 (Tue, 08 Mar 2022)

  Changed paths:
    M target/hexagon/mmvec/macros.h

  Log Message:
  -----------
  target/hexagon: remove unused variable

When building with clang version 13.0.0 (eg. Fedora 13.0.0-3.fc35),
two unused variables introduced by macro GATHER_FUNCTION and
SCATTER_FUNCTION will cause building process failure due to
[-Werror -Wunused-variable].

Signed-off-by: Zongyuan Li <zongyuan.li@smartx.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/831
Message-Id: <20220124064339.56027-1-zongyuan.li@smartx.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>


  Commit: 31ecfe09e2fd640b291c80e47180c36126faefbd
      
https://github.com/qemu/qemu/commit/31ecfe09e2fd640b291c80e47180c36126faefbd
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-03-10 (Thu, 10 Mar 2022)

  Changed paths:
    M target/hexagon/arch.c
    M target/hexagon/fma_emu.h
    M target/hexagon/genptr.c
    M target/hexagon/macros.h
    M target/hexagon/mmvec/macros.h
    M target/hexagon/op_helper.c
    M tests/tcg/hexagon/Makefile.target
    M tests/tcg/hexagon/circ.c
    M tests/tcg/hexagon/fpstuff.c
    M tests/tcg/hexagon/hvx_misc.c
    M tests/tcg/hexagon/overflow.c
    M tests/tcg/hexagon/preg_alias.c
    A tests/tcg/hexagon/usr.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/quic/tags/pull-hex-20220308' into 
staging

Hexagon bug fixes and additional tests

Also includes a patch from Zongyuan Li <zongyuan.li@smartx.com>
to remove an unused variable

# gpg: Signature made Tue 08 Mar 2022 21:51:35 GMT
# gpg:                using RSA key 3635C788CE62B91FD4C59AB47B0244FB12DE4422
# gpg: Good signature from "Taylor Simpson (Rock on) <tsimpson@quicinc.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: 3635 C788 CE62 B91F D4C5  9AB4 7B02 44FB 12DE 4422

* remotes/quic/tags/pull-hex-20220308:
  target/hexagon: remove unused variable
  Hexagon (target/hexagon) assignment to c4 should wait until packet commit
  Hexagon (target/hexagon) fix bug in conv_df2uw_chop
  Hexagon (tests/tcg/hexagon) fix inline asm in preg_alias.c
  Hexagon (tests/tcg/hexagon) update overflow test
  Hexagon (tests/tcg/hexagon) add floating point instructions to usr.c
  Hexagon (tests/tcg/hexagon) test instructions that might set bits in USR
  Hexagon (target/hexagon) properly handle NaN in dfmin/dfmax/sfmin/sfmax
  Hexagon (target/hexagon) properly handle denorm in arch_sf_recip_common
  Hexagon (target/hexagon) properly set FPINVF bit in sfcmp.uo and dfcmp.uo
  Hexagon HVX (target/hexagon) fix bug in HVX saturate instructions
  Hexagon (target/hexagon) fix bug in circular addressing

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/521526a9c900...31ecfe09e2fd



reply via email to

[Prev in Thread] Current Thread [Next in Thread]