From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1130) id 52A693858421; Thu, 8 Sep 2022 15:18:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 52A693858421 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1662650322; bh=GYAgI4q/sTvOqC6V9kqtijccUwgS36hLez1GkYh5ghk=; h=From:To:Subject:Date:From; b=DgRSLvAD5F7ipSOptS4e0+nsjWltOvA5QeyI8feIFpzCanHp4I2RL3WhkwSB9FOvE 0B2UktRLQF5+Kylgp4YxrXsj0Mv3DvCCnc/YZz07Gsf0RqvnGGt2Upq65sEGMRETXm NDBW6GD2ZhVl36JIYLsNibP/kwdcn6DypBGsYlYc= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Richard Sandiford To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-2544] vect: Fix scalar stmt typo in vect_optimize_slp_pass [PR106886] X-Act-Checkin: gcc X-Git-Author: Richard Sandiford X-Git-Refname: refs/heads/trunk X-Git-Oldrev: 0697bd070c4fffb33468976c93baff9493922fb3 X-Git-Newrev: 338a5b0d7da84ef1f6c01dd96abf2c6bc830f403 Message-Id: <20220908151842.52A693858421@sourceware.org> Date: Thu, 8 Sep 2022 15:18:42 +0000 (GMT) List-Id: https://gcc.gnu.org/g:338a5b0d7da84ef1f6c01dd96abf2c6bc830f403 commit r13-2544-g338a5b0d7da84ef1f6c01dd96abf2c6bc830f403 Author: Richard Sandiford Date: Thu Sep 8 16:18:28 2022 +0100 vect: Fix scalar stmt typo in vect_optimize_slp_pass [PR106886] Fix a stupid typo in my vect_optimize_slp_pass patch. gcc/ PR tree-optimization/106886 * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout): Fix copying of scalar stmts. gcc/testsuite/ PR tree-optimization/106886 * gcc.dg/vect/bb-slp-layout-21.c: New test. Diff: --- gcc/testsuite/gcc.dg/vect/bb-slp-layout-21.c | 23 +++++++++++++++++++++++ gcc/tree-vect-slp.cc | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-21.c b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-21.c new file mode 100644 index 00000000000..c851d58c97a --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-21.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=bdver2" { target x86_64-*-* i?86-*-* } } */ + +int rl2GeomExport64_little_endian, rl2GeomExport64_little_endian_arch; +void rl2GeomExport64(unsigned char *p, double value) { + union { + unsigned char byte[8]; + double double_value; + } convert; + convert.double_value = value; + if (rl2GeomExport64_little_endian_arch) + if (rl2GeomExport64_little_endian) { + *(p + 7) = convert.byte[0]; + *(p + 6) = convert.byte[1]; + *(p + 5) = convert.byte[2]; + *(p + 4) = convert.byte[3]; + *(p + 3) = convert.byte[4]; + *(p + 2) = convert.byte[5]; + *(p + 1) = convert.byte[6]; + *p = convert.byte[7]; + } else + *p = convert.byte[7]; +} diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc index 3fa2dc96dda..ca3422c2a1e 100644 --- a/gcc/tree-vect-slp.cc +++ b/gcc/tree-vect-slp.cc @@ -5212,7 +5212,7 @@ vect_optimize_slp_pass::get_result_with_layout (slp_tree node, if (SLP_TREE_SCALAR_STMTS (node).length ()) { auto &stmts = SLP_TREE_SCALAR_STMTS (result); - stmts.safe_splice (SLP_TREE_SCALAR_STMTS (result)); + stmts.safe_splice (SLP_TREE_SCALAR_STMTS (node)); if (from_layout_i != 0) vect_slp_permute (m_perms[from_layout_i], stmts, false); if (to_layout_i != 0)