4 msgOfficial Inclusion of GCC Extension Modules (Or...
1 msggcc-4.3-20070824 is now available
1 msg[GSoC] New static scheduler priority. Final sta...
1 msgRegarding ITR Software
1 msgRe: [RFC] try to generate FP and/or/xor instruc...
2 msgRFC: Disallow undocumented IA32 TLS GD access
1 msgGSoC Final Report: Better Uninitialized Warnings
1 msgJoin FutureMovement Official Forum
11 msgbootstrap failure while compiling gcc/tree.c
3 msgHow to add target specific dependency?
1 msggcc-4.2-20070822 is now available
1 msg[c++0x] parameter packs in class templates
2 msgWARNING bootstrapping GFortran on Cygwin
7 msgRe: pragma-like warning turn off ?
60 msgrecent troubles with float vectors & bitwis...

Implementing VMX128 AltiVec Variant
\ Gordan Bobic (21 Aug 2007)
. \ Ian Lance Taylor (21 Aug 2007)
. . \ Gordan Bobic (21 Aug 2007)
. . . \ Ian Lance Taylor (21 Aug 2007)
. . \ Gordan Bobic (22 Aug 2007)
. . . \ Paolo Bonzini (22 Aug 2007)
. . . . \ Gordan Bobic (22 Aug 2007)
. \ Tristan Gingold (21 Aug 2007)

1 msgConstant multidimensional array pointers inside...
1 msggcc-4.1-20070820 is now available
1 msgCan gcov handle a subject which contain multipl...
3 msggcc trunk rev. 127646 breaks bootstrap during s...
Subject:Re: Implementing VMX128 AltiVec Variant
Group:Gcc
From:Gordan Bobic
Date:22 Aug 2007


On Wed, 22 Aug 2007, Paolo Bonzini wrote:

>> > > 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".

Thanks for that. This is the sort of thing I was hoping to eventually
implement (rather than re-implementing vmx128.h and vmx128.md from scratch
with 90% overlap with altivec.h and altivec.md). But I'd really like to go
with a quick and dirty proof of concept first, which is to just cut out
the offending instructions from altivec support, just to make sure that it
would work.

Gordan


© 2004-2008 readlist.com