Closed Quuxplusone closed 13 years ago
Also seen with gas_dyn at -O3 -fplugin-arg-dragonegg-enable-gcc-optzns...
[MacPro:pb05/lin/source] howarth% /sw/lib/gcc4.5/bin/gfortran -
fplugin=/sw/lib/gcc4.5/lib/dragonegg.so -msse3 -O3 -fplugin-arg-dragonegg-
enable-gcc-optzns gas_dyn.f90 -o gas_dyn
gas_dyn.f90: In function ‘eos_’:
gas_dyn.f90:410:0: error: unsupported target builtin ‘__builtin_ia32_sqrtps_nr’
used
gas_dyn.f90:431:0: error: unsupported target builtin ‘__builtin_ia32_sqrtps_nr’
used
*** WARNING *** there are active plugins, do not report this as a bug unless
you can reproduce it without enabling any plugins.
Event | Plugins
PLUGIN_FINISH_UNIT | dragonegg
PLUGIN_FINISH | dragonegg
PLUGIN_START_UNIT | dragonegg
gas_dyn.f90:1818: confused by earlier errors, bailing out
Note that is PR is the only blocker from -O2 -ffast-math -fplugin-arg-dragonegg-enable-gcc-optzns completely passing the Polyhedron 2005 benchmarks.
If...
------------------------------------------------------------------------
r132119 | baldrick | 2011-05-26 06:25:08 -0400 (Thu, 26 May 2011) | 2 lines
Untested support for a couple of x86 sqrt builtins (no testcase).
was meant to address this PR, it still isn't working...
[MacPro:pb05/lin/source] howarth% /sw/lib/gcc4.5/bin/gfortran -
fplugin=/sw/lib/gcc4.5/lib/dragonegg.so -msse3 -O3 -fplugin-arg-dragonegg-
enable-gcc-optzns gas_dyn.f90 -o gas_dyn
gas_dyn.f90: In function ‘eos_’:
gas_dyn.f90:410:0: error: unsupported target builtin ‘__builtin_ia32_sqrtps_nr’
used
gas_dyn.f90:431:0: error: unsupported target builtin ‘__builtin_ia32_sqrtps_nr’
used
It wasn't: notice that that was for sqrtps, while this is for sqrtps_nr (i.e.
sqrtps followed by a Newton-Raphson step to improve precision).
Attached aermod_reduced.f90
(80670 bytes, text/plain): reduced test case
_Bug 9710 has been marked as a duplicate of this bug._
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110530/121742.html
fixes -O3 -fplugin-arg-dragonegg-enable-gcc-optzns compilation of aermod.f90,
but
-ffast-math -O3 -fplugin-arg-dragonegg-enable-gcc-optzns now fails as...
[MacPro:pb05/lin/source] howarth% de-gfortran45 -msse3 -ffast-math -O3 -fplugin-
arg-dragonegg-enable-gcc-optzns aermod.f90 -o aermod
aermod.f90: In function ‘refl_ht_’:
aermod.f90:7219:0: error: unsupported target builtin ‘__builtin_ia32_rsqrtf’
used
*** WARNING *** there are active plugins, do not report this as a bug unless
you can reproduce it without enabling any plugins.
Event | Plugins
PLUGIN_FINISH_UNIT | dragonegg
PLUGIN_FINISH | dragonegg
PLUGIN_START_UNIT | dragonegg
aermod.f90:7123: confused by earlier errors, bailing out
Should I open up a new PR for the missing ‘__builtin_ia32_rsqrtf?
No, I'm happy to consider it part of this bug report.
Although rsqrtps_nr is now implemented, aermod is still missing rsqrtf.
That is why I didn't close this bug report yet :)
Support for rsqrtf was added here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110606/121968.html
At r132710, the failure changes to...
[MacPro-2:pb05/lin/source] howarth% de-gfortran45 -msse3 -ffast-math -O3 -
fplugin-arg-dragonegg-enable-gcc-optzns aermod.f90 -o aermod
UNREACHABLE executed!
Stack dump:
0. Running pass 'X86 DAG->DAG Instruction Selection' on function '@hrloop_'
*** WARNING *** there are active plugins, do not report this as a bug unless
you can reproduce it without enabling any plugins.
Event | Plugins
PLUGIN_FINISH_UNIT | dragonegg
PLUGIN_FINISH | dragonegg
PLUGIN_START_UNIT | dragonegg
aermod.f90:51843:0: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
It compiles here, with latest LLVM from svn. Maybe you are hitting PR2314?
(In reply to comment #14)
> It compiles here, with latest LLVM from svn. Maybe you are hitting PR2314?
Yes. Does PR2314 not impact linux? FYI, I add -fno-tree-vectorize, the error is
suppressed.
My mistake, I forgot to add -fplugin-arg-dragonegg-enable-gcc-optzns (!).
Yes, this is PR2314.
_This bug has been marked as a duplicate of bug 2314_
aermod_reduced.f90
(80670 bytes, text/plain)