From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2245 invoked by alias); 12 Jul 2013 14:10:21 -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 2205 invoked by uid 48); 12 Jul 2013 14:10:16 -0000 From: "alexandru.sardan at freescale dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/57717] error: unrecognizable insn compiling ./strtod_l.c from glibc on powerpc-gnuspe Date: Fri, 12 Jul 2013 14:10: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: 4.9.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: alexandru.sardan at freescale dot com X-Bugzilla-Status: UNCONFIRMED 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: cc attachments.created 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: 2013-07/txt/msg00679.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D57717 Alexandru-Cezar S=C4=83rdan changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |alexandru.sardan@freescale. | |com --- Comment #5 from Alexandru-Cezar S=C4=83rdan --- Created attachment 30500 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=3D30500&action=3Dedit testcase The attached test case causes another ICE if gcc is compiled for gnuspe tar= gets after the patch proposed in comment #4 is applied and -mfloat-gprs=3Ddouble= is used. Also -mfloat-gprs=3Dsingle works fine. $ ./gcc/cc1 -m32 -mcpu=3D8548 -mabi=3Dspe -mspe -mfloat-gprs=3Ddouble ~/tes= t.c=20 __bswap_32 __bswap_64 create_Result_file main Analyzing compilation unit Performing interprocedural optimizations <*free_lang_data> <*free_inline_summar= y> Assembling functions: create_Result_file /home/alex/test.c: In function 'create_Result_file': /home/alex/test.c:43:1: internal compiler error: in change_address_1, at emit-rtl.c:2019 } ^ >>From gcc-bugs-return-426173-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jul 12 14:14:24 2013 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 5280 invoked by alias); 12 Jul 2013 14:14:24 -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 5141 invoked by uid 48); 12 Jul 2013 14:14:14 -0000 From: "dushistov at mail dot ru" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/57890] New: gcc 4.8.1 regression: loops become slower Date: Fri, 12 Jul 2013 14:14:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.8.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: dushistov at mail dot ru X-Bugzilla-Status: UNCONFIRMED 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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: 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: 2013-07/txt/msg00680.txt.bz2 Content-length: 1408 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57890 Bug ID: 57890 Summary: gcc 4.8.1 regression: loops become slower Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: dushistov at mail dot ru $cat what_test.cpp char c[100]; void f(void) { for(int i=0; i < 100; ++i) c[i] = '0'; } I run this test with: cat test.cpp #include extern void f(); int main() { for (size_t i = 0; i < 100000000; ++i) f(); } compile with "-march=native -O3" on (i7 64bit mode). Here is result: for test_loop47 we get average 0.348000 for test_loop481 we get average 0.400000 If compare generated code then on 4.7 "f" function is transformed to: push %rbp vmovdqa 0x107(%rip),%ymm0 movb $0x30,0x200aa0(%rip) movb $0x30,0x200a9a(%rip) mov %rsp,%rbp vmovdqa %ymm0,0x200a2e(%rip) ... on gcc 4.8.1: movabs $0x3030303030303030,%rax movl $0x30303030,0x200a9c(%rip) mov %rax,0x200a35(%rip) mov %rax,0x200a36(%rip) ... PS I just checked may be http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55953 fixed in gcc 4.8.1, and yes it indeed "fixed", instead of optimal for loops and not optimal for builtin_memset it now produces not the same not optimal code for both cases.