[{"id":3675401,"web_url":"http://patchwork.ozlabs.org/comment/3675401/","msgid":"<CAATN3Nr5wCYcW2dnkPZgqJ+utJpeBbksQ9rXwSKm3xt1ENR7wg@mail.gmail.com>","list_archive_url":null,"date":"2026-04-09T16:53:21","subject":"Re: [PATCH v3 12/16] tests/hexagon: add tests for v68 HVX IEEE float\n arithmetics","submitter":{"id":86757,"url":"http://patchwork.ozlabs.org/api/people/86757/","name":"Taylor Simpson","email":"ltaylorsimpson@gmail.com"},"content":"On Wed, Apr 8, 2026 at 10:37 AM Matheus Tavares Bernardino <\nmatheus.bernardino@oss.qualcomm.com> wrote:\n\n> Signed-off-by: Matheus Tavares Bernardino <\n> matheus.bernardino@oss.qualcomm.com>\n> ---\n>  tests/tcg/hexagon/hex_test.h        |   4 +\n>  tests/tcg/hexagon/hvx_misc.h        |  41 ++++++++\n>  tests/tcg/hexagon/fp_hvx.c          | 155 ++++++++++++++++++++++++++++\n>  tests/tcg/hexagon/fp_hvx_disabled.c |  57 ++++++++++\n>  tests/tcg/hexagon/Makefile.target   |   8 ++\n>  5 files changed, 265 insertions(+)\n>  create mode 100644 tests/tcg/hexagon/fp_hvx.c\n>  create mode 100644 tests/tcg/hexagon/fp_hvx_disabled.c\n>\n> diff --git a/tests/tcg/hexagon/fp_hvx.c b/tests/tcg/hexagon/fp_hvx.c\n> new file mode 100644\n> index 0000000000..0365833753\n> --- /dev/null\n>\n> +static void test_new(void)\n> +{\n> +    asm volatile(\"r0 = #0x2\\n\"\n>\n\nUse SF_two\n\n\n> +                 \"v0 = vsplat(r0)\\n\"\n> +                 \"vmem(%1 + #0) = v0\\n\"\n> +                 \"r1 = #0x1\\n\"\n>\n\nUse SF_one\n\n\n> +                 \"v1 = vsplat(r1)\\n\"\n> +                 \"v2 = vsplat(r1)\\n\"\n> +                 \"{\\n\"\n> +                 \"  v0.sf = vadd(v1.sf, v2.sf)\\n\"\n> +                 \"  vmem(%0 + #0) = v0.new\\n\"\n> +                 \"}\\n\"\n> +                 :\n> +                 : \"r\"(output), \"r\"(expect)\n> +                 : \"r0\", \"r1\", \"v0\", \"v1\", \"v2\", \"memory\");\n> +    check_output_w(__LINE__, 1);\n> +}\n>\n\n\n> diff --git a/tests/tcg/hexagon/fp_hvx_disabled.c\n> b/tests/tcg/hexagon/fp_hvx_disabled.c\n> new file mode 100644\n> index 0000000000..388a42e2b7\n> --- /dev/null\n> +++ b/tests/tcg/hexagon/fp_hvx_disabled.c\n> @@ -0,0 +1,57 @@\n> +/*\n> + *  Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n> + *\n> + *  SPDX-License-Identifier: GPL-2.0-or-later\n> + */\n> +\n> +#include <stdio.h>\n> +#include <string.h>\n> +#include <hexagon_types.h>\n> +#include <hvx_hexagon_protos.h>\n> +\n> +int err;\n> +#include \"hvx_misc.h\"\n> +\n> +static void test_disabled(void)\n> +{\n> +    memset(output, 0xAA, sizeof(output));\n> +    memset(expect, 0, sizeof(expect));\n> +    asm volatile(\"r0 = #0xff\\n\"\n> +                 \"v0 = vsplat(r0)\\n\"\n> +                 \"r1 = #0x1\\n\"\n>\n\nMinor nit - consider known floating point values (e.g., SF_one) (but since\nthe vadd is going to write zeros, it really doesn't matter).\n\n\n> +                 \"v1 = vsplat(r1)\\n\"\n> +                 \"v2 = vsplat(r1)\\n\"\n> +                 \"v0.sf = vadd(v1.sf, v2.sf)\\n\"\n> +                 \"vmem(%0 + #0) = v0\\n\"\n> +                 :\n> +                 : \"r\"(output)\n> +                 : \"r0\", \"r1\", \"v0\", \"v1\", \"v2\", \"memory\");\n> +    check_output_w(__LINE__, 1);\n> +}\n> +\n> +static void test_disabled_with_new(void)\n> +{\n> +    memset(output, 0xAA, sizeof(output));\n> +    memset(expect, 0, sizeof(expect));\n> +    asm volatile(\"r0 = #0xff\\n\"\n> +                 \"v0 = vsplat(r0)\\n\"\n> +                 \"r1 = #0x1\\n\"\n>\n\nDitto\n\n\n> +                 \"v1 = vsplat(r1)\\n\"\n> +                 \"v2 = vsplat(r1)\\n\"\n> +                 \"{\\n\"\n> +                 \"    v0.sf = vadd(v1.sf, v2.sf)\\n\"\n> +                 \"    vmem(%0 + #0) = v0.new\\n\"\n> +                 \"}\\n\"\n> +                 :\n> +                 : \"r\"(output)\n> +                 : \"r0\", \"r1\", \"v0\", \"v1\", \"v2\", \"memory\");\n> +    check_output_w(__LINE__, 1);\n> +}\n> +\n> +int main(void)\n> +{\n> +    test_disabled();\n> +    test_disabled_with_new();\n> +    puts(err ? \"FAIL\" : \"PASS\");\n> +    return err ? 1 : 0;\n> +}\n> diff --git a/tests/tcg/hexagon/Makefile.target\n> b/tests/tcg/hexagon/Makefile.target\n> index 549c95082f..789721bdac 100644\n> --- a/tests/tcg/hexagon/Makefile.target\n> +++ b/tests/tcg/hexagon/Makefile.target\n> @@ -50,6 +50,8 @@ HEX_TESTS += vector_add_int\n>  HEX_TESTS += scatter_gather\n>  HEX_TESTS += hvx_misc\n>  HEX_TESTS += hvx_histogram\n> +HEX_TESTS += fp_hvx\n> +HEX_TESTS += fp_hvx_disabled\n>  HEX_TESTS += invalid-slots\n>  HEX_TESTS += invalid-encoding\n>  HEX_TESTS += multiple-writes\n> @@ -126,6 +128,12 @@ v68_hvx: CFLAGS += -mhvx -Wno-unused-function\n>  v69_hvx: v69_hvx.c hvx_misc.h\n>  v69_hvx: CFLAGS += -mhvx -Wno-unused-function\n>  v73_scalar: CFLAGS += -Wno-unused-function\n> +fp_hvx: fp_hvx.c hvx_misc.h\n>\n\nAlso hex_test.h\n\n\n> +fp_hvx: CFLAGS += -mhvx -mhvx-ieee-fp\n> +fp_hvx_disabled: fp_hvx_disabled.c hvx_misc.h\n>\n\nAlso hex_test.h\n\n\n> +fp_hvx_disabled: CFLAGS += -mhvx -mhvx-ieee-fp\n> +\n> +run-fp_hvx_disabled: QEMU_OPTS += -cpu v73,ieee-fp=false\n>\n>  hvx_histogram: hvx_histogram.c hvx_histogram_row.S\n>         $(CC) $(CFLAGS) $(CROSS_CC_GUEST_CFLAGS) $^ -o $@ $(LDFLAGS)\n>\n\nOtherwise\nReviewed-by: Taylor Simpson <ltaylorsimpson@gmail.com>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=cMbGTXmO;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fs5cg5SJDz1yHG\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 02:54:09 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wAsdN-00078z-R0; Thu, 09 Apr 2026 12:53:37 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <ltaylorsimpson@gmail.com>)\n id 1wAsdM-00078i-8N\n for qemu-devel@nongnu.org; Thu, 09 Apr 2026 12:53:36 -0400","from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <ltaylorsimpson@gmail.com>)\n id 1wAsdK-00071T-2v\n for qemu-devel@nongnu.org; Thu, 09 Apr 2026 12:53:36 -0400","by mail-pj1-x1031.google.com with SMTP id\n 98e67ed59e1d1-3567e2b4159so825651a91.0\n for <qemu-devel@nongnu.org>; Thu, 09 Apr 2026 09:53:33 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; t=1775753613; cv=none;\n d=google.com; s=arc-20240605;\n b=LbiRxX3bfdq+lV8p/g5aNlrcmT63fzG7wcTwL98fWbpUThX4It1Hyj83s9BsheZ8So\n XqLW32GMF43xshVhTA/Yr+dbR1ERMz8XUZFx56BLoMeplICOGGkf8v28fsWKJNGCmuwL\n fNffkiQX1330yUV+8x4zfG31V9nZzH4J8i3NIg8ljggephtm3VdFHLigrrEHgjuWtMY+\n l9hCzFuZcRqQKPWQ6Tqr4l3Gh7ztyp4sBzP7crbkPHHJhS5xM9vCQlNpS5FJvkV7rMKp\n nUJ2WjMelqKJD1hvPFra4CtrlzD1//HHraKlLWY0yFn+Pv/2N8Ix8+AUZ1VjdMOxNmCm\n cNBA==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:dkim-signature;\n bh=EGO5KxonVaV4PL6gq5NoKgqZNBOmQYHWR2NyFyaYlRg=;\n fh=seHpsuERei6GoCJPMtZiXpXOw/2EVnvuQ7nSTREwIqg=;\n b=RT3W/byPjaVV8NsALF53xDssj7HbnXQzVi093zVpo3pnK4ql25bnu4K5XalW5kllyV\n v0M8G35SgJTqfZdp3AKNFZddQ74AxqP89SjUuQ0UDLwB7mo4+6E3Za3m13QBE38wizD9\n hEuzjaIMIAHH/9vmOAMS/oIpsIDCiIsTNy3BRhYlHq5Rwxuxub95RvP1HKQj4KzDx0Mp\n lYicqKuIv6yRbpGxQ4HwNv8pwOvF7MGe60u65cDvwv3Fyd+SnxlRIHUl1j3Ngil9lGQ8\n w1samDJVbNvLNNMTzkkrg/4I7vz97LitvAq1JjacKC4J0EAGVsgGYS7kCqCHpaRHTFaS\n dnXw==; darn=nongnu.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1775753613; x=1776358413; darn=nongnu.org;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:from:to:cc:subject:date:message-id:reply-to;\n bh=EGO5KxonVaV4PL6gq5NoKgqZNBOmQYHWR2NyFyaYlRg=;\n b=cMbGTXmORyYRoyv0fcj0ciB+hH5tn91uO/5wX/rOUiqOzvjEuvmiOnFYuSoJyJ1pC1\n 2wKopWREeB9nokqBeGPiWlmUaYUEELr9Fklo0jmGXwVsRlvFW8DcO5z6ccRcPEaVONa6\n 1nl3Jp1Xmt612LSwTggATqnGhjdP3fL9PnT33VKRaFnzyLWP4NDYBxuSxDxb/CKjM24Q\n q//1+t4XH0R+8QIu/OQE/o5y10b/+MFSNPN5lfkEUPeK4LhRumrwW1qAgzHO48EFWV9c\n 6jmrJ0bzxDA/2MafU6rHMWyA+PStkNjdo9W4QBu5umneBaNqN/pdTV/rUqDEG6LSnE3x\n PGOw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775753613; x=1776358413;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=EGO5KxonVaV4PL6gq5NoKgqZNBOmQYHWR2NyFyaYlRg=;\n b=kh8cO8s9GW8vn0TQIzR15cP2fWY1B47rzILE++AoSrpZY0QjkqyIexLtp2X7cENKj7\n 41h5iW+KEOeZXgAXZSHx/e5ONawchHl9pqqXnLJc5EuRHODlanOpSdws1m6AruSxCIAP\n AcYM4dyc0emdpBUg3HLr+8dbind5M1Iz2SJHOi9Aq1NNruVWJspcYJSmfDBSCnYDo2kp\n mVuoLLArfKdbzSuQpJJw+TVV1EZos2zgmnMVf+/QRoQS0wlVAY+6ZVAp5d0JEBZMIWqW\n 8Cs0wTcmX6qI1sAK0hswTdzNzdMYcbEpF9kmZutf4NL1BhoUGTAhYzq09zWpP0TRGDLC\n Ukag==","X-Gm-Message-State":"AOJu0Yz7KDWhbrCvT4Au9p3ykbIUvZdmMfRtmND5uny+dGSwjN9SZ89K\n HpzkY1kK6dkHNUBZ0GXQ7o7f8GjgF8vMJEkAPOyu9y48sx0DElY/t/hvCbSjprDlCf1XwaiGklr\n iOG8LnskAm/3xXUcp1UAU3BclrMRwlDM=","X-Gm-Gg":"AeBDieuvm3T/0xDsmubelXd1n+V7D14rvJjXks5bInGUrehc3LkMep8otJm07wh808i\n 4ifCwzCsDu13P1FVBLYgmZJte0n60diAMIeL8g5K/IfsAFNpXnPNe5JKygg1KeBkR4sCkMPxksk\n JiuxQR6O6oCr8G7PV+s4EbEh+uqjP2f3LrPzbWhFTCYxLo2wLOz/froiHTazIJiRTUUmK56YEc5\n SwGn5KWoE/Ks10t4jQZHv0hMYn5MU4TGIKelqq8S+effOQv0ZnCOnVD1l0bnjSdTggKBIJFDNba\n jmDQEEBsSR9m8vyCzAP/0cIqMDNzL1ugYlHPxdk=","X-Received":"by 2002:a17:90b:37cc:b0:359:d54:846f with SMTP id\n 98e67ed59e1d1-35de680bc4amr26018582a91.7.1775753612525; Thu, 09 Apr 2026\n 09:53:32 -0700 (PDT)","MIME-Version":"1.0","References":"<cover.1775665981.git.matheus.bernardino@oss.qualcomm.com>\n <e66f33dc979f03215ab0c0738a14b96e8f8a30cd.1775665981.git.matheus.bernardino@oss.qualcomm.com>","In-Reply-To":"\n <e66f33dc979f03215ab0c0738a14b96e8f8a30cd.1775665981.git.matheus.bernardino@oss.qualcomm.com>","From":"Taylor Simpson <ltaylorsimpson@gmail.com>","Date":"Thu, 9 Apr 2026 10:53:21 -0600","X-Gm-Features":"AQROBzCxrz-y58lfoD6_nYcvCXE6dltt6bxQir_mcjdzxu_KpMYpkG-WWYyY1q8","Message-ID":"\n <CAATN3Nr5wCYcW2dnkPZgqJ+utJpeBbksQ9rXwSKm3xt1ENR7wg@mail.gmail.com>","Subject":"Re: [PATCH v3 12/16] tests/hexagon: add tests for v68 HVX IEEE float\n arithmetics","To":"Matheus Tavares Bernardino <matheus.bernardino@oss.qualcomm.com>","Cc":"qemu-devel@nongnu.org, richard.henderson@linaro.org, ale@rev.ng,\n anjo@rev.ng, brian.cain@oss.qualcomm.com, marco.liebel@oss.qualcomm.com,\n philmd@linaro.org, quic_mburton@quicinc.com, sid.manning@oss.qualcomm.com","Content-Type":"multipart/alternative; boundary=\"000000000000488230064f09db0a\"","Received-SPF":"pass client-ip=2607:f8b0:4864:20::1031;\n envelope-from=ltaylorsimpson@gmail.com; helo=mail-pj1-x1031.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,\n HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]