[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [openrisc] OR16 ISA
> for indenfication. What do you think?
Not sure what exactly you mean. Which identification?
>
> Here is the updated or16.h
> (please check it thoroughly.
> there are insns added.
> h.swapb
> h.swaph
>
> h.testi
> h.test
> h.seti (set bit in rA to 1 pointed by constant)
> h.set (set bit in rA to 1 pointed by rB)
> h.clri (clear bit in rA to 0 pointed by constant)
> h.clr (ditto by rB)
I am not sure how useful are these. IIRC there is not special support in GCC
to use these insns (AFAIK and I am too lazy to check). They are useful if
you write hand optimized assembly routines (optimized libraries).
> h.movhi8sl(shift left)
> h.movhi8se(sign extension)
> h.notu
> h.negs
> h.lw
> h.lhz
> h.lbz
> h.sh
> h.sb
This is ok.
>
> And in or32.h, it seems that sign/zero extension insns are discarded?
Actually sign/zero extend between registers was removed. You still have
sign/zero extend type of load/store insns which are enough to make
conversions between signed and unsigned variables of different sizes. And
you can always use pair of shift insns to emulate old extend insns. I
removed these extend insns after generating some code and after I found out
that these insns are not so commonly used.
regards,
Damjan