qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Taylor Simpson" <tsimpson@quicinc.com>,
	qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>
Cc: peter.maydell@linaro.org
Subject: Re: [PULL 28/30] Hexagon HVX (tests/tcg/hexagon) hvx_misc test
Date: Mon, 1 Nov 2021 09:43:47 -0400	[thread overview]
Message-ID: <2f35d0c6-0ba7-b911-56db-c1ed9ae4afbc@linaro.org> (raw)
In-Reply-To: <e1d3d003-f287-7f82-d604-6f43b0d9c55c@amsat.org>

On 11/1/21 6:33 AM, Philippe Mathieu-Daudé wrote:
> On 10/31/21 17:43, Taylor Simpson wrote:
>> Tests for
>>      packet semantics
>>      vector loads (aligned and unaligned)
>>      vector stores (aligned and unaligned)
>>      vector masked stores
>>      vector new value store
>>      maximum HVX temps in a packet
>>      vector operations
>>
>> Acked-by: Richard Henderson <richard.henderson@linaro.org>
>> Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
>> ---
>>   tests/tcg/hexagon/hvx_misc.c      | 469 ++++++++++++++++++++++++++++++++++++++
>>   tests/tcg/hexagon/Makefile.target |   2 +
>>   2 files changed, 471 insertions(+)
>>   create mode 100644 tests/tcg/hexagon/hvx_misc.c
> 
>> +static void test_load_tmp(void)
>> +{
>> +    void *p0 = buffer0;
>> +    void *p1 = buffer1;
>> +    void *pout = output;
>> +
>> +    for (int i = 0; i < BUFSIZE; i++) {
>> +        /*
>> +         * Load into v12 as .tmp, then use it in the next packet
>> +         * Should get the new value within the same packet and
>> +         * the old value in the next packet
>> +         */
>> +        asm("v3 = vmem(%0 + #0)\n\t"
>> +            "r1 = #1\n\t"
>> +            "v12 = vsplat(r1)\n\t"
>> +            "{\n\t"
>> +            "    v12.tmp = vmem(%1 + #0)\n\t"
>> +            "    v4.w = vadd(v12.w, v3.w)\n\t"
>> +            "}\n\t"
>> +            "v4.w = vadd(v4.w, v12.w)\n\t"
>> +            "vmem(%2 + #0) = v4\n\t"
>> +            : : "r"(p0), "r"(p1), "r"(pout)
>> +            : "r1", "v12", "v3", "v4", "v6", "memory");
>> +        p0 += sizeof(MMVector);
>> +        p1 += sizeof(MMVector);
>> +        pout += sizeof(MMVector);
>> +
>> +        for (int j = 0; j < MAX_VEC_SIZE_BYTES / 4; j++) {
>> +            expect[i].w[j] = buffer0[i].w[j] + buffer1[i].w[j] + 1;
>> +        }
>> +    }
>> +
>> +    check_output_w(__LINE__, BUFSIZE);
>> +}
> 
> This test fails guest-tests:
> 
> tests/tcg/hexagon/hvx_misc.c:111:21: error: unknown register name 'v12'
> in asm
>              : "r1", "v12", "v3", "v4", "v6", "memory");
>                      ^
> tests/tcg/hexagon/hvx_misc.c:362:9: note: expanded from macro 'TEST_VEC_OP2'
>          VEC_OP2(ASM, EL, p0, p1, pout); \
>          ^
> 

Yep, this PR depends on the toolchain update that's pending.
I'll ask Alex to hurry up the docker patch queue.


