From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19256 invoked by alias); 1 Apr 2010 17:11:45 -0000 Received: (qmail 18939 invoked by uid 48); 1 Apr 2010 17:11:20 -0000 Date: Thu, 01 Apr 2010 17:11:00 -0000 Message-ID: <20100401171120.18938.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression) In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "ramana 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-04/txt/msg00118.txt.bz2 ------- Comment #13 from ramana at gcc dot gnu dot org 2010-04-01 17:11 ------- (In reply to comment #12) > I see this on arm-eabi cross with gcc version 4.5.0 20100401 (experimental) > [trunk revision 157899] (GCC) > > With the following command line options - > > ./xgcc -B`pwd` -S -O2 -mthumb -mcpu=cortex-a9 -mfpu=vfpv3-d16 ~/expr.i -da -g Correction - this should read ./xgcc -B`pwd` -S -O2 -mthumb -mcpu=cortex-a9 -mfpu=vfpv3-d16 ~/expr.i -da -g -mfloat-abi=softfp > > In 203r.sched2 I see the following insn sequence which appears to be wrong to > my naked eye. > > > (insn 5045 1929 5046 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (set (reg:SI 1 > r1) > (plus:SI (reg/f:SI 13 sp) > (const_int 272 [0x110]))) 4 {*arm_addsi3} (nil)) > > (insn:TI 5046 5045 6004 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (set > (reg:DI 0 r0) > (mem/c:DI (reg:SI 1 r1) [87 %sfp S8 A64])) 587 {*thumb2_movdi_vfp} > (nil)) > > (insn 6004 5046 5042 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (parallel [ > (set (reg:SI 3 r3 [+4 ]) > (const_int 0 [0x0])) > (clobber (reg:CC 24 cc)) > ]) 704 {*thumb2_movsi_shortim} (expr_list:REG_UNUSED (reg:CC 24 cc) > (nil))) > > (insn:TI 5042 6004 6002 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (set > (mem/c:SI (plus:SI (reg/f:SI 13 sp) > (const_int 272 [0x110])) [87 %sfp+-544 S4 A64]) > (reg:SI 14 lr)) 585 {*thumb2_movsi_vfp} (expr_list:REG_DEAD (reg:SI 14 > lr) > (nil))) > > (insn:TI 6002 5042 6003 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (parallel [ > (set (reg:SI 3 r3 [+4 ]) > (and:SI (reg:SI 3 r3 [+4 ]) > (reg:SI 1 r1 [+4 ]))) > (clobber (reg:CC 24 cc)) > ]) 700 {*thumb2_alusi3_short} (expr_list:REG_DEAD (reg:SI 1 r1 [+4 ]) > (expr_list:REG_UNUSED (reg:CC 24 cc) > (nil)))) > (In reply to comment #12) > I see this on arm-eabi cross with gcc version 4.5.0 20100401 (experimental) > [trunk revision 157899] (GCC) > > With the following command line options - > > ./xgcc -B`pwd` -S -O2 -mthumb -mcpu=cortex-a9 -mfpu=vfpv3-d16 ~/expr.i -da -g > > > In 203r.sched2 I see the following insn sequence which appears to be wrong to > my naked eye. > > > (insn 5045 1929 5046 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (set (reg:SI 1 > r1) > (plus:SI (reg/f:SI 13 sp) > (const_int 272 [0x110]))) 4 {*arm_addsi3} (nil)) > > (insn:TI 5046 5045 6004 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (set > (reg:DI 0 r0) > (mem/c:DI (reg:SI 1 r1) [87 %sfp S8 A64])) 587 {*thumb2_movdi_vfp} > (nil)) > > (insn 6004 5046 5042 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (parallel [ > (set (reg:SI 3 r3 [+4 ]) > (const_int 0 [0x0])) > (clobber (reg:CC 24 cc)) > ]) 704 {*thumb2_movsi_shortim} (expr_list:REG_UNUSED (reg:CC 24 cc) > (nil))) > > (insn:TI 5042 6004 6002 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (set > (mem/c:SI (plus:SI (reg/f:SI 13 sp) > (const_int 272 [0x110])) [87 %sfp+-544 S4 A64]) > (reg:SI 14 lr)) 585 {*thumb2_movsi_vfp} (expr_list:REG_DEAD (reg:SI 14 > lr) > (nil))) > > (insn:TI 6002 5042 6003 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (parallel [ > (set (reg:SI 3 r3 [+4 ]) > (and:SI (reg:SI 3 r3 [+4 ]) > (reg:SI 1 r1 [+4 ]))) > (clobber (reg:CC 24 cc)) > ]) 700 {*thumb2_alusi3_short} (expr_list:REG_DEAD (reg:SI 1 r1 [+4 ]) > (expr_list:REG_UNUSED (reg:CC 24 cc) > (nil)))) > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42509