[PATCH 00/13] hexagon: add missing HVX float instructions

Matheus Tavares Bernardino posted 13 patches 1 week, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/cover.1774271525.git.matheus.bernardino@oss.qualcomm.com
Maintainers: Brian Cain <brian.cain@oss.qualcomm.com>, "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
There is a newer version of this series
target/hexagon/cpu.h                          |   1 +
target/hexagon/mmvec/kvx_ieee.h               | 119 ++++++
target/hexagon/mmvec/macros.h                 |  16 +
target/hexagon/mmvec/mmvec.h                  |   3 +
target/hexagon/translate.h                    |   1 +
tests/tcg/hexagon/hex_test.h                  |  16 +
tests/tcg/hexagon/hvx_misc.h                  |  14 +
target/hexagon/attribs_def.h.inc              |   9 +
target/hexagon/cpu.c                          |   1 +
target/hexagon/decode.c                       |  22 ++
target/hexagon/mmvec/kvx_ieee.c               | 234 ++++++++++++
target/hexagon/translate.c                    |   1 +
tests/tcg/hexagon/fp_hvx.c                    | 150 ++++++++
tests/tcg/hexagon/fp_hvx_cmp.c                |  58 +++
tests/tcg/hexagon/fp_hvx_cvt.c                | 194 ++++++++++
tests/tcg/hexagon/fp_hvx_disabled.c           |  32 ++
target/hexagon/hex_common.py                  |   2 +
target/hexagon/imported/mmvec/encode_ext.def  | 127 +++++--
target/hexagon/imported/mmvec/ext.idef        | 357 +++++++++++++++++-
target/hexagon/meson.build                    |   1 +
.../dockerfiles/debian-hexagon-cross.docker   |  10 +-
tests/tcg/hexagon/Makefile.target             |  14 +
22 files changed, 1354 insertions(+), 28 deletions(-)
create mode 100644 target/hexagon/mmvec/kvx_ieee.h
create mode 100644 target/hexagon/mmvec/kvx_ieee.c
create mode 100644 tests/tcg/hexagon/fp_hvx.c
create mode 100644 tests/tcg/hexagon/fp_hvx_cmp.c
create mode 100644 tests/tcg/hexagon/fp_hvx_cvt.c
create mode 100644 tests/tcg/hexagon/fp_hvx_disabled.c
[PATCH 00/13] hexagon: add missing HVX float instructions
Posted by Matheus Tavares Bernardino 1 week, 4 days ago
This patchset adds 59 HVX floating point instructions from Hexagon
revisions v68 and v73 that were missing in qemu. Tests are also added at
the end.

Brian Cain (1):
  tests/docker: Update hexagon cross toolchain to 22.1.0

Matheus Tavares Bernardino (12):
  target/hexagon: fix incorrect/too-permissive HVX encodings
  target/hexagon/cpu: add HVX IEEE FP extension
  target/hexagon: add v68 HVX IEEE float arithmetic insns
  target/hexagon: add v68 HVX IEEE float min/max insns
  target/hexagon: add v68 HVX IEEE float misc insns
  target/hexagon: add v68 HVX IEEE float conversion insns
  target/hexagon: add v68 HVX IEEE float compare insns
  target/hexagon: add v73 HVX IEEE bfloat16 insns
  tests/hexagon: add tests for v68 HVX IEEE float arithmetics
  tests/hexagon: add tests for v68 HVX IEEE float min/max
  tests/hexagon: add tests for v68 HVX IEEE float conversions
  tests/hexagon: add tests for v68 HVX IEEE float comparisons

 target/hexagon/cpu.h                          |   1 +
 target/hexagon/mmvec/kvx_ieee.h               | 119 ++++++
 target/hexagon/mmvec/macros.h                 |  16 +
 target/hexagon/mmvec/mmvec.h                  |   3 +
 target/hexagon/translate.h                    |   1 +
 tests/tcg/hexagon/hex_test.h                  |  16 +
 tests/tcg/hexagon/hvx_misc.h                  |  14 +
 target/hexagon/attribs_def.h.inc              |   9 +
 target/hexagon/cpu.c                          |   1 +
 target/hexagon/decode.c                       |  22 ++
 target/hexagon/mmvec/kvx_ieee.c               | 234 ++++++++++++
 target/hexagon/translate.c                    |   1 +
 tests/tcg/hexagon/fp_hvx.c                    | 150 ++++++++
 tests/tcg/hexagon/fp_hvx_cmp.c                |  58 +++
 tests/tcg/hexagon/fp_hvx_cvt.c                | 194 ++++++++++
 tests/tcg/hexagon/fp_hvx_disabled.c           |  32 ++
 target/hexagon/hex_common.py                  |   2 +
 target/hexagon/imported/mmvec/encode_ext.def  | 127 +++++--
 target/hexagon/imported/mmvec/ext.idef        | 357 +++++++++++++++++-
 target/hexagon/meson.build                    |   1 +
 .../dockerfiles/debian-hexagon-cross.docker   |  10 +-
 tests/tcg/hexagon/Makefile.target             |  14 +
 22 files changed, 1354 insertions(+), 28 deletions(-)
 create mode 100644 target/hexagon/mmvec/kvx_ieee.h
 create mode 100644 target/hexagon/mmvec/kvx_ieee.c
 create mode 100644 tests/tcg/hexagon/fp_hvx.c
 create mode 100644 tests/tcg/hexagon/fp_hvx_cmp.c
 create mode 100644 tests/tcg/hexagon/fp_hvx_cvt.c
 create mode 100644 tests/tcg/hexagon/fp_hvx_disabled.c

-- 
2.37.2