From patchwork Mon Feb 7 19:39:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noah Goldstein X-Patchwork-Id: 50885 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 37E593858425 for ; Mon, 7 Feb 2022 19:39:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 37E593858425 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1644262775; bh=4UG2yv1XKyatWY5eSnPzDmaL4Nh61Ak24awNwNIIX1o=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=YPJxny1WB7HnrJCD3S6jGhEu5JAs3wLP1RN4mlyEHOxb+tD0hPC2LGMlNU1uC4boP 3VfH3hYsObf1NpnjZ+ZnJmoAgNbe/cmybpJiU7gIdJEBOb2xbw/0ajbb5QSMgCNkLR 8fWSRRNproXJWbWs2rrR+THYz+uOX0+vU0I9lAsQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-io1-xd31.google.com (mail-io1-xd31.google.com [IPv6:2607:f8b0:4864:20::d31]) by sourceware.org (Postfix) with ESMTPS id 92B573858C83 for ; Mon, 7 Feb 2022 19:39:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 92B573858C83 Received: by mail-io1-xd31.google.com with SMTP id m185so10004386iof.10 for ; Mon, 07 Feb 2022 11:39:14 -0800 (PST) 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=4UG2yv1XKyatWY5eSnPzDmaL4Nh61Ak24awNwNIIX1o=; b=F8UMJPcdQ/Po5VvY2VQaOWKv7jNsM9B2g9mIKyRZqowkTprhmOQUc47lB6cHZg93GB FwSzMMYpCBDDtW6eN/+OE6Jig/Mc/MYudFZp+b9q1s5Q8m0g3HnY2olwGFZvOvrcuE6f 6t+MvgDRjaZnNf39frYCqsOJeQTlQyDnE5smAonund1zFt+KODrUv6TiRwGkpaeULYsf 3xZ/yyFJjdwwOgQIXBouIYrc7D07/FbvI32mfJATVYxmv4vxsWs/ABxvBiShx1sU7cd7 gJayu5oONKTZfcGf2vmEQcqgvPHSOhHVyUJprru209RCt838I4l+85f0f3YyxAhH21kD kPRA== X-Gm-Message-State: AOAM531drnvav4ipo75nUTdTkx3wKvNGHlSyDRaRH9wq72lMa0aFSO0r 2Qk9d64c+3EkrZDS3PwJ8NVmCSfn0RM= X-Google-Smtp-Source: ABdhPJwLE5efGI2RLLd34VeXKHtIYJ1fMhJUko8WK/63oxuruSjhUfoxplNAJNSqOV3M93RPYHPjAw== X-Received: by 2002:a02:7f53:: with SMTP id r80mr566622jac.295.1644262753759; Mon, 07 Feb 2022 11:39:13 -0800 (PST) Received: from localhost.localdomain (node-17-161.flex.volo.net. [76.191.17.161]) by smtp.googlemail.com with ESMTPSA id p5sm6531585iof.50.2022.02.07.11.39.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Feb 2022 11:39:13 -0800 (PST) To: libc-alpha@sourceware.org Subject: [PATCH v2] x86: Remove SSSE3 instruction for broadcast in memset.S (SSE2 Only) Date: Mon, 7 Feb 2022 13:39:06 -0600 Message-Id: <20220207193906.2111349-1-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220207063854.3324172-1-goldstein.w.n@gmail.com> References: <20220207063854.3324172-1-goldstein.w.n@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.7 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.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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" commit b62ace2740a106222e124cc86956448fa07abf4d Author: Noah Goldstein Date: Sun Feb 6 00:54:18 2022 -0600 x86: Improve vec generation in memset-vec-unaligned-erms.S Revert usage of 'pshufb' in broadcast logic as it is an SSSE3 instruction and memset.S is restricted to only SSE2 instructions. Reviewed-by: H.J. Lu --- sysdeps/x86_64/memset.S | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sysdeps/x86_64/memset.S b/sysdeps/x86_64/memset.S index ccf036be53..3f0517bbfc 100644 --- a/sysdeps/x86_64/memset.S +++ b/sysdeps/x86_64/memset.S @@ -30,9 +30,10 @@ # define MEMSET_SET_VEC0_AND_SET_RETURN(d, r) \ movd d, %xmm0; \ - pxor %xmm1, %xmm1; \ - pshufb %xmm1, %xmm0; \ - movq r, %rax + movq r, %rax; \ + punpcklbw %xmm0, %xmm0; \ + punpcklwd %xmm0, %xmm0; \ + pshufd $0, %xmm0, %xmm0 # define WMEMSET_SET_VEC0_AND_SET_RETURN(d, r) \ movd d, %xmm0; \