From patchwork Fri Jun 3 23:52:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noah Goldstein X-Patchwork-Id: 54804 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 A6CCF382C169 for ; Fri, 3 Jun 2022 23:56:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A6CCF382C169 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1654300612; bh=yrpCZc8SkRUhWvvpS4zNcFyNGfFk0HWKFbgukid976M=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=wBiPORrYLpKU7P6iEOJBYuwXJFAihU6fGS0mxyXtr05Fp92ejS8hIBSgvCNyFRHWw e3P70/gYNmk2JXl/7mfY/zTZ6BanwgsGJgHC1YnpDhbeKjA2/ooCra1vyzVvyG7FPY WRInCKyHDOSGEAK+o/vT7M9vN9gG+fI6RzxgI9qg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.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 45DDD382C164 for ; Fri, 3 Jun 2022 23:52:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 45DDD382C164 Received: by mail-pl1-x62f.google.com with SMTP id n18so7851483plg.5 for ; Fri, 03 Jun 2022 16:52:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=yrpCZc8SkRUhWvvpS4zNcFyNGfFk0HWKFbgukid976M=; b=wcRpDfVegnOnCsEOGpsgwTZMhsWq5y5ckhn0A+UA+ZY/ZZPEIRi9ym/rXGR5RLMIne D1UcXUu5GCkShwUKAX+IEeRuS1zOQXf1SrAhjX9KKCgEZ7zDGNXi1bPZiA6WZPkO75tD PoBNqJND0GugOrXmmD1oLOT59LrTWMi6rCVfKcPObNAAWyK+ljYgw3leV7k6SONrfwFG TOTuO4YeMycuzMmGkJbkIKLrjzFP+yoltRW7xd4onSJLwmAFnXe1rDcdUurVrFKfp+k3 KvsmKcnWcVDXCBDfGC+ug+l8hpyhpf3VBnywlKUUyi6xLdegofjIFcFyuLsGTsEzTb+j dt0g== X-Gm-Message-State: AOAM530g+4uuwqVCSlmXzeWpacOjMjrYXAuU44nu/IA/aa2kSmJAmv68 2kgtxXKjp4tWNWq8uEPtkvXGuA0UUQs= X-Google-Smtp-Source: ABdhPJxj+z6XKPhyTmgnDJ+i5C1ZSXdotyzr2vudJqh/7bfyI1TcAX2soq52VkqD/rW+D+5EAjOMxQ== X-Received: by 2002:a17:902:ed82:b0:158:fef8:b501 with SMTP id e2-20020a170902ed8200b00158fef8b501mr12086034plj.47.1654300364276; Fri, 03 Jun 2022 16:52:44 -0700 (PDT) Received: from noah-tgl.. ([2600:1010:b05f:9399:6bc8:2ae5:27ff:d9b0]) by smtp.gmail.com with ESMTPSA id 123-20020a621881000000b00518c8397e7esm5962602pfy.211.2022.06.03.16.52.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Jun 2022 16:52:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH v1] x86: ZERO_UPPER_VEC_REGISTERS_RETURN_XTEST expect no transactions Date: Fri, 3 Jun 2022 18:52:37 -0500 Message-Id: <20220603235237.398668-1-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Noah Goldstein via Libc-alpha From: Noah Goldstein Reply-To: Noah Goldstein Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Give fall-through path to `vzeroupper` and taken-path to `vzeroall`. Generally even on machines with RTM the expectation is the string-library functions will not be called in transactions. --- sysdeps/x86_64/sysdep.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h index 2cb31a558b..7e0f90cea4 100644 --- a/sysdeps/x86_64/sysdep.h +++ b/sysdeps/x86_64/sysdep.h @@ -99,11 +99,11 @@ lose: \ to avoid RTM abort triggered by VZEROUPPER inside transactionally. */ #define ZERO_UPPER_VEC_REGISTERS_RETURN_XTEST \ xtest; \ - jz 1f; \ - vzeroall; \ + jnz 1f; \ + vzeroupper; \ ret; \ 1: \ - vzeroupper; \ + vzeroall; \ ret /* Can be used to replace vzeroupper that is not directly before a