From patchwork Wed Nov 29 11:49:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Christoph_M=C3=BCllner?= X-Patchwork-Id: 172177 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp762493vqy; Thu, 30 Nov 2023 15:49:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IHpYfgEh6PMDYVTCy1ipSgkyS8x80CzA49ihz9DzeGyTheDrLodbiRNBub03oO0k5l1iBLt X-Received: by 2002:a05:620a:278c:b0:77d:a6a4:4e80 with SMTP id g12-20020a05620a278c00b0077da6a44e80mr19039524qkp.4.1701388147708; Thu, 30 Nov 2023 15:49:07 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701388147; cv=pass; d=google.com; s=arc-20160816; b=hVJvnHRmoZBRTvt4QP0tb3wJr1vu7QfogahwPvqSSXimxKwWAMILRsJm12eY0Cmr2o 6cK4K//eXsrEchtu4jxBqNPIMim6H1drSlzX7GQGoLs4VXaMvjAYpW4IAnNQGTB2dms2 4lmueVK4aNELPJYkSCOZ3wNUGFzrxkyqRB9ltiQPogkaxKEcS2Cr83vAXTS7wRAEBzAr G82kkDcl5pQ9redtjCxIh3AfWhpwpL3YvF4htpDI5WZ4A3Wzri1fwOiIGGYTYKAEhchq qjGFeg1SQry24R1fZ3NDoVBjAgarJbW/OTku6gmBrvYwPtXeJnORka/a0L88pCQ9DmMZ jOKQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=DNYEvwVv73o+DA5EdOJY8+08ODOFCGr0YE86hXq0714=; fh=L88/ns/b8OjpnwcxWbf46ptoaRjlB/tFmROKfG+/koU=; b=BXbJhfyN4dzknh6RRsKxYnG4fI6xDgbW+THpAClji3M17b6HOJhVTb5ORz1QeINIdf prVkzOeBM+VXhBySNdFX2SfXcJb16Kx/FmfRT1sU4MQdCt1loA+WjmILdH1mfn0msxRa 5xv0MuaHYSsx258OuGAWsLuce3bshUpwTx/oTeyJneRLs5fXs9UJO87Vr/XHVCoEwABi U+7L9LgiJG4wH+odpSKBBoiTvNCMRufpZoByyF+voStvK4sDbAPSPT0di6T0IDWwGfQu wPF9XKKdaT5q5/HnsPecC8W1sCYROlR5u4mtANAU5xjjtD0d6Icw5WeMXgsYF8jjMMqk nzqw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@vrull.eu header.s=google header.b=T7OJ5H8t; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id bp13-20020a05620a458d00b0077d7d366837si2147056qkb.245.2023.11.30.15.49.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 15:49:07 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@vrull.eu header.s=google header.b=T7OJ5H8t; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A67BE38618F4 for ; Wed, 29 Nov 2023 11:49:39 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) by sourceware.org (Postfix) with ESMTPS id D87D03858C3A for ; Wed, 29 Nov 2023 11:49:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D87D03858C3A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D87D03858C3A Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::12c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701258555; cv=none; b=IFz2/PUgKW2aAsuyAQT0UJqhGDWYO+dr5+tfJk027WLVxqEiHQRTLRmc4A4ORH6G1DYDKJJtTQ9WX2a45L+sIq1ax5G5qMX8akmKPENN6PHRyEHFjE5AQhoQ0Juk21k0PLFmT5Hpf7mAAi7qRrLBjH+BSPTCZ3f196x260SpjSk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701258555; c=relaxed/simple; bh=rGypMoldVr0ijXfa6wZq1OPKWOY1uBQkw8aoBTiRm20=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=nIoxr4RJ4YDqXGjn4VDhO2luSAhfrAESIbYV1l5BPkHjXXkF2P+bdgFttziap9DvZdd50KsanhpI9CouZ8Cvj48TVC8Unl1dfEKRrS5Bn4GJ9pK3SlaSiF0Hx89JVekkw8s0oK3PdWIpu/1CRtqk1VtJV3lAs1XR2lEdxFGBw+g= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-50bc053a9a7so1994983e87.1 for ; Wed, 29 Nov 2023 03:49:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; t=1701258551; x=1701863351; darn=gcc.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=DNYEvwVv73o+DA5EdOJY8+08ODOFCGr0YE86hXq0714=; b=T7OJ5H8t97JpxRiZGpwM6ytaq2QYOC+NX3d+T+8jGIncPaK8AHBGQLfpStWfAYYHjg eiQEBZoasPP/xDZ37sOxjLn2Gu/6q1MrVOn4xUh/lXkV4EiBZ0iUuIwsjZlucrUswb9/ X8wcmzFIQDACFG+aUDmi8lsVQAWQZje0SDkyyMzZq2MV5fqZoqvsEoAsIJQM+93EEjdl RNL1N6IMMdfSdLAii6nBOkkMikYvptcNME9tsiNOl9WAg+5re+gZIvCrZ/PcurNR3LRC Qef5J+Zy/AW7oB3jeXZaCmpoT+7wMqAC8Up1Gv9+dh2zQSe11xNgQRC4Ky/NMZOKBXKq BjBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701258551; x=1701863351; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DNYEvwVv73o+DA5EdOJY8+08ODOFCGr0YE86hXq0714=; b=cuh5FdA2OeDAku54/8JaH0WE/Y6kkOJs45cyve0KcG8KAEzgX98kHvrYFRg4yZcez+ 9xE7q4S2FN+7gee20tpg4FKUk963TTN2fwWBQXJQN5pGJb56CnvJrBXJD+CWl9piwlQH 34MavcRrS2sR2NjzzIcrk3GNo2vNs0fAcAE02tRBk+gD3hvMQzn6Amsm84a+uJEccdaY 9LOPpJnzbIgh3inie5oCaDCWeSX/P0RYHOLal2HxehN9gg/m0qk3ABgqkMi27HvEyYIy eBqpWJIhqJ2gMg7hGibk8ymiVkC334uKy4bbqVsHbrMPRsfC/Rcz46ZSTgc4uqpN4dUb bA8A== X-Gm-Message-State: AOJu0YxEZordHMKGwfCbfded3BZy2q/Y4v6/wLW0ARQYtiVGVr4wB+Wx 1cLBBIG9BBFOt95b5Gfrs1Ye8YHyBIvinrwSWFi1AA== X-Received: by 2002:a05:6512:2309:b0:50b:b4ca:8af0 with SMTP id o9-20020a056512230900b0050bb4ca8af0mr5891140lfu.25.1701258551493; Wed, 29 Nov 2023 03:49:11 -0800 (PST) Received: from beast.fritz.box (62-178-148-172.cable.dynamic.surfer.at. [62.178.148.172]) by smtp.gmail.com with ESMTPSA id cf16-20020a170906b2d000b0099bd7b26639sm7784008ejb.6.2023.11.29.03.49.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 03:49:10 -0800 (PST) From: Christoph Muellner To: gcc-patches@gcc.gnu.org, Kito Cheng , Palmer Dabbelt , Andrew Waterman , Philipp Tomsich , Jeff Law Cc: =?utf-8?q?Christoph_M=C3=BCllner?= Subject: [RFC PATCH] RISC-V: Remove f{r,s}flags builtins Date: Wed, 29 Nov 2023 12:49:05 +0100 Message-ID: <20231129114905.3057404-1-christoph.muellner@vrull.eu> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_SHORT, RCVD_IN_DNSWL_NONE, 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+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783927560394189155 X-GMAIL-MSGID: 1784034778268298640 From: Christoph Müllner We have two builtins which are undocumented and have no known users. Further, they don't exist in LLVM (so are no portable). This means they are in an unclear state of being supported or not. Let's remove them get them out of this undecided state. A discussion about making these builtins available in all compilers was held many years ago with the decision to not document them in the RISC-V C API documentation: https://github.com/riscv-non-isa/riscv-c-api-doc/pull/3 This is an RFC patch as this breaks existing code that uses these builtins, even if we don't know if such code exists. An alternative to this patch would be to document them in gcc/doc/extend.texi (like has been done with __builtin_riscv_pause) and put them into a supported state. This patch removes two tests for these builtins. A test of this patch did not trigger any regressions in riscv.exp. Signed-off-by: Christoph Müllner gcc/ChangeLog: * config/riscv/riscv-builtins.cc: Remove the builtins __builtin_riscv_frflags and __builtin_riscv_fsflags. gcc/testsuite/ChangeLog: * g++.target/riscv/frflags.C: Removed. * gcc.target/riscv/fsflags.c: Removed. --- gcc/config/riscv/riscv-builtins.cc | 2 -- gcc/testsuite/g++.target/riscv/frflags.C | 7 ------- gcc/testsuite/gcc.target/riscv/fsflags.c | 16 ---------------- 3 files changed, 25 deletions(-) delete mode 100644 gcc/testsuite/g++.target/riscv/frflags.C delete mode 100644 gcc/testsuite/gcc.target/riscv/fsflags.c diff --git a/gcc/config/riscv/riscv-builtins.cc b/gcc/config/riscv/riscv-builtins.cc index fc3976f3ba1..1655492b246 100644 --- a/gcc/config/riscv/riscv-builtins.cc +++ b/gcc/config/riscv/riscv-builtins.cc @@ -188,8 +188,6 @@ static const struct riscv_builtin_description riscv_builtins[] = { #include "riscv-scalar-crypto.def" #include "corev.def" - DIRECT_BUILTIN (frflags, RISCV_USI_FTYPE, hard_float), - DIRECT_NO_TARGET_BUILTIN (fsflags, RISCV_VOID_FTYPE_USI, hard_float), RISCV_BUILTIN (pause, "pause", RISCV_BUILTIN_DIRECT_NO_TARGET, RISCV_VOID_FTYPE, hint_pause), }; diff --git a/gcc/testsuite/g++.target/riscv/frflags.C b/gcc/testsuite/g++.target/riscv/frflags.C deleted file mode 100644 index 6353044dcf7..00000000000 --- a/gcc/testsuite/g++.target/riscv/frflags.C +++ /dev/null @@ -1,7 +0,0 @@ -/* { dg-options "-O2 -march=rv32if -mabi=ilp32f" } */ -/* { dg-do compile } */ - -int f() -{ - return __builtin_riscv_frflags(); -} diff --git a/gcc/testsuite/gcc.target/riscv/fsflags.c b/gcc/testsuite/gcc.target/riscv/fsflags.c deleted file mode 100644 index 74a97b8a7c7..00000000000 --- a/gcc/testsuite/gcc.target/riscv/fsflags.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Verify that fsflags is using the correct register or immediate. */ -/* { dg-do compile } */ -/* { dg-require-effective-target hard_float } */ -/* { dg-options "-O" } */ - -void foo1 (int a) -{ - __builtin_riscv_fsflags(a); -} -void foo2 () -{ - __builtin_riscv_fsflags(4); -} - -/* { dg-final { scan-assembler-times "fsflags\t" 1 } } */ -/* { dg-final { scan-assembler-times "fsflagsi\t" 1 } } */