From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26943 invoked by alias); 10 Nov 2012 09:22:21 -0000 Received: (qmail 26885 invoked by uid 48); 10 Nov 2012 09:22:06 -0000 From: "ubizjak at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/55247] [4.8 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90) Date: Sat, 10 Nov 2012 09:22:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ubizjak at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-11/txt/msg00900.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55247 --- Comment #8 from Uros Bizjak 2012-11-10 09:22:03 UTC --- (In reply to comment #3) > There are 2 issues here: > > 1. Should we use > > movdqu (%eax), %xmm0 # 19 *movti_internal_rex64/4 [length = 5] > movdqa %xmm0, (%rsp) # 29 *movti_internal_rex64/5 [length = 5] > > to copy 16 bytes? Yes, and this is the intention of all these "!" marks. > 2. Should we split *movti_internal_rex64 if -mno-sse is used? Movti is used for TARGET_64BIT only. Please keep in mind that *_doubleword instructions operate on TImode values, so we rely completely on register allocator to NOT allocate XMM register moves in this case. According to the documentation, "!" means that alternative is OK if no reloading is needed, so this fits our purpose to use SSE moves unless we move value directly to TImode arithmetic operation (*_doubleword patterns).