cs3.asm 789 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*// RUN: %testasm %s /Fo %t.dxbc*/
  2. // RUN: %dxbc2dxil %t.dxbc /emit-llvm /o %t.ll.converted
  3. // RUN: fc %b.ref %t.ll.converted
  4. cs_5_0
  5. dcl_globalFlags refactoringAllowed
  6. dcl_constantbuffer cb0[1], immediateIndexed
  7. dcl_input vThreadIDInGroup.xyz
  8. dcl_temps 3
  9. dcl_tgsm_raw g0, 1024
  10. dcl_thread_group 4, 2, 3
  11. ishl r0.x, vThreadIDInGroup.z, l(2)
  12. store_raw g0.xy, r0.x, cb0[0].wzyx
  13. sync_g
  14. sync_ugroup
  15. sync_uglobal
  16. sync_g_t
  17. sync_ugroup_t
  18. sync_uglobal_t
  19. sync_ugroup_g
  20. sync_uglobal_g
  21. sync_ugroup_g_t
  22. sync_uglobal_g_t
  23. ld_raw r0.xz, r0.x, g0.zxwy
  24. imm_atomic_iadd r2.x, g0, r1.xyxx, vThreadIDInGroup.x
  25. atomic_or g0, r1.xyxx, vThreadIDInGroup.x
  26. atomic_cmp_store g0, r1.xyxx, vThreadIDInGroup.y, vThreadIDInGroup.x
  27. imm_atomic_cmp_exch r1.x, g0, r1.xyxx, vThreadIDInGroup.y, vThreadIDInGroup.x
  28. ret