qemu-commits
[Top][All Lists]
Advanced

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

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


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 58ff29: Hexagon (target/hexagon) fix bug in circular addre...
Date: Sun, 13 Mar 2022 10:29:42 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 58ff2981667262f77d57219fc9cef2a43a740159
      
https://github.com/qemu/qemu/commit/58ff2981667262f77d57219fc9cef2a43a740159
  Author: Michael Lambert <mlambert@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: 5b0043c67ccd7b88e0858204e79b09448adf4b34
      
https://github.com/qemu/qemu/commit/5b0043c67ccd7b88e0858204e79b09448adf4b34
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: 9a65990326cd59f28323714d72073515091383c9
      
https://github.com/qemu/qemu/commit/9a65990326cd59f28323714d72073515091383c9
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: 77ccf44453a83e17cc830df700cc072f6bcf6a71
      
https://github.com/qemu/qemu/commit/77ccf44453a83e17cc830df700cc072f6bcf6a71
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: d76dd816bf328a66ce57b2fb27d046656d3ab411
      
https://github.com/qemu/qemu/commit/d76dd816bf328a66ce57b2fb27d046656d3ab411
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: 4d04395a1716c669cf634a90e768c1baa0e68aff
      
https://github.com/qemu/qemu/commit/4d04395a1716c669cf634a90e768c1baa0e68aff
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: 2479540fff4aa4519ff45e122be360492f970598
      
https://github.com/qemu/qemu/commit/2479540fff4aa4519ff45e122be360492f970598
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: 8576e7ecae056845de6e0bafc547501f2bc6461c
      
https://github.com/qemu/qemu/commit/8576e7ecae056845de6e0bafc547501f2bc6461c
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: 8af2d9978ad2c52377fe69466a556fffeedcd057
      
https://github.com/qemu/qemu/commit/8af2d9978ad2c52377fe69466a556fffeedcd057
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: 3977ba3078503fca0f182aa8a39fad2388f43cb1
      
https://github.com/qemu/qemu/commit/3977ba3078503fca0f182aa8a39fad2388f43cb1
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: c0d86060f033fc8d591b0163e380ff6cd04f213a
      
https://github.com/qemu/qemu/commit/c0d86060f033fc8d591b0163e380ff6cd04f213a
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   2022-03-12 (Sat, 12 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: 4a818b3767220dcd21cf5cc7f12e33e28c2073ed
      
https://github.com/qemu/qemu/commit/4a818b3767220dcd21cf5cc7f12e33e28c2073ed
  Author: Zongyuan Li <zongyuan.li@smartx.com>
  Date:   2022-03-12 (Sat, 12 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: 15df33ceb73cb6bb3c6736cf4d2cff51129ed4b4
      
https://github.com/qemu/qemu/commit/15df33ceb73cb6bb3c6736cf4d2cff51129ed4b4
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-03-13 (Sun, 13 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-20220312-1' into 
staging

Hexagon bug fixes and additional tests

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

******** Changes in v2 ********
Fix problems with build-user-hexagon CI job

# gpg: Signature made Sat 12 Mar 2022 20:09:29 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-20220312-1:
  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/cd0bf23c4ac6...15df33ceb73c



reply via email to

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