From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10120 invoked by alias); 30 Jun 2010 18:15:31 -0000 Received: (qmail 9942 invoked by uid 48); 30 Jun 2010 18:15:13 -0000 Date: Wed, 30 Jun 2010 18:15:00 -0000 Message-ID: <20100630181513.9941.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug rtl-optimization/44695] [4.6 Regression] ice in simplify_subreg, at simplify-rtx.c:5117 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "hjl dot tools at gmail dot com" 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: 2010-06/txt/msg02961.txt.bz2 ------- Comment #6 from hjl dot tools at gmail dot com 2010-06-30 18:15 ------- Created an attachment (id=21045) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21045&action=view) A patch Using (set (match_operand:HI "register_operand" "=a") (ior:HI (ashift:HI (zero_extend:HI (umod:QI (match_operand:QI "register_operand" "0") (match_operand:QI "register_operand" "q"))) (const_int 8 [0x8])) (zero_extend:HI (udiv:QI (match_dup 1) (match_dup 2)))) before reload and split to (set (match_dup 0) (ior:HI (ashift:HI (umod:HI (match_dup 0) (zero_extend:HI (match_dup 2))) (const_int 8 [0x8])) (udiv:HI (match_dup 0) (zero_extend:HI (match_dup 2)))) will generate extra QI->HI extend during split. This patch uses subreg instead. Does it look OK? -- hjl dot tools at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #21033|0 |1 is obsolete| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44695