mbox series

[v2,0/9] Hexagon (target/hexagon) New architecture support

Message ID 20230427224057.3766963-1-tsimpson@quicinc.com (mailing list archive)
Headers show
Series Hexagon (target/hexagon) New architecture support | expand

Message

Taylor Simpson April 27, 2023, 10:40 p.m. UTC
Add support for new Hexagon architecture versions v68/v69/v71/v73

**** Changes in v2 ****
Address feedback from Anton Johansson <anjo@rev.ng>
    Rename v6mpy_ref.h to v6mpy_ref.c.inc
    Shorten format of hexagon_v*_cpu_init_functions
    Change loop counts MAX_VEC_SIZE_BYTES / 2 to MAX_VEC_SIZE_BYTES / 4



Taylor Simpson (9):
  Hexagon (target/hexagon) Add support for v68/v69/v71/v73
  Hexagon (target/hexagon) Add v68 scalar instructions
  Hexagon (tests/tcg/hexagon) Add v68 scalar tests
  Hexagon (target/hexagon) Add v68 HVX instructions
  Hexagon (tests/tcg/hexagon) Add v68 HVX tests
  Hexagon (target/hexagon) Add v69 HVX instructions
  Hexagon (tests/tcg/hexagon) Add v69 HVX tests
  Hexagon (target/hexagon) Add v73 scalar instructions
  Hexagon (tests/tcg/hexagon) Add v73 scalar tests

 configure                                    |   2 +-
 linux-user/hexagon/target_elf.h              |  13 +-
 target/hexagon/cpu.h                         |   4 +
 target/hexagon/gen_tcg.h                     |  22 ++
 target/hexagon/gen_tcg_hvx.h                 |  12 +
 target/hexagon/mmvec/macros.h                |   9 +-
 target/hexagon/attribs_def.h.inc             |  16 +
 target/hexagon/cpu.c                         |  14 +-
 target/hexagon/translate.c                   |   3 +
 tests/tcg/hexagon/misc.c                     |  12 +
 tests/tcg/hexagon/v68_hvx.c                  |  90 ++++++
 tests/tcg/hexagon/v68_scalar.c               | 186 +++++++++++
 tests/tcg/hexagon/v69_hvx.c                  | 318 ++++++++++++++++++
 tests/tcg/hexagon/v73_scalar.c               |  96 ++++++
 tests/tcg/hexagon/v6mpy_ref.c.inc            | 161 ++++++++++
 target/hexagon/gen_idef_parser_funcs.py      |   2 +
 target/hexagon/imported/branch.idef          |   7 +-
 target/hexagon/imported/encode_pp.def        |  21 +-
 target/hexagon/imported/ldst.idef            |  20 +-
 target/hexagon/imported/mmvec/encode_ext.def |  16 +-
 target/hexagon/imported/mmvec/ext.idef       | 321 ++++++++++++++++++-
 tests/tcg/hexagon/Makefile.target            |  13 +
 22 files changed, 1339 insertions(+), 19 deletions(-)
 create mode 100644 tests/tcg/hexagon/v68_hvx.c
 create mode 100644 tests/tcg/hexagon/v68_scalar.c
 create mode 100644 tests/tcg/hexagon/v69_hvx.c
 create mode 100644 tests/tcg/hexagon/v73_scalar.c
 create mode 100644 tests/tcg/hexagon/v6mpy_ref.c.inc

Comments

Richard Henderson April 28, 2023, 9:44 p.m. UTC | #1
On 4/27/23 23:40, Taylor Simpson wrote:
> Add support for new Hexagon architecture versions v68/v69/v71/v73

Where can one find docs for this?
The latest Hexagon SDK I can find is 3.5, which still ends at v67.


r~
Taylor Simpson April 29, 2023, 7:56 p.m. UTC | #2
> -----Original Message-----
> From: Richard Henderson <richard.henderson@linaro.org>
> Sent: Friday, April 28, 2023 4:45 PM
> To: Taylor Simpson <tsimpson@quicinc.com>; qemu-devel@nongnu.org
> Cc: philmd@linaro.org; ale@rev.ng; anjo@rev.ng; Brian Cain
> <bcain@quicinc.com>; Matheus Bernardino (QUIC)
> <quic_mathbern@quicinc.com>
> Subject: Re: [PATCH v2 0/9] Hexagon (target/hexagon) New architecture
> support
> 
> WARNING: This email originated from outside of Qualcomm. Please be wary
> of any links or attachments, and do not enable macros.
> 
> On 4/27/23 23:40, Taylor Simpson wrote:
> > Add support for new Hexagon architecture versions v68/v69/v71/v73
> 
> Where can one find docs for this?
> The latest Hexagon SDK I can find is 3.5, which still ends at v67.

I guess the folks at developer.qualcomm.com are behind in publishing specs.  I'll work on getting these.

Thanks,
Taylor
Taylor Simpson May 10, 2023, 8:58 p.m. UTC | #3
> -----Original Message-----
> From: Taylor Simpson
> Sent: Saturday, April 29, 2023 2:57 PM
> To: Richard Henderson <richard.henderson@linaro.org>; qemu-
> devel@nongnu.org
> Cc: philmd@linaro.org; ale@rev.ng; anjo@rev.ng; Brian Cain
> <bcain@quicinc.com>; Matheus Bernardino (QUIC)
> <quic_mathbern@quicinc.com>
> Subject: RE: [PATCH v2 0/9] Hexagon (target/hexagon) New architecture
> support
> 
> 
> 
> > -----Original Message-----
> > From: Richard Henderson <richard.henderson@linaro.org>
> > Sent: Friday, April 28, 2023 4:45 PM
> > To: Taylor Simpson <tsimpson@quicinc.com>; qemu-devel@nongnu.org
> > Cc: philmd@linaro.org; ale@rev.ng; anjo@rev.ng; Brian Cain
> > <bcain@quicinc.com>; Matheus Bernardino (QUIC)
> > <quic_mathbern@quicinc.com>
> > Subject: Re: [PATCH v2 0/9] Hexagon (target/hexagon) New architecture
> > support
> >
> > On 4/27/23 23:40, Taylor Simpson wrote:
> > > Add support for new Hexagon architecture versions v68/v69/v71/v73
> >
> > Where can one find docs for this?
> > The latest Hexagon SDK I can find is 3.5, which still ends at v67.
> 
> I guess the folks at developer.qualcomm.com are behind in publishing specs.
> I'll work on getting these.

Hi Richard,

The documents have been posted on this page in the Documentation section.
https://developer.qualcomm.com/software/hexagon-dsp-sdk/tools
I'll update the README with the link to the latest versions.

Are you planning to review these given that Anton Johansson <anjo@rev.ng> has already done a review?  If not, I'll go ahead and do the pull request.

Thanks,
Taylor
Richard Henderson May 11, 2023, 5:17 a.m. UTC | #4
On 5/10/23 21:58, Taylor Simpson wrote:
>>> Where can one find docs for this?
>>> The latest Hexagon SDK I can find is 3.5, which still ends at v67.
>>
>> I guess the folks at developer.qualcomm.com are behind in publishing specs.
>> I'll work on getting these.
> 
> Hi Richard,
> 
> The documents have been posted on this page in the Documentation section.
> https://developer.qualcomm.com/software/hexagon-dsp-sdk/tools
> I'll update the README with the link to the latest versions.
> 
> Are you planning to review these given that Anton Johansson <anjo@rev.ng> has already done a review?  If not, I'll go ahead and do the pull request.

Go ahead with the pull.  But thanks for the documentation update.

r~