Hi, Some compilers IIRC use !DIR$ unroll, if memory serves me right then the DEC compiler had !DEC$ unroll. We could support one or the other three-letter keyword or maybe not.
I think a combination of unroll and ivdep directives is allowed (at least in some compilers); TODO. Not sure what other statements should be annotated with that directive? I do not like the global variable directive_unroll but is was the easy way out for cheap warnings. Untested draft patch, regstrap running over night, depends on Mike's unroll-5.diffs.txt patch in this thread ( https://gcc.gnu.org/ml/gcc-patches/2015-01/msg02733.html ). Just stage-1 tinkering here. Cheers, Bernhard Reutner-Fischer (1): fortran: !GCC$ unroll for DO gcc/fortran/decl.c | 38 ++++++++++++++++++++ gcc/fortran/gfortran.h | 2 ++ gcc/fortran/match.h | 1 + gcc/fortran/parse.c | 13 ++++++- gcc/fortran/trans-decl.c | 7 ++++ gcc/fortran/trans-stmt.c | 14 ++++++++ gcc/fortran/trans.h | 3 ++ gcc/testsuite/gfortran.dg/directive_unroll_1.f90 | 46 ++++++++++++++++++++++++ gcc/testsuite/gfortran.dg/directive_unroll_2.f90 | 39 ++++++++++++++++++++ 9 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gfortran.dg/directive_unroll_1.f90 create mode 100644 gcc/testsuite/gfortran.dg/directive_unroll_2.f90 -- 2.1.4