Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/directive_unroll_3.f90 @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
! { dg-do compile } ! { dg-options "-O -fdisable-tree-cunroll -fdump-rtl-loop2_unroll-details" } ! Test that ! #pragma GCC unroll n ! works subroutine test1(a) implicit NONE integer :: a(8) integer (kind=4) :: i !GCC$ unroll 8 DO i=1, 8, 1 call dummy(a(i)) ENDDO ! { dg-final { scan-rtl-dump-not "12:.: optimized: loop unrolled" "loop2_unroll" } } end subroutine test1 subroutine test2(a, n) implicit NONE integer :: a(n) integer (kind=1), intent(in) :: n integer (kind=4) :: i !GCC$ unroll 8 DO i=1, n, 1 call dummy(a(i)) ENDDO ! { dg-final { scan-rtl-dump "24:.: optimized: loop unrolled 7 times" "loop2_unroll" } } end subroutine test2 subroutine test3(a, n) implicit NONE integer (kind=1), intent(in) :: n integer :: a(n) integer (kind=4) :: i !GCC$ unroll 8 DO i=n, 1, -1 call dummy(a(i)) ENDDO ! { dg-final { scan-rtl-dump "36:.: optimized: loop unrolled 7 times" "loop2_unroll" } } end subroutine test3 subroutine test4(a, n) implicit NONE integer (kind=1), intent(in) :: n integer :: a(n) integer (kind=4) :: i !GCC$ unroll 8 DO i=1, n, 2 call dummy(a(i)) ENDDO ! { dg-final { scan-rtl-dump "48:.: optimized: loop unrolled 7 times" "loop2_unroll" } } end subroutine test4