* tree-loop-distribution.c (struct partition): New field recording
[official-gcc.git] / gcc / testsuite / gfortran.dg / vect / vect-9.f90
blob8b07911e98f66c2698060c6cb3759633dc0871ed
1 ! { dg-do compile }
2 ! { dg-additional-options "-Ofast" }
3 ! { dg-additional-options "-mavx" { target x86_64-*-* i?86-*-* } }
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