From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9152 invoked by alias); 3 Jan 2010 16:01:19 -0000 Received: (qmail 6558 invoked by uid 48); 3 Jan 2010 16:01:07 -0000 Date: Sun, 03 Jan 2010 16:01:00 -0000 Message-ID: <20100103160107.6556.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/42587] bswap not recognized for memory In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" 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-01/txt/msg00283.txt.bz2 ------- Comment #2 from rguenth at gcc dot gnu dot org 2010-01-03 16:01 ------- SRA here again does somthing stupid: from : acpi_ut_track_stack_ptr (); in.value = value_1(D); D.1966_2 = in.bytes[3]; out.bytes[0] = D.1966_2; D.1967_3 = in.bytes[2]; out.bytes[1] = D.1967_3; D.1968_4 = in.bytes[1]; out.bytes[2] = D.1968_4; D.1969_5 = in.bytes[0]; out.bytes[3] = D.1969_5; D.1970_6 = out.value; return D.1970_6; it generates : acpi_ut_track_stack_ptr (); in.value = value_1(D); in$bytes$0_14 = in.bytes[0]; in$bytes$1_15 = in.bytes[1]; in$bytes$2_16 = in.bytes[2]; in$bytes$3_17 = in.bytes[3]; D.1966_2 = in$bytes$3_17; out.bytes[0] = D.1966_2; D.1967_3 = in$bytes$2_16; out.bytes[1] = D.1967_3; D.1968_4 = in$bytes$1_15; out.bytes[2] = D.1968_4; D.1969_5 = in$bytes$0_14; out.bytes[3] = D.1969_5; D.1970_6 = out.value; return D.1970_6; which isn't an improvement and just creates extra temporary registers. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jamborm at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42587