58 lines · plain
1! RUN: %flang_fc1 -fdebug-unparse-no-sema %s 2>&1 | FileCheck %s2 3SUBROUTINE aa(a, nn)4 IMPLICIT NONE5 INTEGER, INTENT(IN) :: nn6 COMPLEX(8), INTENT(INOUT), DIMENSION(1:nn) :: a7 INTEGER :: i8 !DIR$ assume_aligned a:169!CHECK: !DIR$ ASSUME_ALIGNED a:1610 !DIR$ assume_aligned a (1):1611!CHECK: !DIR$ ASSUME_ALIGNED a(1):16 12 !DIR$ assume_aligned a(1):1613!CHECK: !DIR$ ASSUME_ALIGNED a(1):1614 !DIR$ assume_aligned a(nn):1615!CHECK: !DIR$ ASSUME_ALIGNED a(nn):16 16 !DIR$ assume_aligned a(44):1617!CHECK: !DIR$ ASSUME_ALIGNED a(44):16 18 DO i=1,nn19 a(i)=a(i)+1.520 END DO21END SUBROUTINE aa22 23SUBROUTINE bb(v, s, e)24 IMPLICIT NONE25 INTEGER, INTENT(IN) :: s(3), e(3)26 INTEGER :: y,z27 REAL(8), INTENT(IN) :: v(s(1):e(1),s(2):e(2),s(3):e(3))28 !DIR$ assume_aligned v(s(1),y,z) :6429!CHECK: !DIR$ ASSUME_ALIGNED v(s(1),y,z):6430END SUBROUTINE bb31 32SUBROUTINE f(n)33 IMPLICIT NONE34 TYPE node 35 REAL(KIND=8), POINTER :: a(:,:)36 END TYPE NODE 37 38 TYPE(NODE), POINTER :: nodes39 INTEGER :: i40 INTEGER, INTENT(IN) :: n41 42 ALLOCATE(nodes) 43 ALLOCATE(nodes%a(1000,1000))44 45 !DIR$ ASSUME_ALIGNED nodes%a(1,1) : 16 46!CHECK: !DIR$ ASSUME_ALIGNED nodes%a(1,1):1647 DO i=1,n 48 nodes%a(1,i) = nodes%a(1,i)+1 49 END DO 50END SUBROUTINE f51 52SUBROUTINE g(a, b)53 IMPLICIT NONE54 INTEGER, INTENT(in) :: a(128), b(128)55 !DIR$ ASSUME_ALIGNED a:32, b:6456!CHECK: !DIR$ ASSUME_ALIGNED a:32, b:6457END SUBROUTINE g58