From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 34347 invoked by alias); 12 May 2015 09:17:59 -0000 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 Received: (qmail 34275 invoked by uid 48); 12 May 2015 09:17:54 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/66110] uint8_t memory access not optimized Date: Tue, 12 May 2015 09:17:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 5.1.0 X-Bugzilla-Keywords: alias, missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-05/txt/msg00910.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D66110 --- Comment #4 from Richard Biener --- Ah, it for example breaks bootstrap via (broken...) -Wstrict-aliasing: In file included from /space/rguenther/src/svn/trunk/gcc/../libdecnumber/bid/decimal128Local.h:1:= 0, from /space/rguenther/src/svn/trunk/gcc/dfp.c:43: /space/rguenther/src/svn/trunk/gcc/dfp.c: In function =E2=80=98bool decimal_real_arithmetic(real_value*, tree_code, const real_value*, const real_value*)=E2=80=99: /space/rguenther/src/svn/trunk/gcc/../libdecnumber/dpd/decimal128Local.h:40= :8: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=3Dstrict-aliasing] { (d)->bytes[WORDS_BIGENDIAN ? 0 : 15] ^=3D 0x80; } ^ /space/rguenther/src/svn/trunk/gcc/dfp.c:704:2: note: in expansion of macro =E2=80=98decimal128FlipSign=E2=80=99 decimal128FlipSign ((decimal128 *) r->sig); ^ /space/rguenther/src/svn/trunk/gcc/../libdecnumber/dpd/decimal128Local.h:36= :8: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=3Dstrict-aliasing] { (d)->bytes[WORDS_BIGENDIAN ? 0 : 15] &=3D ~0x80; } ^ /space/rguenther/src/svn/trunk/gcc/dfp.c:714:2: note: in expansion of macro =E2=80=98decimal128ClearSign=E2=80=99 decimal128ClearSign ((decimal128 *) r->sig); ^ /space/rguenther/src/svn/trunk/gcc/dfp.c: In function =E2=80=98void decimal_real_maxval(real_value*, int, machine_mode)=E2=80=99: /space/rguenther/src/svn/trunk/gcc/../libdecnumber/dpd/decimal128Local.h:32= :8: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=3Dstrict-aliasing] { (d)->bytes[WORDS_BIGENDIAN ? 0 : 15] |=3D ((unsigned) (b) << 7); } ^ /space/rguenther/src/svn/trunk/gcc/dfp.c:754:5: note: in expansion of macro =E2=80=98decimal128SetSign=E2=80=99 decimal128SetSign ((decimal128 *) r->sig, 1); ^ cc1plus: all warnings being treated as errors make[3]: *** [dfp.o] Error 1 I remember dfp.c _does_ violate strict-aliasing. Trying --disable-werror. >>From gcc-bugs-return-486071-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue May 12 09:20:08 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 37250 invoked by alias); 12 May 2015 09:20:07 -0000 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 Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 37148 invoked by uid 48); 12 May 2015 09:19:59 -0000 From: "vekumar at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/66049] Few AArch64 extend and add with shift tests generates sub optimal code with trunk gcc 6.0. Date: Tue, 12 May 2015 09:20:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 6.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: vekumar at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: vekumar at gcc dot gnu.org X-Bugzilla-Target-Milestone: 6.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-05/txt/msg00911.txt.bz2 Content-length: 520 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66049 --- Comment #4 from vekumar at gcc dot gnu.org --- (In reply to ktkachov from comment #3) > Venkat, are you planning to submit this patch to gcc-patches? > Also, does this mean we can remove the patterns that do arith+shift using > MULT rtxes? (like *adds__multp2) Hi Kyrill, Yes I am planing to submit the patch. But before that I need to test by putting some assert and check if *adds__multp2 and similar patterns are not used anymore.