Hi All,

We are porting the gcc 4.8.1 to the new target and which has the pair
16 bit registers  like AB or CD or EF   and we modeled  it in
reg_class as AB,CD and DE 16 bit pair_regs and CD ,EF as 16 bit
base_regs and A,B,C,D E  and F as 8 bit as general_regs.

We are stuck with below issues like

1)How do we modelled such that the register alloc to pick the
respective  base_regs i.e CD,DE  instead of AB as show in the below
case

LD AB ,_a;        //invalid instead of it should be emit LD CD ,_a

LD (AB),#100;      // invalid instead of it should be emit LD (CD),#100


Please note  that we override  the target hook like REGNO_REG_CLASS
,but still no luck here .

 2)Current target enforce the restrictions on  the pair register set
usage for multiplication  like

MUL A,B  or MUL C,D or  MUL E,F

But not MUL A,C or MUL  B,C  etc not across the pair_regs .


Anyone can  please shed some lights here ,will be appreciate  and help
us in the great way .

 Thank you for the patience

~Umesh

Reply via email to