Ian Lance Taylor <[EMAIL PROTECTED]> writes:

> > I have done the following:
> > 1. Defined them in FIXED_REGISTERS, CALL_USED_REGISTERS.
> > 2. Ordered them using REG_ALLOC_ORDER.
> > 3. Created a separate class in enum reg_class (FLOAT).
> > 4. Assigned a specific character to identify the particular class ('f').
> > 5. Defined HARD_REGNO_MODE_OK such that if a float-register is used in
> > any other mode, it should return 0.
> > 
> > Still while emitting the insns, i get the floating point registers f0
> > (Reg No 16) in SI mode.
> > 
> > (insn/f 39 38 40 (set:SI (mem:SI (pre_dec:SI (reg/f:SI 15 a7)) [0 S4 A32])
> >         (reg:SI 16 f0)) 0 {movsi_push} (nil)
> >     (nil))
> > 
> > Have i missed out on anything?
> 
> I think you want HARD_REGNO_MODE_OK.

Whoops, sorry, I see that you did use HARD_REGNO_MODE_OK.

Do you have a movsf insn?

Ian

Reply via email to