5

I am looking for a real (source and generated code) example of software pipelining (http://en.wikipedia.org/wiki/Software_pipelining) produced by GCC. I tried to use -fmodulo-sched option when compiling for IA64 and PowerPC architectures by GCC versions 4.4-4.6 with no success. Are you aware about such example? The actual CPU architecture has no difference.

Thank you

osgx
  • 90,338
  • 53
  • 357
  • 513
Serge C
  • 2,205
  • 16
  • 23
  • `-fsel-sched-pipelining` option according to http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html – osgx Dec 19 '10 at 05:55
  • "-O3 -fselective-scheduling -fsel-sched-pipelining" and "-O3 -fselective-scheduling2 -fsel-sched-pipelining" have also no effect on generated code for loop examples I am trying to compile – Serge C Dec 19 '10 at 08:46

1 Answers1

1

There are some tests from gcc testsuite for "-fmodulo-sched" option. You can check them:

http://www.google.com/codesearch/p?hl=en#OV-zwmL9vlY/gcc/gcc/testsuite/gcc.dg/sms-1.c&q=sms-6.c&d=4

files sms-1.c --- sms-7.c

Also here, http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gcc.dg/ but gnu's viewcvs is very slow. The sms-8.c is added.

osgx
  • 90,338
  • 53
  • 357
  • 513
  • I compiled the tests with GCC compiler 4.5.2 for i686, IA64, and PowerPC architectures using compilation options indicated in these files' headers. Unfortunately, after comparing the produced assembly files with those compiled without the optimization, there were no indication that the optimization worked. Probably, there is some performance bug in GCC, which prevents the optimization to take effect – Serge C Dec 30 '10 at 10:23
  • @Serge C, do you check the output of `-fdump-rtl-sms` debug option? – osgx Dec 30 '10 at 13:09