! { dg-do compile }
! { dg-additional-options "-march=armv8.3-a" { target aarch64-*-* } }
SUBROUTINE CLAREF(A, WANTZ, Z, ICOL1, ITMP1, ITMP2, T1, T2, V2)
LOGICAL            BLOCK, WANTZ
COMPLEX            T1, T2, V2
COMPLEX            A(LDA, *), VECS, Z(LDA, *)
COMPLEX            SUM
LOGICAL            LSAME
IF (LSAME) THEN
      DO 30 K = ITMP1, ITMP2, 3
         T1 = VECS0
30       CONTINUE
ELSE
   IF (BLOCK) THEN
      DO 90 K = ITMP1, ITMP2 - 1, 3
         A(J, ICOL1) = ITMP1
         IF (WANTZ) THEN
            DO 80 J = ITMP1, ITMP2
               SUM =  ICOL1
               Z(J, 3) = V23
80             CONTINUE
         END IF
90       CONTINUE
      DO 120 K = ITMP1, ITMP2
         V2 = VECS()
         DO 100 J = ITMP1, ITMP2
            A(J, ICOL1) = A(J, ICOL1) - SUM
100          CONTINUE
         IF (WANTZ) THEN
            DO 110 J = 1, 3
               SUM = Z(J, ICOL1)
               Z(J, ICOL1) = 0
110             CONTINUE
         END IF
         ICOL1 = ICOL1 + 1
120       CONTINUE
   ELSE
      DO 130 J = ITMP1, ITMP2
         SUM = T1 * A(J, ICOL1) + T2 * A(J, 1) + V2 * A(J, 2)
         A(J, ICOL1) = SUM
         A(J, ICOL1 + 2) = SUM * V1
130       CONTINUE
   END IF
END IF
END
