brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.7 KiB · 16dc7a1 Raw
292 lines · plain
1! RUN: %flang_fc1 -fdebug-unparse-no-sema -fopenmp %s | FileCheck %s2 3program main4   implicit none5   integer :: i, j = 106   integer :: k7!READ8!$omp atomic read9   i = j10!$omp atomic seq_cst read11   i = j12!$omp atomic read seq_cst13   i = j14!$omp atomic release read15   i = j16!$omp atomic read release17   i = j18!$omp atomic acq_rel read19   i = j20!$omp atomic read acq_rel21   i = j22!$omp atomic acquire read23   i = j24!$omp atomic read acquire25   i = j26!$omp atomic relaxed read27   i = j28!$omp atomic read relaxed29   i = j30 31! WRITE32!$omp atomic write33   i = j34!$omp atomic seq_cst write35   i = j36!$omp atomic write seq_cst37   i = j38!$omp atomic release write39   i = j40!$omp atomic write release41   i = j42!$omp atomic acq_rel write43   i = j44!$omp atomic write acq_rel45   i = j46!$omp atomic acquire write47   i = j48!$omp atomic write acquire49   i = j50!$omp atomic relaxed write51   i = j52!$omp atomic write relaxed53   i = j54 55!UPDATE56!$omp atomic update57   i = j58!$omp atomic seq_cst update59   i = j60!$omp atomic update seq_cst61   i = j62!$omp atomic release update63   i = j64!$omp atomic update release65   i = j66!$omp atomic acq_rel update67   i = j68!$omp atomic update acq_rel69   i = j70!$omp atomic acquire update71   i = j72!$omp atomic update acquire73   i = j74!$omp atomic relaxed update75   i = j76!$omp atomic update relaxed77   i = j78 79!CAPTURE80!$omp atomic capture81   i = j82   i = j83!$omp end atomic84!$omp atomic seq_cst capture85   i = j86   i = j87!$omp end atomic88!$omp atomic capture seq_cst89   i = j90   i = j91!$omp end atomic92!$omp atomic release capture93   i = j94   i = j95!$omp end atomic96!$omp atomic capture release97   i = j98   i = j99!$omp end atomic100!$omp atomic acq_rel capture101   i = j102   i = j103!$omp end atomic104!$omp atomic capture acq_rel105   i = j106   i = j107!$omp end atomic108!$omp atomic acquire capture109   i = j110   i = j111!$omp end atomic112!$omp atomic capture acquire113   i = j114   i = j115!$omp end atomic116!$omp atomic relaxed capture117   i = j118   i = j119!$omp end atomic120!$omp atomic capture relaxed121   i = j122   i = j123!$omp end atomic124 125!COMPARE126!$omp atomic compare127   if (k == i) k = j128!$omp atomic seq_cst compare129   if (k == j) then130      k = i131   end if132!$omp atomic compare seq_cst133   if (k .eq. j) then134      k = i135   end if136!$omp atomic release compare137   if (i .eq. j) k = i138!$omp atomic compare release139   if (i .eq. j) then140      i = k141   end if142!$omp atomic acq_rel compare143   if (k .eq. j) then144      j = i145   end if146!$omp atomic compare acq_rel147   if (i .eq. j) then148      i = k149   end if150!$omp atomic acquire compare151   if (i .eq. j + 1) then152      i = j153   end if154   155!$omp atomic compare acquire156   if (i .eq. j) then157      i = k158   end if159!$omp atomic relaxed compare160   if (i .eq. j) then161      i = k162   end if163!$omp atomic compare relaxed164   if (i .eq. k) then165      i = j166   end if167 168 169!$omp atomic compare fail(relaxed)170   if (i .eq. k) then171      i = j172   end if173!$omp atomic fail(relaxed) compare174   if (i .eq. k) then175      i = j176   end if177!$omp atomic fail(relaxed) compare acquire178   if (i .eq. k) then179      i = j180   end if181   182!ATOMIC183!$omp atomic184   i = j185!$omp atomic seq_cst186   i = j187!$omp atomic release188   i = j189!$omp atomic acq_rel190   i = j191!$omp atomic acquire192   i = j193!$omp atomic relaxed194   i = j195 196end program main197!CHECK-LABEL: PROGRAM main198 199!READ200 201!CHECK: !$OMP ATOMIC READ202!CHECK: !$OMP ATOMIC SEQ_CST READ203!CHECK: !$OMP ATOMIC READ SEQ_CST204!CHECK: !$OMP ATOMIC RELEASE READ205!CHECK: !$OMP ATOMIC READ RELEASE206!CHECK: !$OMP ATOMIC ACQ_REL READ207!CHECK: !$OMP ATOMIC READ ACQ_REL208!CHECK: !$OMP ATOMIC ACQUIRE READ209!CHECK: !$OMP ATOMIC READ ACQUIRE210!CHECK: !$OMP ATOMIC RELAXED READ211!CHECK: !$OMP ATOMIC READ RELAXED212 213!WRITE214 215!CHECK: !$OMP ATOMIC WRITE216!CHECK: !$OMP ATOMIC SEQ_CST WRITE217!CHECK: !$OMP ATOMIC WRITE SEQ_CST218!CHECK: !$OMP ATOMIC RELEASE WRITE219!CHECK: !$OMP ATOMIC WRITE RELEASE220!CHECK: !$OMP ATOMIC ACQ_REL WRITE221!CHECK: !$OMP ATOMIC WRITE ACQ_REL222!CHECK: !$OMP ATOMIC ACQUIRE WRITE223!CHECK: !$OMP ATOMIC WRITE ACQUIRE224!CHECK: !$OMP ATOMIC RELAXED WRITE225!CHECK: !$OMP ATOMIC WRITE RELAXED226 227!UPDATE228 229!CHECK: !$OMP ATOMIC UPDATE230!CHECK: !$OMP ATOMIC SEQ_CST UPDATE231!CHECK: !$OMP ATOMIC UPDATE SEQ_CST232!CHECK: !$OMP ATOMIC RELEASE UPDATE233!CHECK: !$OMP ATOMIC UPDATE RELEASE234!CHECK: !$OMP ATOMIC ACQ_REL UPDATE235!CHECK: !$OMP ATOMIC UPDATE ACQ_REL236!CHECK: !$OMP ATOMIC ACQUIRE UPDATE237!CHECK: !$OMP ATOMIC UPDATE ACQUIRE238!CHECK: !$OMP ATOMIC RELAXED UPDATE239!CHECK: !$OMP ATOMIC UPDATE RELAXED240 241!CAPTURE242 243!CHECK: !$OMP ATOMIC CAPTURE244!CHECK: !$OMP END ATOMIC245!CHECK: !$OMP ATOMIC SEQ_CST CAPTURE246!CHECK: !$OMP END ATOMIC247!CHECK: !$OMP ATOMIC CAPTURE SEQ_CST248!CHECK: !$OMP END ATOMIC249!CHECK: !$OMP ATOMIC RELEASE CAPTURE250!CHECK: !$OMP END ATOMIC251!CHECK: !$OMP ATOMIC CAPTURE RELEASE252!CHECK: !$OMP END ATOMIC253!CHECK: !$OMP ATOMIC ACQ_REL CAPTURE254!CHECK: !$OMP END ATOMIC255!CHECK: !$OMP ATOMIC CAPTURE ACQ_REL256!CHECK: !$OMP END ATOMIC257!CHECK: !$OMP ATOMIC ACQUIRE CAPTURE258!CHECK: !$OMP END ATOMIC259!CHECK: !$OMP ATOMIC CAPTURE ACQUIRE260!CHECK: !$OMP END ATOMIC261!CHECK: !$OMP ATOMIC RELAXED CAPTURE262!CHECK: !$OMP END ATOMIC263!CHECK: !$OMP ATOMIC CAPTURE RELAXED264!CHECK: !$OMP END ATOMIC265 266!COMPARE267 268!CHECK: !$OMP ATOMIC COMPARE269!CHECK: !$OMP ATOMIC SEQ_CST COMPARE270!CHECK: !$OMP ATOMIC COMPARE SEQ_CST271!CHECK: !$OMP ATOMIC RELEASE COMPARE272!CHECK: !$OMP ATOMIC COMPARE RELEASE273!CHECK: !$OMP ATOMIC ACQ_REL COMPARE274!CHECK: !$OMP ATOMIC COMPARE ACQ_REL275!CHECK: !$OMP ATOMIC ACQUIRE COMPARE276!CHECK: !$OMP ATOMIC COMPARE ACQUIRE277!CHECK: !$OMP ATOMIC RELAXED COMPARE278!CHECK: !$OMP ATOMIC COMPARE RELAXED279!CHECK: !$OMP ATOMIC COMPARE FAIL(RELAXED)280!CHECK: !$OMP ATOMIC FAIL(RELAXED) COMPARE281!CHECK: !$OMP ATOMIC FAIL(RELAXED) COMPARE ACQUIRE282 283!ATOMIC284!CHECK: !$OMP ATOMIC285!CHECK: !$OMP ATOMIC SEQ_CST286!CHECK: !$OMP ATOMIC RELEASE287!CHECK: !$OMP ATOMIC ACQ_REL288!CHECK: !$OMP ATOMIC ACQUIRE289!CHECK: !$OMP ATOMIC RELAXED290 291 292