From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by sourceware.org (Postfix) with ESMTPS id 9F2B03858428 for ; Mon, 17 Apr 2023 16:39:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9F2B03858428 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivosinc.com Received: by mail-pl1-x636.google.com with SMTP id l21so8374084pla.5 for ; Mon, 17 Apr 2023 09:39:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1681749593; x=1684341593; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4NZRdtcV1pViC7rMSpwzycvDnZswPItAC+QT1BztVXE=; b=JCe1VXT6KgtVgAsq0UfWpgyfDpyL8BmOIEXzZUDINZy8JxSauv15ePDD0x2gIBqrFm C/wtyrNj2SpQwDJ+U/ZAK/QXhKUO0YQdQ4rj+QiJfg9T2isdyleRSRUGYJQruXGnniHW Uf/H1XVPNebgwvTERAbEccDgAHDjgsHTpUMFGIBddwfImfP9TGmFb3ClO8e+zQOjLHpD mMJZhXAEgybU5aohSeQ58tv3KpBIp8GjpTprD5feYRjeSIANmTmGeKo4bXjL/UdyyJSM tdxjqoJIl4M8dHIgw9M0pKHBHq8tzjiqSXP6lm2cpv2WXbXh7mEDH1ylU0HN0L9iKJ4R +50Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681749593; x=1684341593; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4NZRdtcV1pViC7rMSpwzycvDnZswPItAC+QT1BztVXE=; b=MsfTGqcXg+Bcm2ia/JJ7019kJWEds7aHoGi1kpavIWml4NvPETd4wQ+VJ1HoZ5Pb4f QGXl1xxAK+b5nE0qe+PY7wkLjV3X9yDmQBim7pRL1VjKhHWnCtM+mmn831EwjSfSOyE9 ljQhn/D+7hU0Bf+nV3zX407HlQKdfvQwYcxx//s2NegGAE/w7qJwmE68i77VPWDwkZhY N4MLdJBDJuusxnapifFRuVDWsC72OjDyZjtloSWAd/myVt/t/bFkSAqOlumndVR5Iy3x 4yFyYAfvYQh9F/V1P4HCqigEZ6uUz8B8r7Txg0bPKELE0glUvwDi0lLOV74Qdl+iI4EF 7Uww== X-Gm-Message-State: AAQBX9d4HBg+LF4OxK4Ipskak5jRRgp4XnhJ1eUwrI2kPMhklJ8Uswy0 qRtd913iypt6qYotvStUDHQ9c/vfpNRbBeKm5ps= X-Google-Smtp-Source: AKy350aiQ9y6YIdGHNObVrsnzM+VCKkEXe+C67NI2w2ls1BndyCrAV/mN+AZV8gwuQ8XlkiWGgabag== X-Received: by 2002:a17:902:d50f:b0:1a1:cefd:aa1f with SMTP id b15-20020a170902d50f00b001a1cefdaa1fmr14271711plg.52.1681749593422; Mon, 17 Apr 2023 09:39:53 -0700 (PDT) Received: from kevinl.ba.rivosinc.com ([66.220.2.162]) by smtp.gmail.com with ESMTPSA id d22-20020a170902b71600b001a67759f9f8sm1637577pls.106.2023.04.17.09.39.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Apr 2023 09:39:52 -0700 (PDT) From: Kevin Lee To: gcc-patches@gcc.gnu.org Cc: Kevin Lee Subject: [PATCH v3] vect: Verify that GET_MODE_UNITS is greater than one for vect_grouped_store_supported Date: Mon, 17 Apr 2023 09:38:56 -0700 Message-Id: <20230417163856.2253309-1-kevinl@rivosinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,KAM_SHORT,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 List-Id: This patch properly guards gcc_assert (multiple_p (m_full_nelts, m_npatterns)) in vec_perm_indices indices (sel, 2, nelt) for VNx1 vectors. Based on the feedback from Richard Biener and Richard Sandiford, multiple_p has been used instead of maybe_lt to compare nelt with the minimum size 2. Bootstrap and testing done on x86_64-pc-linux-gnu. Would this be ok for trunk? Patch V1: https://gcc.gnu.org/pipermail/gcc-patches/2023-March/614463.html Patch V2: https://gcc.gnu.org/pipermail/gcc-patches/2023-March/614700.html Kevin Lee gcc/ChangeLog: * tree-vect-data-refs.cc (vect_grouped_store_supported): Add new condition --- gcc/tree-vect-data-refs.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc index 8daf7bd7dd3..df393ba723d 100644 --- a/gcc/tree-vect-data-refs.cc +++ b/gcc/tree-vect-data-refs.cc @@ -5399,6 +5399,8 @@ vect_grouped_store_supported (tree vectype, unsigned HOST_WIDE_INT count) poly_uint64 nelt = GET_MODE_NUNITS (mode); /* The encoding has 2 interleaved stepped patterns. */ + if(!multiple_p (nelt, 2)) + return false; vec_perm_builder sel (nelt, 2, 3); sel.quick_grow (6); for (i = 0; i < 3; i++) -- 2.25.1