This is the mail archive of the gcc@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] | |
> > With the modifications I made, GCC still compiled fine. However,
> > libgcc and libstdc++ DO still get build with the missing instructions
> > (according to objdump -D). Why is that? Is that a consequence of the
> > ADA files? Or something else? Where should I look? Is the it ada files
> > that are the cause of the problem I'm seeing?
> > It must be something else. I'm not sure what, though. It might be
> something as simple as an instruction built from substrings. For
> example, search for altivec_vmsumu<VI_char>m in altivec.md.
I just re-checked for that and I can't find any. I have attached a diff for my modified altivec.h, altivec.md and rs6000.c files. Patch in gcc/config/rs6000 subtree with -p1.
Can anyone think of anywhere else I should be looking? Where else could these instructions be coming from?
This is really not relevant to the posted patch; however, I'll still post it here.
The proper way to disable Altivec instructions is to leave altivec.h and rs6000.c aside, and just change the "TARGET_ALTIVEC" to something like "(TARGET_ALTIVEC && 0)". The remaining code will automagically be disabled.
Later, you can add your option and the corresponding TARGET_VMX128 mask, and go back replacing the "TARGET_ALTIVEC && 0" with "TARGET_ALTIVEC && !TARGET_VMX128".
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |