This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: builtin assembler constraints


Ian Lance Taylor schrieb:
On Fri, Feb 8, 2013 at 10:15 AM, Grobman Alexander-R53196
<R53196@freescale.com> wrote:
I'm trying to incorporate new PPC instructions into a C code. These instructions use limited set of GPRs as operands i.e. only even registers can be used as a source,

Is there way to specify that in the asm() statement?

As far as I know there is no constraint that describes only the even registers of the general register set. It would not be very difficult to add one to the PPC backend. I can't think of any other way to approach this.

AFAIK that does not work because the respective register class would have holes. You cannot have a register class that contains only even registers and omits the odd ones. Or can IRA / reload handle this now?


One way would be to use HARD_REGNO_MODE_OK and restrict 64-bit modes to even registers, but that would be an ABI change...

From the C level a local register variable could be use, thus it is possible to describe but the results will be suboptimal because the respective operand is not available for register allocation.

Johann



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]