From patchwork Tue Apr 9 01:57:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1921166 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=L/zGIbcT; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VD8Hq2bMWz1yYT for ; Tue, 9 Apr 2024 11:58:14 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0217E3858410 for ; Tue, 9 Apr 2024 01:58:12 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 166A83858CD1 for ; Tue, 9 Apr 2024 01:57:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 166A83858CD1 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 166A83858CD1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712627874; cv=none; b=tg00FVltKXrFPOorAdpGce6WPPfwG9nOWEOONf9mdF8i32vau2FDF5/40C3YnqCs8uUu1ksnfVqbEFcDlWzTEvMYzqSCa95uHtru9/qf3xKzganVKPRUCYkYy0XQHfArJkfFrNWl9tx8fu/cYvOueIcL3veKLzcS0TQs0HHJA1o= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712627874; c=relaxed/simple; bh=0FNiipdvgBpO3DBBFd1ibcNmVNacALLxlxIaqt31YNw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=taRCPOfxWd//Lf13mfs9rhrDUnUkJbY6p0Q+ST6v6gkkouP2Qm5PgUACoKn1e6MOtAQZ9VautDXenn3onoiFXzXkzYCFtNjTulHPAmKUKr66YviYPgTwyDT1/3P26G/mSDXRAFYRUhNi87Fslcmw/2+OZMf31anGDUkqvJf1UYQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1e41f984d34so13631855ad.1 for ; Mon, 08 Apr 2024 18:57:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712627872; x=1713232672; 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=EhGqOCOESOTVTqK4C4XKeBjT8Bs6MbI24VNf53ofclY=; b=L/zGIbcTnDTJio5iKyxPsvZ6ei79oPT29yq2zqSa8WE3rcRz1i/AqnHKk3vLosXdMl /DglQZQib8E2F/BPGu9gHSWA/K0LM5RbxbF9h42fBQKtqnPSuacO6H8dLobU3d4Xn7Ks uiR/eqtXEpfhXkHCgNoy/eg069mTQXu6B4fPs2Ih29GklkpRmE7cNKUqU8xEDwhF8MPL ymZ9DZ/1fF9PUtAgScAjPaMGOrVUUVJ8D1YqTpoQz4pHFXrBc+Nc3m3KAc2GM3fQzXQ4 9nj9U2jdi7IJBpGL8DSV7U5oP67N4ux/zpFnJNVjcUGmq/ZOPxlzR5/tq8frs7VYoL3b 0XQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712627872; x=1713232672; 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=EhGqOCOESOTVTqK4C4XKeBjT8Bs6MbI24VNf53ofclY=; b=jGJhsdSywSMOtxVidUGrTN+ZlFDgHAeo8a8+EpyvLBH+sgcOfwxHkMfTWwQ+Rx4PFo m+vdBMKmvv7iXtPMsP3Vyheisd24M8IvK+q1PbzNfCCJrYtBRq1Rd8lLdwiOXSCa44L6 rdwxKlV8v5U8JBrLugNi+Gxx8NXVcQc75xsUXysfWcKr02TeLaRoNQFEE3VtwS9I9iw7 1LN8jVoItHdjK88zSWJNXahWooJJF0MjZtrYrsLtKwo6UgfnxxSA745ySq5CYgq2fdvu 1d1aY1OWPtq28oeLkcqs1EZl+6+GLiSZIaSQRj0BIaJkPN+Fy17YQHdRpSabWk3500Nk QgZQ== X-Gm-Message-State: AOJu0Yx56OKNTpfniKRR7ZeSOQ9tw6i+nfo/r9dia+NoHCPi4qy71oWo kkM327smVG6v5TTWo+VCf7/mO7yGyvspCVTpFQ+aY4GGT538uCgDa/oBriYW X-Google-Smtp-Source: AGHT+IG+E2vdr7o3LkBD6YQbU5Og8RjWsAcKcWmjJDc/V1yud0TpVAsIiJkcvYG1dLzRgu1zzCUjew== X-Received: by 2002:a17:903:32cb:b0:1e4:fd4:48cf with SMTP id i11-20020a17090332cb00b001e40fd448cfmr4914425plr.41.1712627871617; Mon, 08 Apr 2024 18:57:51 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.56.169.48]) by smtp.gmail.com with ESMTPSA id lg15-20020a170902fb8f00b001e0c5be4e2esm7765905plb.48.2024.04.08.18.57.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Apr 2024 18:57:51 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id E722B7400AC; Mon, 8 Apr 2024 18:57:49 -0700 (PDT) From: "H.J. Lu" To: gcc-patches@gcc.gnu.org Cc: ubizjak@gmail.com, hongtao.liu@intel.com Subject: [PATCH v2] x86: Define __APX_INLINE_ASM_USE_GPR32__ Date: Mon, 8 Apr 2024 18:57:49 -0700 Message-ID: <20240409015749.1099026-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 X-Spam-Status: No, score=-3020.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_SBL_CSS, SPF_HELO_NONE, SPF_PASS, TXREP 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+incoming=patchwork.ozlabs.org@gcc.gnu.org Define __APX_INLINE_ASM_USE_GPR32__ for -mapx-inline-asm-use-gpr32. When __APX_INLINE_ASM_USE_GPR32__ is defined, inline asm statements should contain only instructions compatible with r16-r31. gcc/ PR target/114587 * config/i386/i386-c.cc (ix86_target_macros_internal): Define __APX_INLINE_ASM_USE_GPR32__ for -mapx-inline-asm-use-gpr32. gcc/testsuite/ PR target/114587 * gcc.target/i386/apx-3.c: Likewise. --- gcc/config/i386/i386-c.cc | 2 ++ gcc/testsuite/gcc.target/i386/apx-3.c | 6 ++++++ 2 files changed, 8 insertions(+) create mode 100644 gcc/testsuite/gcc.target/i386/apx-3.c diff --git a/gcc/config/i386/i386-c.cc b/gcc/config/i386/i386-c.cc index 226d277676c..07f4936ba91 100644 --- a/gcc/config/i386/i386-c.cc +++ b/gcc/config/i386/i386-c.cc @@ -751,6 +751,8 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag, def_or_undef (parse_in, "__AVX10_1_512__"); if (isa_flag2 & OPTION_MASK_ISA2_APX_F) def_or_undef (parse_in, "__APX_F__"); + if (ix86_apx_inline_asm_use_gpr32) + def_or_undef (parse_in, "__APX_INLINE_ASM_USE_GPR32__"); if (TARGET_IAMCU) { def_or_undef (parse_in, "__iamcu"); diff --git a/gcc/testsuite/gcc.target/i386/apx-3.c b/gcc/testsuite/gcc.target/i386/apx-3.c new file mode 100644 index 00000000000..1ba4ac036fc --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/apx-3.c @@ -0,0 +1,6 @@ +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-options "-mapx-inline-asm-use-gpr32" } */ + +#ifndef __APX_INLINE_ASM_USE_GPR32__ +# error __APX_INLINE_ASM_USE_GPR32__ not defined +#endif