On 15 March 2007 16:12, Dave Korn wrote:

>>   So, is there actually anything inconsistent or incorrect about setting up
>> my reg classes in this fashion?
>> 
>> #define REG_CLASS_CONTENTS {          \
>>     { 0x00000000, 0x00000000, 0x00000000 },     /* NO_REGS      */ \
>>     { 0xffffffff, 0xffffffff, 0x00000000 },     /* GENERAL_REGS */ \
>>     { 0x00000000, 0x00000000, 0x00000001 },     /* MPD_REG 64 */ \
>>     { 0x00000000, 0x00000000, 0x00000002 },     /* MPR_REG 65 */ \
>>     { 0x00000000, 0x00000000, 0x00000004 },     /* MPRA_REG 66 */ \
>>     { 0x00000000, 0x00000000, 0x00000008 },     /* MPRL_REG 67 */ \
>>     { 0x00000000, 0x00000000, 0x00000010 },     /* MPRH_REG 68 */ \
>>     { 0x00000000, 0x00000000, 0x00000020 },     /* MPC_REG 69 */ \
>>     { 0x00000000, 0x00000000, 0x00000040 },     /* MPV_REG 70 */ \
>>     { 0x00000000, 0x00000000, 0x00000080 },     /* MPRLS_REG 71 */ \
>>     { 0x00000000, 0x00000000, 0x00000100 },     /* MPAR_REG 72 */ \
>>     { 0x00000000, 0x00000000, 0xffffffff },     /* SPECIAL_REGS */ \
>>     { 0xffffffff, 0xffffffff, 0xffffffff }      /* ALL_REGS     */ \
>> }
> 
>   Hmm, further reading in the manual suggests another question I should be
> asking about now:
> 
>   Because my movsi3 pattern that allows both GENERAL_REGS through an 'r'
> constraint, and MPD_REG and MPRL_REG through custom constraint letters ('a'
> and 'd'), does that mean I need to define a union class or I'm actually
> doing something wrong?


  Well, it certainly /appears/ to have helped.  I also moved GENERAL_REGS to
last entry before ALL_REGS just to make it preferred over the smaller classes.


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

Reply via email to