From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2a07:de40:b251:101:10:150:64:2]) by sourceware.org (Postfix) with ESMTPS id 11ED63806BE4 for ; Wed, 5 Jun 2024 06:22:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 11ED63806BE4 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 11ED63806BE4 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a07:de40:b251:101:10:150:64:2 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1717568573; cv=none; b=g7HuglPnA0kR7LvXA9fqBQ3VgQxYNyvBLd3pdRigodtdg6FeyYO7MpfpKP/qrJWTMaTQCBDObayNDAnqRHPhEas/0+/gM5PQWAuz4l1BSbEEO4c7Dwqcieh4DOBULj2xMvJst9mmoMaOIQG35MMNq3BfBxUoZeUNECX3mnpb9/4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1717568573; c=relaxed/simple; bh=SWWTkMa2pSNf7Wa9BuwX5dWbSH5D81OBEUzLwQU/FMI=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:Date: From:To:Subject:MIME-Version; b=tMkqoT157u9Bjb75FBuX2qQNRj4goAeWaHj0FfAUcqDSgrE7d6/sAeZDFbzXvc+p8rXkgylkXEDA57ZceK7bjuo7DBHuH822qZR12BwXVG4HzOQ3Z/vp37fGQQJJGbdWf3XANgTMAf3ZdnbAr0wufX+00D7/T/88yAf3TN+oxNY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from murzim.nue2.suse.org (unknown [10.168.4.243]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 7A32C1F7BA for ; Wed, 5 Jun 2024 06:22:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1717568569; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=fQYMrCXQU3pl9ChzSfCJJpvIO3Uzviv+pcgNi7j9BP0=; b=KcueHOaorUEs7gbLW/biBl78aPflZUHdNu0sT2KFvB9+ogR5YnQc+GNNLaj+d+npnH/fCB 5ApsPQb1IXewlMFREe3e7uRj3H/10+gfqG0n1iTX/2d0X60D1Z6bXq6t+LE7mEoGiTQcNs EAHisBbO3gHuauh/HY3ENCi85d8YsbU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1717568569; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=fQYMrCXQU3pl9ChzSfCJJpvIO3Uzviv+pcgNi7j9BP0=; b=Pa19foLtBOWvdVGY3kBc/K1X2CHN2577PAAWoK4O07M2j/rX2x2Sj4U2CftK+LqS1VRCsJ CRbiQq4n3mymPJCQ== Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1717568569; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=fQYMrCXQU3pl9ChzSfCJJpvIO3Uzviv+pcgNi7j9BP0=; b=KcueHOaorUEs7gbLW/biBl78aPflZUHdNu0sT2KFvB9+ogR5YnQc+GNNLaj+d+npnH/fCB 5ApsPQb1IXewlMFREe3e7uRj3H/10+gfqG0n1iTX/2d0X60D1Z6bXq6t+LE7mEoGiTQcNs EAHisBbO3gHuauh/HY3ENCi85d8YsbU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1717568569; h=from:from:reply-to:date:date:to:to:cc:mime-version:mime-version: content-type:content-type; bh=fQYMrCXQU3pl9ChzSfCJJpvIO3Uzviv+pcgNi7j9BP0=; b=Pa19foLtBOWvdVGY3kBc/K1X2CHN2577PAAWoK4O07M2j/rX2x2Sj4U2CftK+LqS1VRCsJ CRbiQq4n3mymPJCQ== Date: Wed, 5 Jun 2024 08:22:45 +0200 (CEST) From: Richard Biener To: gcc-patches@gcc.gnu.org Subject: [PATCH 1/4] Relax COND_EXPR reduction vectorization SLP restriction MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Score: 0.74 X-Spam-Level: X-Spamd-Result: default: False [0.74 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MISSING_MID(2.50)[]; NEURAL_SPAM_SHORT(2.19)[0.730]; NEURAL_HAM_LONG(-0.85)[-0.850]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; MISSING_XM_UA(0.00)[]; RCVD_COUNT_ZERO(0.00)[0]; FROM_HAS_DN(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FROM_EQ_ENVFROM(0.00)[]; TO_DN_NONE(0.00)[]; MIME_TRACE(0.00)[0:+] X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,MISSING_MID,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 List-Id: Message-ID: <20240605062245.Q4VoobGOgcwC0O6d9W-yUU0u5yg-aSzT6T2HH-UUgNA@z> Allow one-lane SLP but for the case where we need to swap the arms. * tree-vect-stmts.cc (vectorizable_condition): Allow single-lane SLP, but not when we need to swap then and else clause. --- gcc/tree-vect-stmts.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index b26cc74f417..c82381e799e 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -12116,7 +12116,7 @@ vectorizable_condition (vec_info *vinfo, = STMT_VINFO_REDUC_DEF (vect_orig_stmt (stmt_info)) != NULL; if (for_reduction) { - if (slp_node) + if (slp_node && SLP_TREE_LANES (slp_node) > 1) return false; reduc_info = info_for_reduction (vinfo, stmt_info); reduction_type = STMT_VINFO_REDUC_TYPE (reduc_info); @@ -12205,6 +12205,10 @@ vectorizable_condition (vec_info *vinfo, cond_expr = NULL_TREE; } } + /* ??? The vectorized operand query below doesn't allow swapping + this way for SLP. */ + if (slp_node) + return false; std::swap (then_clause, else_clause); } -- 2.35.3