! { dg-do compile } ! { dg-additional-options "-Ofast" } ! { dg-additional-options "-mavx" { target x86_64-*-* i?86-*-* } } SUBROUTINE PASSB4 (IDO,L1,CC,CH,WA1,WA2,WA3) IMPLICIT REAL(4) (A-H, O-Z) DIMENSION CC(IDO,4,L1) ,CH(IDO,L1,4) ,& WA1(*) ,WA2(*) ,WA3(*) 102 DO 104 K=1,L1 DO 103 I=2,IDO,2 TI1 = CC(I,1,K)-CC(I,3,K) TI2 = CC(I,1,K)+CC(I,3,K) TI3 = CC(I,2,K)+CC(I,4,K) TR4 = CC(I,4,K)-CC(I,2,K) TR1 = CC(I-1,1,K)-CC(I-1,3,K) TR2 = CC(I-1,1,K)+CC(I-1,3,K) TI4 = CC(I-1,2,K)-CC(I-1,4,K) TR3 = CC(I-1,2,K)+CC(I-1,4,K) CH(I-1,K,1) = TR2+TR3 CR3 = TR2-TR3 CH(I,K,1) = TI2+TI3 CI3 = TI2-TI3 CR2 = TR1+TR4 CI4 = TI1-TI4 CH(I-1,K,2) = TI1 CH(I,K,2) = CR2 CH(I-1,K,3) = WA2(I-1)*CR3-WA2(I)*CI3 CH(I,K,3) = WA2(I-1)*CI3+WA2(I)*CR3 CH(I-1,K,4) = CI4 CH(I,K,4) = CI4 103 CONTINUE 104 CONTINUE RETURN END