From patchwork Wed Feb 5 21:29:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Meissner X-Patchwork-Id: 1234026 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-518986-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha1 header.s=default header.b=EKwN1jFU; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48CZTZ1VSbz9sRK for ; Thu, 6 Feb 2020 08:29:53 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; q=dns; s= default; b=E8ZM4GSj0qnCOj5zx3earE9YA5nmSSE6MAMGj0bETjpR8/v4a7vRo fKbDjNlAbDczBnvA9E6kvIFe2pR65ITZa4lQgxHty81QmhdtTFN+jCThEehURBZ5 0hdJLIvouOBehxM9KXJIBz9cQBVf257kIVx+hPmRaDep33BstF+PMM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; s= default; bh=+MdECHS6VWrm7tv60NJkREFKNwI=; b=EKwN1jFUK5pD7GHXB6j4 96hEATcdodyM4loCMbhpsZkkEy2SrGuyCcnkZoMDb4tG92oyZOFofwvaL0ZkLp5/ ODd592323N+uHWYduMOtFJGWkSMGerTIceP5+RhTPrQbD8PTH3BH/zu3anS42vf1 Hyn52YhpieawXYv7+VTC/wU= Received: (qmail 124861 invoked by alias); 5 Feb 2020 21:29:46 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 124853 invoked by uid 89); 5 Feb 2020 21:29:46 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-11.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0a-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.156.1) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 05 Feb 2020 21:29:45 +0000 Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 015LFE8I052297; Wed, 5 Feb 2020 16:29:43 -0500 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 2xyhn4qnpw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 05 Feb 2020 16:29:43 -0500 Received: from m0098396.ppops.net (m0098396.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 015LIO6P087568; Wed, 5 Feb 2020 16:29:43 -0500 Received: from ppma04dal.us.ibm.com (7a.29.35a9.ip4.static.sl-reverse.com [169.53.41.122]) by mx0a-001b2d01.pphosted.com with ESMTP id 2xyhn4qnpm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 05 Feb 2020 16:29:43 -0500 Received: from pps.filterd (ppma04dal.us.ibm.com [127.0.0.1]) by ppma04dal.us.ibm.com (8.16.0.27/8.16.0.27) with SMTP id 015LAAOV016924; Wed, 5 Feb 2020 21:29:42 GMT Received: from b03cxnp07029.gho.boulder.ibm.com (b03cxnp07029.gho.boulder.ibm.com [9.17.130.16]) by ppma04dal.us.ibm.com with ESMTP id 2xykc9hsah-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 05 Feb 2020 21:29:42 +0000 Received: from b03ledav005.gho.boulder.ibm.com (b03ledav005.gho.boulder.ibm.com [9.17.130.236]) by b03cxnp07029.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 015LTeNV58786140 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 5 Feb 2020 21:29:41 GMT Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DB5F2BE051; Wed, 5 Feb 2020 21:29:40 +0000 (GMT) Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7BD84BE053; Wed, 5 Feb 2020 21:29:40 +0000 (GMT) Received: from ibm-toto.the-meissners.org (unknown [9.32.77.177]) by b03ledav005.gho.boulder.ibm.com (Postfix) with ESMTPS; Wed, 5 Feb 2020 21:29:40 +0000 (GMT) Date: Wed, 5 Feb 2020 16:29:38 -0500 From: Michael Meissner To: gcc-patches@gcc.gnu.org, Segher Boessenkool , David Edelsohn , Michael Meissner Subject: [PATCH] Fix PR 93568 on PowerPC (vector extract failures) Message-ID: <20200205212938.GA6865@ibm-toto.the-meissners.org> Mail-Followup-To: Michael Meissner , gcc-patches@gcc.gnu.org, Segher Boessenkool , David Edelsohn MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) When I submitted my recent patches, in updating one of the patches, I made a thinko that resulted in a lot of failures on big endian systems (but not as many on the little endian systems). I have done bootstraps on both big endian and little endian systems. Can I check in this patch? On a big endian power8 system, the following tests now pass: gcc.target/powerpc/pr87532-mc.c gcc.target/powerpc/pr89765-mc.c gcc.target/powerpc/vec-extract-3.c gcc.target/powerpc/vec-extract-5.c gcc.target/powerpc/vec-extract-6.c gcc.target/powerpc/vec-extract-7.c gcc.target/powerpc/vec-extract-8.c gcc.target/powerpc/vec-extract-9.c gcc.target/powerpc/vec-extract-v16qi-df.c gcc.target/powerpc/vec-extract-v16qi.c gcc.target/powerpc/vec-extract-v16qiu-df.c gcc.target/powerpc/vec-extract-v16qiu.c gcc.target/powerpc/vec-extract-v2df.c gcc.target/powerpc/vec-extract-v2di.c gcc.target/powerpc/vec-extract-v4sf.c gcc.target/powerpc/vec-extract-v4si-df.c gcc.target/powerpc/vec-extract-v4si.c gcc.target/powerpc/vec-extract-v4siu-df.c gcc.target/powerpc/vec-extract-v4siu.c gcc.target/powerpc/vec-extract-v8hi-df.c gcc.target/powerpc/vec-extract-v8hi.c gcc.target/powerpc/vec-extract-v8hiu-df.c gcc.target/powerpc/vec-extract-v8hiu.c gcc.target/powerpc/vsx-builtin-10b.c gcc.target/powerpc/vsx-builtin-11b.c gcc.target/powerpc/vsx-builtin-12b.c gcc.target/powerpc/vsx-builtin-14b.c gcc.target/powerpc/vsx-builtin-15b.c gcc.target/powerpc/vsx-builtin-16b.c gcc.target/powerpc/vsx-builtin-17b.c gcc.target/powerpc/vsx-builtin-18b.c gcc.target/powerpc/vsx-builtin-19b.c gcc.target/powerpc/vsx-builtin-9b.c On a little endian power8 system, the following tests now pass: gcc.target/powerpc/pr87532-mc.c gcc.target/powerpc/pr89765-mc.c gcc.target/powerpc/vec-extract-v2di.c gcc.target/powerpc/vsx-builtin-12b.c gcc.target/powerpc/vsx-builtin-19b.c 2020-02-05 Michael Meissner PR target/93568 * config/rs6000/rs6000.c (get_vector_offset): Fix --- /tmp/a8cqkr_rs6000.c 2020-02-05 14:55:36.255021903 -0600 +++ gcc/config/rs6000/rs6000.c 2020-02-05 13:27:00.393877012 -0600 @@ -6744,8 +6744,7 @@ get_vector_offset (rtx mem, rtx element, /* All insns should use the 'Q' constraint (address is a single register) if the element number is not a constant. */ - rtx addr = XEXP (mem, 0); - gcc_assert (satisfies_constraint_Q (addr)); + gcc_assert (satisfies_constraint_Q (mem)); /* Mask the element to make sure the element number is between 0 and the maximum number of elements - 1 so that we don't generate an address