From patchwork Wed Aug 27 12:22:25 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kirill Yukhin X-Patchwork-Id: 383438 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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 30BF5140093 for ; Wed, 27 Aug 2014 22:23:06 +1000 (EST) 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:cc:subject:message-id:mime-version:content-type; q=dns; s=default; b=aWmLHDHmtpr6+1ByK+ToRSG0MNGuDOIq3b+SbbsCnW9hnaY0L5 0iTWBmpsRQAIRGSiyNFjGyY9j38G+wJXd1wYPa1rfjWkcMHtEAxXozwQtIaJBdYv 3egwdQrYAw1E7E//WkJk6+WJuDkl2+8+kWQAadEfc+3ygkBZLPTJMm/z4= 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:cc:subject:message-id:mime-version:content-type; s= default; bh=Z292sH5sf+q2ePi4rOB2X/Yw1oY=; b=pJevLE5ZUZoxuiOUaI4M gvaB/07LL8/hsDW7UDnOxabg1SeTSJzLhOFVQchqJookj+ajYGkMl82Z5n2AP2DM l7VInsoicyX3Kaa4De44lfuOuWOlAuTX0Xrj6SwP8SGRaBraH4e+ChGrB0ZJ3tdX gll/n5wgKpIsvjk0b45I7SQ= Received: (qmail 32764 invoked by alias); 27 Aug 2014 12:22:45 -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 32753 invoked by uid 89); 27 Aug 2014 12:22:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-we0-f175.google.com Received: from mail-we0-f175.google.com (HELO mail-we0-f175.google.com) (74.125.82.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 27 Aug 2014 12:22:44 +0000 Received: by mail-we0-f175.google.com with SMTP id t60so131756wes.20 for ; Wed, 27 Aug 2014 05:22:37 -0700 (PDT) X-Received: by 10.194.61.99 with SMTP id o3mr2942223wjr.103.1409142157959; Wed, 27 Aug 2014 05:22:37 -0700 (PDT) Received: from msticlxl57.ims.intel.com (jfdmzpr02-ext.jf.intel.com. [134.134.137.71]) by mx.google.com with ESMTPSA id lq8sm574556wjb.49.2014.08.27.05.22.34 for (version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 27 Aug 2014 05:22:37 -0700 (PDT) Date: Wed, 27 Aug 2014 16:22:25 +0400 From: Kirill Yukhin To: Uros Bizjak Cc: Jakub Jelinek , Richard Henderson , GCC Patches , kirill.yukhin@gmail.com Subject: [PATCH i386 AVX512] [25/n] Add vps[rl]ldq insn patterns. Message-ID: <20140827122223.GC7762@msticlxl57.ims.intel.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes Hello, Proposed patch adds patterns for vps[rl]ldq insns Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_iterator VIMAX_AVX2): Add V4TI mode. (define_insn "_ashl3"): Add EVEX version. (define_insn "_lshr3"): Ditto. --- Thanks, K diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 6c99d84..a208400 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -331,7 +331,7 @@ ;; ??? We should probably use TImode instead. (define_mode_iterator VIMAX_AVX2 - [(V2TI "TARGET_AVX2") V1TI]) + [(V4TI "TARGET_AVX512BW") (V2TI "TARGET_AVX2") V1TI]) ;; ??? This should probably be dropped in favor of VIMAX_AVX2. (define_mode_iterator SSESCALARMODE @@ -8819,9 +8819,9 @@ }) (define_insn "_ashl3" - [(set (match_operand:VIMAX_AVX2 0 "register_operand" "=x,x") + [(set (match_operand:VIMAX_AVX2 0 "register_operand" "=x,v") (ashift:VIMAX_AVX2 - (match_operand:VIMAX_AVX2 1 "register_operand" "0,x") + (match_operand:VIMAX_AVX2 1 "register_operand" "0,v") (match_operand:SI 2 "const_0_to_255_mul_8_operand" "n,n")))] "TARGET_SSE2" { @@ -8858,9 +8858,9 @@ }) (define_insn "_lshr3" - [(set (match_operand:VIMAX_AVX2 0 "register_operand" "=x,x") + [(set (match_operand:VIMAX_AVX2 0 "register_operand" "=x,v") (lshiftrt:VIMAX_AVX2 - (match_operand:VIMAX_AVX2 1 "register_operand" "0,x") + (match_operand:VIMAX_AVX2 1 "register_operand" "0,v") (match_operand:SI 2 "const_0_to_255_mul_8_operand" "n,n")))] "TARGET_SSE2" {