1! { dg-do compile }
2! { dg-additional-options "-Ofast" }
3! { dg-additional-options "-mavx" { target x86_64-*-* i?86-*-* } }
4
5      SUBROUTINE PASSB4 (IDO,L1,CC,CH,WA1,WA2,WA3)
6      IMPLICIT REAL(4) (A-H, O-Z)
7      DIMENSION       CC(IDO,4,L1)           ,CH(IDO,L1,4)           ,&
8                     WA1(*)     ,WA2(*)     ,WA3(*)
9  102 DO 104 K=1,L1
10         DO 103 I=2,IDO,2
11            TI1 = CC(I,1,K)-CC(I,3,K)
12            TI2 = CC(I,1,K)+CC(I,3,K)
13            TI3 = CC(I,2,K)+CC(I,4,K)
14            TR4 = CC(I,4,K)-CC(I,2,K)
15            TR1 = CC(I-1,1,K)-CC(I-1,3,K)
16            TR2 = CC(I-1,1,K)+CC(I-1,3,K)
17            TI4 = CC(I-1,2,K)-CC(I-1,4,K)
18            TR3 = CC(I-1,2,K)+CC(I-1,4,K)
19            CH(I-1,K,1) = TR2+TR3
20            CR3 = TR2-TR3
21            CH(I,K,1) = TI2+TI3
22            CI3 = TI2-TI3
23            CR2 = TR1+TR4
24            CI4 = TI1-TI4
25            CH(I-1,K,2) = TI1
26            CH(I,K,2) = CR2
27            CH(I-1,K,3) = WA2(I-1)*CR3-WA2(I)*CI3
28            CH(I,K,3) = WA2(I-1)*CI3+WA2(I)*CR3
29            CH(I-1,K,4) = CI4
30            CH(I,K,4) = CI4
31  103    CONTINUE
32  104 CONTINUE
33      RETURN
34      END
35