> On 12/07/13 03:44, Eric Botcazou wrote:
>>> I'd certainly be concerned. Ports have (for better or worse) keyed on
>>> BLKmode rather than looking at the underlying types. So if something
>>> which was previously SImode or DImode is now BLKmode, there's a nonzero
>>> chance we're going to change how it gets passed.
>>
>> Well, we have been saying that calling conventions need to be keyed on types
>> rather than modes for more than a decade... I recall auditing and fixing the
>> SPARC back-end circa 2003, so how long are we going to use this argument?
> I don't recall such a change in policy -- but that doesn't mean it
> didn't happen :-)
>
> If we already declared that ports should be looking at the underlying
> types rather than the mode and it's been in place that long, then I
> think any port that hasn't been audited/updated deserves its fate and we
> shouldn't let them stand in the way of making progress on this issue.
>
> jeff

The ports are one thing, but this non-BLKmode thing can also be visible to
the user code:

If we have

struct s{ char x[8]; };

We can place that in a register like this:

register struct s x __asm__("eax");

Previous experimentation showed that this code can break with that ABI change.

So if we change that structure mode, we should make sure that this has no other
unexpected implications, especially in phase 3.

Bernd.                                    

Reply via email to