[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH 02/20] Hexagon HVX (target/hexagon) add Hexagon Vector eXtens
From: |
Taylor Simpson |
Subject: |
RE: [PATCH 02/20] Hexagon HVX (target/hexagon) add Hexagon Vector eXtensions (HVX) to core |
Date: |
Tue, 27 Jul 2021 17:21:32 +0000 |
> -----Original Message-----
> From: Taylor Simpson
> Sent: Sunday, July 25, 2021 10:02 PM
> To: Richard Henderson <richard.henderson@linaro.org>; qemu-
> devel@nongnu.org
> Cc: philmd@redhat.com; ale@rev.ng; Brian Cain <bcain@quicinc.com>;
> peter.maydell@linaro.org
> Subject: RE: [PATCH 02/20] Hexagon HVX (target/hexagon) add Hexagon
> Vector eXtensions (HVX) to core
>
>
>
> > -----Original Message-----
> > From: Richard Henderson <richard.henderson@linaro.org>
> > Sent: Sunday, July 25, 2021 8:08 AM
> > To: Taylor Simpson <tsimpson@quicinc.com>; qemu-devel@nongnu.org
> > Cc: philmd@redhat.com; ale@rev.ng; Brian Cain <bcain@quicinc.com>;
> > peter.maydell@linaro.org
> > Subject: Re: [PATCH 02/20] Hexagon HVX (target/hexagon) add Hexagon
> > Vector eXtensions (HVX) to core
> >
> > > + /* Temporaries used within instructions */
> > > + MMVector zero_vector QEMU_ALIGNED(16);
> >
> > You must be doing something wrong to need zero in memory.
>
> The architecture specifies that if you use a .new in a packet where the vector
> register isn't defined, it gets zero. So, the generator produces the
> following
> for .new references
> const intptr_t OsN_off =
> test_bit(OsN_num, ctx->vregs_updated)
> ? offsetof(CPUHexagonState, future_VRegs[OsN_num])
> : offsetof(CPUHexagonState, zero_vector);
Correction - the architecture does NOT allow a .new where the vector register
isn't defined.
This code is being overly cautious, so I'll change it to always return
future_VRegs and remove zero_vector from CPUHexagonState.
Thanks,
Taylor
- [PATCH 12/20] Hexagon HVX (target/hexagon) helper functions, (continued)
- [PATCH 12/20] Hexagon HVX (target/hexagon) helper functions, Taylor Simpson, 2021/07/05
- [PATCH 09/20] Hexagon HVX (target/hexagon) semantics generator - part 2, Taylor Simpson, 2021/07/05
- [PATCH 04/20] Hexagon HVX (target/hexagon) support in gdbstub, Taylor Simpson, 2021/07/05
- [PATCH 06/20] Hexagon HVX (target/hexagon) macros, Taylor Simpson, 2021/07/05
- [PATCH 02/20] Hexagon HVX (target/hexagon) add Hexagon Vector eXtensions (HVX) to core, Taylor Simpson, 2021/07/05
- [PATCH 16/20] Hexagon HVX (target/hexagon) import instruction encodings, Taylor Simpson, 2021/07/05
- [PATCH 05/20] Hexagon HVX (target/hexagon) instruction attributes, Taylor Simpson, 2021/07/05
- [PATCH 03/20] Hexagon HVX (target/hexagon) register names, Taylor Simpson, 2021/07/05
- [PATCH 10/20] Hexagon HVX (target/hexagon) C preprocessor for decode tree, Taylor Simpson, 2021/07/05
- [PATCH 11/20] Hexagon HVX (target/hexagon) instruction utility functions, Taylor Simpson, 2021/07/05
- [PATCH 20/20] Hexagon HVX (tests/tcg/hexagon) histogram test, Taylor Simpson, 2021/07/05
- [PATCH 19/20] Hexagon HVX (tests/tcg/hexagon) scatter_gather test, Taylor Simpson, 2021/07/05