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