This is the mail archive of the
mailing list for the GCC project.
Re: gcc port to StarCore
Thank you very much for your help and assistance!
Do you think that poor quality of the code for loops, generated by my port
( that I reported earlier ), may be caused by the way I am ( currently )
handling integer compare?
I hope I will be able to improve generated code based of your advice.
Tel: +972 - 8 - 935 - 4597
Mobile: +972 - 67 - 290 - 998
----- Original Message -----
From: Alan Lehotsky <firstname.lastname@example.org>
To: David Livshin <email@example.com>
Sent: Thursday, May 02, 2002 5:01 PM
Subject: Re: gcc port to StarCore
> BINGO. The RTL dump would have shown us an UNSPEC in the chain AND
> the compiler doesn't know
> ANYTHING about UNSPECs. [Gee, it might be a good thing to add a
> "remark" to the Porting guide near the definition and examples of
> UNSPEC to warn people about this - I remember it biting me about 5
> years ago while working on the SHARC port.]
> You really don't want to use UNSPEC for things that have any
> "reasonable" semantic meaning
> that can be expressed in the standard RTL.
> At 5:36 PM +0200 5/2/02, David Livshin wrote:
> > > 2/ the DEFINE_INSNs for compares
> >after expanding "cmpsi" as described above I expand conditional jumps (
> >"bgt" ) emitting, among other things,
> > emit_insn( gen_cmpsiEXPANDED( StarCore_cmp.op0, StarCore_cmp.op1,
> > GEN_INT( ( int )cndt_code ),
> > gen_reg_rtx( SImode ) ) );
> >( define_insn "cmpsiEXPANDED"
> > [ ( parallel [ ( unspec:SI [ ( match_operand:SI 0 "drREG_operand"
> > ( match_operand:SI 1 "drREG_operand"
> > ( match_operand:SI 2 "immediate_operand"
> > ]
> > UNSPEC_CMPsi
> > )
> > ( set ( cc0 ) ( match_operand:SI 3 "" "" ) )
> > ]
> > )
> > ]
> > ""
> > "* return (char *)StarCore_DefineInsn_cmpsi( operands, insn );"
> >with StarCore_DefineInsn_cmpsi being routine that just emits StarCore
> >machine code.
> >Is "unspec' what is preventing constant holding in compare?
> Quality Software Management
> (978)287-0435 Voice
> (978)808-6836 Cell
> Software Process Improvement / Management Consulting
> Language Design / Compiler Implementation