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

How to add target specific dependency?
\ petruk_gile (23 Aug 2007)
. \ Pranav Bhandarkar (23 Aug 2007)
. \ Ian Lance Taylor (23 Aug 2007)

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...
8 msgImplementing VMX128 AltiVec Variant
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:How to add target specific dependency?
Group:Gcc
From:petruk_gile
Date:23 Aug 2007



Hi all ..

I'm currently porting GCC into a new processor, and I have a problem in
instruction scheduling ...

The case is like this:
In the machine description (*.md) file, sometimes I emit a single RTL
instruction into multiple ASM instruction. The problem is, in some case I
need to emit an operand that actually doesn't exist in its RTL
representation. For example :

"movpqi_insn x,y" instruction will be translated as ==> "sar x, *ar15" and
"lar y, *ar15"

Where "sar" means "Store register" and "lar" means "load register" ...

Since GCC performs instruction scheduling in RTL form, it doesn't know that
instruction "movpqi_insn" actually reads AR15 .... Hence, sometimes GCC
moves an instruction that actually SHOULD NOT be moved, due to data
dependence in AR15...., and it causes incorrect scheduling (This is my
analysis, please tell me if you guys think I'm wrong)...

So, I need to:
(1) whether disable the scheduling for that particular dependency, or
(2) Inform GCC that "movpqi_insn" has an additional dependency in AR15 ....

The problem is, I still don't know how can i do those 2 things ... So if any
of you have any advice, I'd be really grateful .... :D

Thx ..

Any info will be appreciated ...




--
View this message in context: http://www.nabble.com/How-to-add-target-specific-dependency--tf4316367.html#a122 90297
Sent from the gcc - Dev mailing list archive at Nabble.com.



© 2004-2008 readlist.com