From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5331 invoked by alias); 6 Sep 2005 00:37:35 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 5311 invoked by uid 48); 6 Sep 2005 00:37:32 -0000 Date: Tue, 06 Sep 2005 00:37:00 -0000 Message-ID: <20050906003732.5310.qmail@sourceware.org> From: "amodra at bigpond dot net dot au" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050414013914.21017.anton@samba.org> References: <20050414013914.21017.anton@samba.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug target/21017] ppc 64bit target not using rlwinm X-Bugzilla-Reason: CC X-SW-Source: 2005-09/txt/msg00605.txt.bz2 List-Id: ------- Additional Comments From amodra at bigpond dot net dot au 2005-09-06 00:37 ------- Yes, we get (ior:SI (lshiftrt:SI (subreg:SI (reg/v:DI 119 [ x ]) 4) (const_int 16 [0x10])) (subreg:SI (ashift:DI (reg/v:DI 119 [ x ]) (const_int 16 [0x10])) 4)) which doesn't match the test in simplify_logical to simplify to a rotate. The second operand of ior has been "simplified" by simplify_shift_const from (ashift:SI (subreg:SI (reg/v:DI 119 [ x ]) 4) (const_int 16 [0x10])), which, if it was left that way, would allow a match. I think simplify_shift_const is OK in what it's doing, ie. it is a useful optimisation in other cases, so I'll see about matching the subreg pattern in simplify_logical. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21017