r~


  reply	other threads:[~2021-11-01 13:45 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-31 16:42 [PULL 00/30] Hexagon HVX (target/hexagon) patch series Taylor Simpson
2021-10-31 16:42 ` [PULL 01/30] Hexagon HVX (target/hexagon) README Taylor Simpson
2021-10-31 16:42 ` [PULL 02/30] Hexagon HVX (target/hexagon) add Hexagon Vector eXtensions (HVX) to core Taylor Simpson
2021-10-31 16:42 ` [PULL 03/30] Hexagon HVX (target/hexagon) register names Taylor Simpson
2021-10-31 16:42 ` [PULL 04/30] Hexagon HVX (target/hexagon) instruction attributes Taylor Simpson
2021-10-31 16:42 ` [PULL 05/30] Hexagon HVX (target/hexagon) macros Taylor Simpson
2021-10-31 16:42 ` [PULL 06/30] Hexagon HVX (target/hexagon) import macro definitions Taylor Simpson
2021-10-31 16:42 ` [PULL 07/30] Hexagon HVX (target/hexagon) semantics generator Taylor Simpson
2021-10-31 16:42 ` [PULL 08/30] Hexagon HVX (target/hexagon) semantics generator - part 2 Taylor Simpson
2021-10-31 16:42 ` [PULL 09/30] Hexagon HVX (target/hexagon) C preprocessor for decode tree Taylor Simpson
2021-10-31 16:42 ` [PULL 10/30] Hexagon HVX (target/hexagon) instruction utility functions Taylor Simpson
2021-10-31 16:42 ` [PULL 11/30] Hexagon HVX (target/hexagon) helper functions Taylor Simpson
2021-10-31 16:42 ` [PULL 12/30] Hexagon HVX (target/hexagon) TCG generation Taylor Simpson
2021-10-31 16:42 ` [PULL 13/30] Hexagon HVX (target/hexagon) helper overrides infrastructure Taylor Simpson
2021-10-31 16:42 ` [PULL 14/30] Hexagon HVX (target/hexagon) helper overrides for histogram instructions Taylor Simpson
2021-10-31 16:42 ` [PULL 15/30] Hexagon HVX (target/hexagon) helper overrides - vector assign & cmov Taylor Simpson
2021-10-31 16:42 ` [PULL 16/30] Hexagon HVX (target/hexagon) helper overrides - vector add & sub Taylor Simpson
2021-10-31 16:42 ` [PULL 17/30] Hexagon HVX (target/hexagon) helper overrides - vector shifts Taylor Simpson
2021-10-31 16:42 ` [PULL 18/30] Hexagon HVX (target/hexagon) helper overrides - vector max/min Taylor Simpson
2021-10-31 16:42 ` [PULL 19/30] Hexagon HVX (target/hexagon) helper overrides - vector logical ops Taylor Simpson
2021-10-31 16:42 ` [PULL 20/30] Hexagon HVX (target/hexagon) helper overrides - vector compares Taylor Simpson
2021-10-31 16:43 ` [PULL 21/30] Hexagon HVX (target/hexagon) helper overrides - vector splat and abs Taylor Simpson
2021-10-31 16:43 ` [PULL 22/30] Hexagon HVX (target/hexagon) helper overrides - vector loads Taylor Simpson
2021-10-31 16:43 ` [PULL 23/30] Hexagon HVX (target/hexagon) helper overrides - vector stores Taylor Simpson
2021-10-31 16:43 ` [PULL 24/30] Hexagon HVX (target/hexagon) import semantics Taylor Simpson
2021-10-31 16:43 ` [PULL 25/30] Hexagon HVX (target/hexagon) instruction decoding Taylor Simpson
2021-10-31 16:43 ` [PULL 26/30] Hexagon HVX (target/hexagon) import instruction encodings Taylor Simpson
2021-10-31 16:43 ` [PULL 27/30] Hexagon HVX (tests/tcg/hexagon) vector_add_int test Taylor Simpson
2021-10-31 16:43 ` [PULL 28/30] Hexagon HVX (tests/tcg/hexagon) hvx_misc test Taylor Simpson
2021-11-01 10:33   ` Philippe Mathieu-Daudé
2021-11-01 13:43     ` Richard Henderson [this message]
2021-11-01 14:09       ` Taylor Simpson
2021-11-01 14:17         ` Philippe Mathieu-Daudé
2021-11-01 15:02           ` Richard Henderson
2021-11-02 16:05             ` Taylor Simpson
2021-11-02 16:41               ` Alex Bennée
2021-11-02 16:53                 ` Taylor Simpson
2021-11-03 13:31                   ` Alex Bennée
2021-11-03 15:22                     ` Hexagon toolchain update vs linux-user signals Richard Henderson
2021-10-31 16:43 ` [PULL 29/30] Hexagon HVX (tests/tcg/hexagon) scatter_gather test Taylor Simpson
2021-10-31 16:43 ` [PULL 30/30] Hexagon HVX (tests/tcg/hexagon) histogram test Taylor Simpson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2f35d0c6-0ba7-b911-56db-c1ed9ae4afbc@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=f4bug@amsat.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=tsimpson@quicinc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).