From patchwork Mon Jun 25 20:39:56 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 167235 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]) by ozlabs.org (Postfix) with SMTP id E853EB6FB7 for ; Tue, 26 Jun 2012 06:40:48 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1341261649; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Received:From:To:Subject:Date:Message-Id:In-Reply-To:References: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=AuihlY99dYEAdLSt9GH0 y5XFCuk=; b=YPqswcSdezn1NvOiWBCr8eBunh6Sg145XzwlyrqkfYBJuywTJ2LT jXzyJQAwBChlJXB+Itm71fZ0CVA2e4ef364G1C6wkPNlxAJ6T9O8doEgsCbfGjy6 ogngf2aEKEp/K9beEreFwWkZwAhN1YCT81RqsejT5nQgztEPVJMvG+k= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Received:From:To:Subject:Date:Message-Id:In-Reply-To:References:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=TDCkEU5ACNuNdKgiRB7hsRXpEQZ+yoceJ1cyYQp9xcnb7YECvS1dXf5SRUz+TH JGyM+fMgE8CnEqmVVOOZc/PHCpKVFfeEtCpDK407GTbwl8eNRCxnXAawTkaqtdRV D3g2+iwWJFBOi0rFbv4G3tAh5E08hXh91Jae3/ehFDRv0=; Received: (qmail 20652 invoked by alias); 25 Jun 2012 20:40:32 -0000 Received: (qmail 20586 invoked by uid 22791); 25 Jun 2012 20:40:31 -0000 X-SWARE-Spam-Status: No, hits=-4.6 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, KHOP_RCVD_TRUST, KHOP_THREADED, RCVD_IN_DNSWL_LOW, RCVD_IN_HOSTKARMA_YE, TW_VP X-Spam-Check-By: sourceware.org Received: from mail-pb0-f47.google.com (HELO mail-pb0-f47.google.com) (209.85.160.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 25 Jun 2012 20:40:09 +0000 Received: by pbbrq2 with SMTP id rq2so7075525pbb.20 for ; Mon, 25 Jun 2012 13:40:08 -0700 (PDT) Received: by 10.68.193.226 with SMTP id hr2mr43367468pbc.155.1340656808746; Mon, 25 Jun 2012 13:40:08 -0700 (PDT) Received: from pebble.twiddle.home.comcast.net (c-98-248-101-18.hsd1.ca.comcast.net. [98.248.101.18]) by mx.google.com with ESMTPS id rs4sm9524396pbc.0.2012.06.25.13.40.07 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 25 Jun 2012 13:40:08 -0700 (PDT) From: Richard Henderson To: gcc-patches@gcc.gnu.org Subject: [PATCH 2/4] i386: Use vpmacsdd for mulv4si3 Date: Mon, 25 Jun 2012 13:39:56 -0700 Message-Id: <1340656798-18033-3-git-send-email-rth@redhat.com> In-Reply-To: <1340656798-18033-1-git-send-email-rth@redhat.com> References: <1340656798-18033-1-git-send-email-rth@redhat.com> X-IsSubscribed: yes 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 --- gcc/ChangeLog | 4 ++++ gcc/config/i386/sse.md | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 12b8de8..b95eab5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2012-06-25 Richard Henderson + * config/i386.sse.md (mul3): Use xop_pmacsdd. + +2012-06-25 Richard Henderson + * config/i386/i386.c (ix86_rtx_costs) [MULT]: Only apply XOP cost to V16QImode. (ix86_expand_vec_interleave): New. diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 4c12581..93cd9d7 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -5564,6 +5564,12 @@ operands[2] = force_const_mem (mode, operands[2]); ix86_fixup_binary_operands_no_copy (MULT, mode, operands); } + else if (TARGET_XOP) + { + rtx z = force_reg (mode, CONST0_RTX (mode)); + emit_insn (gen_xop_pmacsdd (operands[0], operands[1], operands[2], z)); + DONE; + } else { ix86_expand_sse2_mulv4si3 (operands[0], operands[1], operands[2]);