This is the mail archive of the 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] Introduce abi_word_mode


> You're trying to argue we should fix the feature, but I don't think 
> there's anything to salvage.  You've also pointed out that the most 
> obvious uses of this (mis)feature are in GCC itself -- and those we can 
> fix, in a way that will help you achieve your goal of mixed 
> 32-bit/64-bit code.

I think one of the reasons for the abi_word_mode idea was that we never
considered it feasible to get rid of attribute(mode(word)) completely and
without a longer deprecation phase.  But if the middle-end maintainers agree
to remove it immediately abi_word_mode would be obsolete.  In that case we 
could go on trying to fix the other middle-end abuses of word_mode which stand 
in the way and post the patches to introduce the 64bit optimizations for 
31bit code.

I would like to work on a patch removing attribute(mode(word)) but currently 
I don't see how the use of the attribute to define Unwind_Word can be replaced without 
introducing another strange mechanism to statisfy all architectures.  If we would
try to replace it with mode(SI) or mode(DI) I think we would have to add tons of 
target macro checks to unwind.h to do the right thing for every back-end 
configuration.  Basically we would have to mimic the logic used in each backend 
to define UNITS_PER_WORD (except for rs6000 and the modified S/390 back-end of 
course where we would do what abi_word_mode would do).



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