Closed Quuxplusone closed 13 years ago
Bugzilla Link | PR10033 |
Status | RESOLVED FIXED |
Importance | P normal |
Reported by | Jack Howarth (howarth.mailing.lists@gmail.com) |
Reported on | 2011-05-27 07:48:26 -0700 |
Last modified on | 2011-05-31 11:08:28 -0700 |
Version | trunk |
Hardware | Macintosh MacOS X |
CC | llvm-bugs@lists.llvm.org |
Fixed by commit(s) | |
Attachments | |
Blocks | |
Blocked by | |
See also |
Looks like I implemented VEC_LSHIFT_EXPR and VEC_RSHIFT_EXPR wrong.
Fixed here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110523/121543.html
The resulting code is pretty rotten. In fact when compiled without
-fplugin-arg-dragonegg-enable-gcc-optzns I see rnflow running faster than
when compiled with gcc-4.5; with -fplugin-arg-dragonegg-enable-gcc-optzns it
runs slower than gcc-4.5.
This isn't what I observe on x86_64-apple-darwin10.
[MacPro:pb05/lin/source] howarth% /sw/lib/gcc4.5/bin/gfortran -
fplugin=/sw/lib/gcc4.5/lib/dragonegg.so -O3 rnflow.f90 -o rnflow
[MacPro:pb05/lin/source] howarth% ./rnflow
...
0: 0:31.785 -> Completed program execution
[MacPro:pb05/lin/source] howarth% /sw/lib/gcc4.5/bin/gfortran -
fplugin=/sw/lib/gcc4.5/lib/dragonegg.so -O3 -fplugin-arg-dragonegg-enable-gcc-
optzns rnflow.f90 -o rnflow
[MacPro:pb05/lin/source] howarth% ./rnflow
...
0: 0:28.217 -> Completed program execution
[MacPro:pb05/lin/source] howarth% /sw/lib/gcc4.5/bin/gfortran -
fplugin=/sw/lib/gcc4.5/lib/dragonegg.so -O3 -fplugin-arg-dragonegg-enable-gcc-
optzns rnflow.f90 -fno-tree-vectorize -o rnflow
[MacPro:pb05/lin/source] howarth% ./rnflow
...
0: 0:28.135 -> Completed program execution
These differences really need pbharness runs to be judged as significant. Also
it will be interesting to try tweaking the llvm optimizers down while leaving
the gcc front-end at -O3.
I've reimplemented VEC_RSHIFT_EXPR in a different way that should result in better code.