From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27873 invoked by alias); 16 Dec 2007 20:00:34 -0000 Received: (qmail 27862 invoked by uid 22791); 16 Dec 2007 20:00:33 -0000 X-Spam-Check-By: sourceware.org Received: from brett.sim.ucm.es (HELO brett.sim.ucm.es) (147.96.1.101) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 16 Dec 2007 20:00:29 +0000 Received: from brett.sim.ucm.es (brett.sim.ucm.es [127.0.0.1]) by localhost.ucm.es (Postfix) with ESMTP id 4AB5739E76E for ; Sun, 16 Dec 2007 21:00:24 +0100 (CET) Received: from ODISEO.sim.ucm.es (odiseo.sim.ucm.es [10.150.1.32])by brett.sim.ucm.es (Postfix) with ESMTP id 3310B39E6DCfor ; Sun, 16 Dec 2007 21:00:24 +0100 (CET) Received: from ucm.es ([10.147.128.157])by ODISEO.sim.ucm.es (Sun Java System Messaging Server 6.2-6.01 (built Apr 32006)) with ESMTP id <0JT500JYMRKPNM20@ODISEO.sim.ucm.es> for gcc@gcc.gnu.org;Sun, 16 Dec 2007 21:00:25 +0100 (CET) Received: from [10.150.1.32] (Forwarded-For: [10.150.1.32])by menelao.adm.ucm.es (mshttpd); Sun, 16 Dec 2007 21:00:25 +0100 Date: Sun, 16 Dec 2007 21:28:00 -0000 From: =?iso-8859-1?Q?=22Rodrigo_Gonz=E1lez_Alberquilla=22?= Subject: =?windows-1252?B?dW5hYmxlIHRvIGZpbmQgYSByZWdpc3RlciB0byBzcGlsbCBpbiBjbGFzcyCRTURfUkVHU5I=?= To: gcc@gcc.gnu.org Message-id: MIME-version: 1.0 X-Mailer: Sun Java(tm) System Messenger Express 6.2-6.01 (built Apr 3 2006) Content-type: text/plain; charset=windows-1252 Content-language: es Content-transfer-encoding: quoted-printable Content-disposition: inline X-imss-version: 2.049 X-imss-result: Passed X-imss-scanInfo: M:B L:E SM:2 X-imss-tmaseResult: TT:1 TS:-5.0869 TC:02 TRN:24 TV:5.0.1023(15610.000) X-imss-scores: Clean:100.00000 C:0 M:0 S:0 R:0 X-imss-settings: Baseline:1 C:1 M:1 S:1 R:1 (0.0000 0.0000) Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2007-12/txt/msg00479.txt.bz2 Dear GCC Developers/Users, I am working on a port of a target backend to PISA architecture (a MIPS-IV = like ISA used by the SimpleScalar simulator). When compiling libgcc2 for __= muldi3: #ifdef L_muldi3 DWtype __muldi3 (DWtype u, DWtype v) { const DWunion uu =3D {.ll =3D u}; const DWunion vv =3D {.ll =3D v}; DWunion w =3D {.ll =3D __umulsidi3 (uu.s.low, vv.s.low)}; w.s.high +=3D ((UWtype) uu.s.low * (UWtype) vv.s.high + (UWtype) uu.s.high * (UWtype) vv.s.low); return w.ll; } #endif I get the following error: ../.././gcc/libgcc2.c: In function =91__muldi3=92: ../.././gcc/libgcc2.c:542: error: unable to find a register to spill in cla= ss =91MD_REGS=92 ../.././gcc/libgcc2.c:542: error: este es el insn: (insn 37 36 38 2 (set (reg:DI 116) (mult:DI (zero_extend:DI (reg:SI 3 v1 [orig:117 __ul ] [117])) (zero_extend:DI (reg:SI 2 v0 [orig:118 __vl ] [118])))) 14 {umu= lsidi3_32bit_internal} (nil) (expr_list:REG_DEAD (reg:SI 3 v1 [orig:117 __ul ] [117]) (expr_list:REG_DEAD (reg:SI 2 v0 [orig:118 __vl ] [118]) (nil)))) I have compile it with -da and the dumps are: greg: Spilling for insn 37. Using reg 4 for reload 0 reload failure for reload 1 Reloads for insn # 37 Reload 0: GR_REGS, RELOAD_FOR_OUTPUT_ADDRESS (opnum =3D 0), can't combine, = secondary_reload_p Reload 1: reload_out (DI) =3D (reg:DI 116) MD_REGS, RELOAD_FOR_OUTPUT (opnum =3D 0) reload_out_reg: (reg:DI 116) secondary_out_reload =3D 0 lreg: [...] Register 116 costs: LEA_REGS:10000000 GR_REGS:10000000 MEM:8000 [...] Register 116 used 2 times across 2 insns in block 2; set 1 time; 8 bytes; N= O_REGS or none. [...] (insn 37 36 38 2 (set (reg:DI 116) (mult:DI (zero_extend:DI (reg:SI 117 [ __ul ])) (zero_extend:DI (reg:SI 118 [ __vl ])))) 14 {umulsidi3_32bit_in= ternal} (nil) (expr_list:REG_DEAD (reg:SI 117 [ __ul ]) (expr_list:REG_DEAD (reg:SI 118 [ __vl ]) (nil)))) [...] I have read a thread of a guy having a paroblem like this but it has not he= lped me. If anybody would tell me where the problem could be, I would be ve= ry pleased. Regards, Rodrigo Gonz=E1lez