> Thanks for the nice clean bug report.  Undoubtedly what is happening is
> that the generic expander is asking for a 64-bit temporary to help move
> the literal 10 where 64-bit parameters go.  Of course what it *should*
> do is split the 64-bit literal into two 32-bit literals.
> 
> Rather than tackle this sort of problem piecemeal, we are hoping to
> replace the generic expander with a new 'tiler', which will have a more
> principled approach to this problem, and in particular we should be able
> to prove that either this problem does not occur or that it is detected
> in advance.  The solution to this problem is worth a good chunk of a PhD
> thesis, so it may have to wait until I find a student...

Well, there don't seem to be any 64-bit literals in my code, so it's 
probably not just a problem with literals.  There certainly are a lot of 
64-bit registers and 64-bit parameters.  Would it be a problem with 64-
bit parameters?  Should I change my parameter-passing convention to avoid 
33-bit and longer parameters, possibly passing them by reference?

-- hendrik

_______________________________________________
Cminusminus mailing list
[email protected]
https://cminusminus.org/mailman/listinfo/cminusminus

Reply via email to