From patchwork Mon Mar 21 13:13:18 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Belevantsev X-Patchwork-Id: 87772 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 97005B6F74 for ; Tue, 22 Mar 2011 00:13:51 +1100 (EST) Received: (qmail 2117 invoked by alias); 21 Mar 2011 13:13:43 -0000 Received: (qmail 2099 invoked by uid 22791); 21 Mar 2011 13:13:40 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL, BAYES_00, TW_BD, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp.ispras.ru (HELO smtp.ispras.ru) (83.149.198.201) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 21 Mar 2011 13:13:30 +0000 Received: from [10.10.3.52] (winnie.ispras.ru [83.149.198.236]) by smtp.ispras.ru (Postfix) with ESMTP id 1842D5D40A2; Mon, 21 Mar 2011 16:00:40 +0300 (MSK) Message-ID: <4D874EEE.9040608@ispras.ru> Date: Mon, 21 Mar 2011 16:13:18 +0300 From: Andrey Belevantsev User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 To: GCC Patches CC: Uros Bizjak , Richard Guenther , Jakub Jelinek Subject: [PATCH] Fix PR 48143 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 Hello, As noted in the PR audit trail, the scheduler crashes for this bug because we see an SSE insn without proper reservation. Uros has pointed several such insns to me. The following patch adding athlon_decode attributes is bootstrapped and tested on x86_64. Uros, you have preapproved the patch idea, but does it still look ok to you? I have mostly copied reservations from bdver1 variants. Richi, Jakub, do you want this in 4.6.1? 4.6.0? Andrey 2011-03-21 Andrey Belevantsev PR rtl-optimization/48143 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute. (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps, sse2_cvtps2pd): Likewise. diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 6200419..a50db12 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -2715,6 +2715,7 @@ (set_attr "prefix" "maybe_vex") (set_attr "mode" "TI") (set_attr "amdfam10_decode" "double") + (set_attr "athlon_decode" "double") (set_attr "bdver1_decode" "double")]) (define_insn "avx_cvttpd2dq256" @@ -2746,6 +2747,7 @@ (set_attr "prefix" "maybe_vex") (set_attr "mode" "TI") (set_attr "amdfam10_decode" "double") + (set_attr "athlon_decode" "double") (set_attr "bdver1_decode" "double")]) (define_insn "*avx_cvtsd2ss" @@ -2806,6 +2808,7 @@ "cvtss2sd\t{%2, %0|%0, %2}" [(set_attr "type" "ssecvt") (set_attr "amdfam10_decode" "vector,double") + (set_attr "athlon_decode" "direct,direct") (set_attr "bdver1_decode" "direct,direct") (set_attr "mode" "DF")]) @@ -2842,6 +2845,7 @@ (set_attr "prefix" "maybe_vex") (set_attr "mode" "V4SF") (set_attr "amdfam10_decode" "double") + (set_attr "athlon_decode" "double") (set_attr "bdver1_decode" "double")]) (define_insn "avx_cvtps2pd256" @@ -2879,6 +2883,7 @@ (set_attr "mode" "V2DF") (set_attr "prefix_data16" "0") (set_attr "amdfam10_decode" "direct") + (set_attr "athlon_decode" "double") (set_attr "bdver1_decode" "double")]) (define_expand "vec_unpacks_hi_v4sf"