From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 55437 invoked by alias); 5 Mar 2020 23:43:50 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 55429 invoked by uid 89); 5 Mar 2020 23:43:49 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=HX-Languages-Length:1984 X-HELO: us-smtp-delivery-1.mimecast.com Received: from us-smtp-2.mimecast.com (HELO us-smtp-delivery-1.mimecast.com) (205.139.110.61) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 05 Mar 2020 23:43:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1583451826; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=85U+RnsGKcRsBMr0bYjb0dZHMYXSjgTiGXkpGHTmwmM=; b=BHd8dDYiVpGj/4ZbJ1S+DReO2OOPgDr8kUywrnrUJtE/x0DZ8yrPYNpRKTdQ13YMx9BUmQ b+B+RHr7XTq6ITFNZa0VJlJka+aCJmpb1rkvHQxzv3yNsZqNV2pPSVdkWf0CdzVbzjnAwN Zoy4UVngR/iY+dNwBz9bPoj5gJPq0r0= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-232-p_cZr6IrNSCaFxfv9_bQ_g-1; Thu, 05 Mar 2020 18:43:42 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3899F1922960; Thu, 5 Mar 2020 23:43:41 +0000 (UTC) Received: from ovpn-116-163.phx2.redhat.com (ovpn-116-163.phx2.redhat.com [10.3.116.163]) by smtp.corp.redhat.com (Postfix) with ESMTP id 624178D57C; Thu, 5 Mar 2020 23:43:40 +0000 (UTC) Message-ID: <4943ee7ca95129cc79f6a3b47c975bacc082fa1a.camel@redhat.com> Subject: Re: [PATCH 01/10] i386: Properly encode vector registers in vector move From: Jeff Law Reply-To: law@redhat.com To: "H.J. Lu" Cc: GCC Patches , Jakub Jelinek , Jan Hubicka , Uros Bizjak Date: Thu, 05 Mar 2020 23:43:00 -0000 In-Reply-To: References: <20200215152628.32068-1-hjl.tools@gmail.com> <20200215152628.32068-2-hjl.tools@gmail.com> User-Agent: Evolution 3.34.4 (3.34.4-1.fc31) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2020-03/txt/msg00327.txt On Fri, 2020-02-28 at 18:15 -0800, H.J. Lu wrote: > On Fri, Feb 28, 2020 at 4:16 PM Jeff Law wrote: > > On Thu, 2020-02-27 at 06:50 -0800, H.J. Lu wrote: > > > How about this? If it looks OK, I will post the whole patch set. > > It's better. I'm guessing the two cases that were previously handled with > > vextract/vbroadcast aren't supposed to happen? They're caught here IIUC: > > > > > + /* NB: To move xmm16-xmm31/ymm16-ymm31 registers without AVX512VL, > > > + we can only use zmm register move without memory operand. */ > > > + if (evex_reg_p > > > + && !TARGET_AVX512VL > > > + && GET_MODE_SIZE (mode) < 64) > > > + { > > > + if (memory_operand (operands[0], mode) > > > + || memory_operand (operands[1], mode)) > > > + gcc_unreachable (); > > > > > > > If they truly can't happen, that's fine. My worry is I don't see changes to > > the operand predicates or constraints which would avoid this case. Is it > > prevented by the mode iterator on the operands? Again, just want to make > > sure > > I understand why the vextract/vbroadcast stuff isn't in the new code. > > There are no GCC testcases to show that they are actually ever used. That is > why I removed them and added gcc_unreachable (). Understood. > > 4 patches don't require changes in ix86_output_ssemov/ix86_get_ssemov: > > https://gitlab.com/x86-gcc/gcc/-/commit/426f2464abb80b97b8533f9efa15bbe72e6aa888 > https://gitlab.com/x86-gcc/gcc/-/commit/ec5b40d77f7a4424935275f1a7ccedbce83b6f54 > https://gitlab.com/x86-gcc/gcc/-/commit/92fdd98234984f86b66fb5403dd828661cd7999f > https://gitlab.com/x86-gcc/gcc/-/commit/f8fa5e571caf6740b36d042d631b4ace11683cd7 > > I can combine them into a single patch. That sounds reasonable -- it should be trivial to review. Then we can work through the patches that require changes to ix86_output_ssemov. Thanks for your patience. I'm juggling a fair amount of stuff right now. jeff