[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [f-cpu] GCC 3.1 for F-CPU port



> > *beep* false :

> > it means that you have to put one NOP or another instruction
> > before you can use the result.

> > your idea would hold for the "oldfashioned" loadcons
> > but IIRC it was "changed" .... alors maintenant, "faut assumer" :-P

> I'm lost - how is supposed the "newfashioned loadcons" to work ?
> Any importand difference I did miss ?
> devik

The story of loadcons is very long. This year (in june), Michael RIEPE propose 
to use a new form loadcons/loadconsp :
    loadcons $imm17, reg    // similar to the original `loadconsx'
    => reg := sign_extend(imm17)

    loadconsp $imm16, reg   // `p' means `partial'
    => reg := shift_left(reg, 16) | imm16

But Yann was totally against it, and an other instruction appear in the 
discussion :
        cshiftl r3, r2, r1      // r1 = r2 << (64 * r3)
        cshiftr r3, r2, r1      // r1 = r2 >> (64 * r3)

With this instruction, loadcons[x].[4-15] wasn't needed anymore. And the one 
that must be defined in the manual are loadcons[x].[0-3].

Finally the loadconsx wasn't droped by this discussion, but when I reintroduce 
it loadcons in the 0.2.7 manual, I forgot to add it (an other opcode was 
needed). So it's a lack in the manual (I find some other error in that part 
too).

Cedric


*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/