This is the mail archive of the gcc-patches@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: PATCH:[darwin] fix load of a misaligned double word


> Basically it is these two lines which are causing them:
>        
> *(double*)(((int)(((int*)((___r1)-(1)))+1))+(((((int)(8))<<2))<<(3 
> -2)))=(2*(1+2)<<2);
>       n = (1<<2) + 17 * sizeof (double) + (5<<2);
>        
> *(double*)(((int)(((int*)((___r1)-(1)))+1))+(((((int)(9))<<2))<<(3 
> -2)))=(2*n);
> 
> Basically it is GCC likes to use GPR for floating point.

So, is the problem that GCC approves the non-multiple-of-four offset for the
store of a DFMODE pseudo, and then decides to stick the DFMODE pseudo into
a GPR?

Brad


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