From patchwork Wed Dec 13 01:31:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: chenxiaolong X-Patchwork-Id: 82016 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3084D3857C4B for ; Wed, 13 Dec 2023 01:31:41 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 864B73858D3C for ; Wed, 13 Dec 2023 01:31:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 864B73858D3C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 864B73858D3C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702431083; cv=none; b=b2f3X+5Z2A02cAgxAXidg2UfM+cTHUCH9Hd0yB6ZMsc46ehvI8AZWqpmXYRby8eAM/YxFzzO2YYYb1XurtsQE2dyugfoF0iaDmPKKzR04t8nX5S7R7JD2zUJECA4KbUoRYtwyixozQewJPJyiBc9cFJv48oce39YyDnsDpuuISE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702431083; c=relaxed/simple; bh=AUUm6qR2KEzuGVKKwKfvUmCe/icaQSTW9mQq22iplxM=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=iowVZK2EeWSAoqUkvQRdMb/N0ZWXKqu0tD0ChcCUkhjryvyrj02eTEdxZ81dSfZ6JItY3fuQdlNnOSL1CMGWqfdOOZ5TQ46A7QBPFDrqHFE+CYDM6OnH9lPkqtaZ1FjuZ46v4B5unnkIhNa9lFx4MDOhodtgNopOYAb4PSYKspo= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from loongson.cn (unknown [10.10.130.252]) by gateway (Coremail) with SMTP id _____8DxS+lmCXllIocAAA--.3331S3; Wed, 13 Dec 2023 09:31:18 +0800 (CST) Received: from slurm-master.loongson.cn (unknown [10.10.130.252]) by localhost.localdomain (Coremail) with SMTP id AQAAf8CxnuFlCXll9ZoBAA--.11115S4; Wed, 13 Dec 2023 09:31:17 +0800 (CST) From: chenxiaolong To: gcc-patches@gcc.gnu.org Cc: xry111@xry111.site, i@xen0n.name, xuchenghua@loongson.cn, chenglulu@loongson.cn, chenxiaolong Subject: [PATCH v2] LoongArch: Modify the check type of the vector builtin function. Date: Wed, 13 Dec 2023 09:31:07 +0800 Message-Id: <20231213013107.34464-1-chenxiaolong@loongson.cn> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-CM-TRANSID: AQAAf8CxnuFlCXll9ZoBAA--.11115S4 X-CM-SenderInfo: hfkh05xldrz0tqj6z05rqj20fqof0/1tbiAQASBWVxK6wA0QAEsQ X-Coremail-Antispam: 1Uk129KBj93XoW7uFy7ZFWxWr4rXFyfXr18JFc_yoW8KrW5pF WIyrnF9r4kWasxWr4DtFWUAw4jyrn7GrW3uayrGa42kryrKr9FvF45KF1avFyUGayrZw4S vas8uw18X3Z8XwbCm3ZEXasCq-sJn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUkFb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AK xVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx 1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r106r15McIj6I8E87Iv 67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2 Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s02 6x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0x vE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE 42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6x kF7I0E14v26r1j6r4UYxBIdaVFxhVjvjDU0xZFpf9x07jUsqXUUUUU= X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_SHORT, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org On LoongArch architecture, using the latest gcc14 in regression test, it is found that the vector test cases in vector directory appear FAIL entries with unmatched pointer types. In order to solve this kind of problem, the type of the variable in the check result is modified with the parameter type defined in the vector builtin function. gcc/testsuite/ChangeLog: * gcc.target/loongarch/vector/simd_correctness_check.h:The variable types in the check results are modified in conjunction with the parameter types defined in the vector builtin function. --- v1->v2: If an error occurs, output the data in hexadecimal format, and fill the high part of the result with 0. --- .../loongarch/vector/simd_correctness_check.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/gcc.target/loongarch/vector/simd_correctness_check.h b/gcc/testsuite/gcc.target/loongarch/vector/simd_correctness_check.h index eb7fbd59cc7..551340bd51f 100644 --- a/gcc/testsuite/gcc.target/loongarch/vector/simd_correctness_check.h +++ b/gcc/testsuite/gcc.target/loongarch/vector/simd_correctness_check.h @@ -8,11 +8,12 @@ int fail = 0; \ for (size_t i = 0; i < sizeof (res) / sizeof (res[0]); ++i) \ { \ - long *temp_ref = &ref[i], *temp_res = &res[i]; \ + long long *temp_ref = (long long *)&ref[i], \ + *temp_res = (long long *)&res[i]; \ if (abs (*temp_ref - *temp_res) > 0) \ { \ printf (" error: %s at line %ld , expected " #ref \ - "[%ld]:0x%lx, got: 0x%lx\n", \ + "[%ld]:0x%016lx, got: 0x%016lx\n", \ __FILE__, line, i, *temp_ref, *temp_res); \ fail = 1; \ } \ @@ -28,11 +29,11 @@ int fail = 0; \ for (size_t i = 0; i < sizeof (res) / sizeof (res[0]); ++i) \ { \ - int *temp_ref = &ref[i], *temp_res = &res[i]; \ + int *temp_ref = (int *)&ref[i], *temp_res = (int *)&res[i]; \ if (abs (*temp_ref - *temp_res) > 0) \ { \ printf (" error: %s at line %ld , expected " #ref \ - "[%ld]:0x%x, got: 0x%x\n", \ + "[%ld]:0x%08x, got: 0x%08x\n", \ __FILE__, line, i, *temp_ref, *temp_res); \ fail = 1; \ } \ @@ -47,8 +48,8 @@ { \ if (ref != res) \ { \ - printf (" error: %s at line %ld , expected %d, got %d\n", __FILE__, \ - line, ref, res); \ + printf (" error: %s at line %ld , expected 0x:%016x", \ + "got 0x:%016x\n", __FILE__, line, ref, res); \ } \ } \ while (0)