[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