brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · ede9809 Raw
50 lines · plain
1! RUN: %flang_fc1 -fdebug-unparse -x cuda %s 2>&1 | FileCheck %s2include "cuf-sanity-common"3!CHECK: SUBROUTINE atcuf4!CHECK: END SUBROUTINE5!CHECK: SUBROUTINE cudadefd6!CHECK: END SUBROUTINE7!CHECK: MODULE m8!CHECK:  REAL, ALLOCATABLE, PINNED :: pa(:)9!CHECK: CONTAINS10!CHECK:  ATTRIBUTES(DEVICE) SUBROUTINE devicesub11!CHECK:  END SUBROUTINE12!CHECK:  ATTRIBUTES(DEVICE) REAL FUNCTION devicefunc()13!CHECK:    devicefunc=1._414!CHECK:  END FUNCTION15!CHECK:  ATTRIBUTES(GLOBAL) SUBROUTINE globalsub16!CHECK:  END SUBROUTINE17!CHECK:  ATTRIBUTES(GRID_GLOBAL) SUBROUTINE gridglobalsub18!CHECK:  END SUBROUTINE19!CHECK:  ATTRIBUTES(HOST) SUBROUTINE hostsub20!CHECK:  END SUBROUTINE21!CHECK:  ATTRIBUTES(GLOBAL) LAUNCH_BOUNDS(1_4, 2_4) SUBROUTINE lbsub22!CHECK:  END SUBROUTINE23!CHECK:  ATTRIBUTES(GLOBAL) CLUSTER_DIMS(1_4, 2_4, 3_4) SUBROUTINE cdsub24!CHECK:  END SUBROUTINE25!CHECK:  ATTRIBUTES(DEVICE) SUBROUTINE attrs26!CHECK:   ATTRIBUTES(DEVICE) devx127!CHECK:   REAL, DEVICE :: devx228!CHECK:  END SUBROUTINE29!CHECK:  SUBROUTINE test30!CHECK:   LOGICAL ispinned31!CHECK:   !$CUF KERNEL DO (1_4) <<<*,*,STREAM=1_4>>>32!CHECK:   DO j=1_4,10_433!CHECK:   END DO34!CHECK:   !$CUF KERNEL DO <<<1_4,(2_4,3_4),STREAM=1_4>>>35!CHECK:   DO j=1_4,10_436!CHECK:   END DO37!CHECK:   !$CUF KERNEL DO <<<*,*>>> REDUCE(+:x,y) REDUCE(*:z)38!CHECK:   DO j=1_4,10_439!CHECK:    x=x+a(int(j,kind=8))40!CHECK:    y=y+a(int(j,kind=8))41!CHECK:    z=z*a(int(j,kind=8))42!CHECK:   END DO43!CHECK:    CALL globalsub<<<1_4,2_4>>>()44!CHECK:    CALL globalsub<<<1_4,2_4,3_4>>>()45!CHECK:    CALL globalsub<<<1_4,2_4,3_4,4_4>>>()46!CHECK:    CALL globalsub<<<-1_4,5_4>>>()47!CHECK:   ALLOCATE(pa(32_4), PINNED=ispinned)48!CHECK:  END SUBROUTINE49!CHECK: END MODULE50