2 Replies Latest reply on Mar 14, 2011 12:38 AM by llongeri

    Another CAL Compilation hanging

      This is another CAL source code that hangs both compiling from C or from the Stream Kernel Analizer 1.7


      This is another code example that hangs the compiler, with the SDK 2.3.

      It also hangs if I try to compile it within the Stream Kernel Analizer 1.7.

      In this case the last 2 ishl instructions hang the compiler. In this case I am shifting left 24 bits. Previously I posted another code that did the equivalente by multiplying by 0x1000000 and also hanged the compiler.

      dcl_num_thread_per_group 64
      dcl_cb cb0[3]
      dcl_literal l0, 5, 10, 0x100, 100
      dcl_literal l1, 4, 3, 2, 1
      dcl_literal l2, 0x10000, 1000, 24, 0
      mov r0.x, vaTid.x
      mov r0.y, vThreadGrpId.x
      mov r0.z, vTidInGrp.x
      umul r0.w, r0.x, l[0].x
      iadd r1, r0.wwww, l[1]
      iadd r2, cb0[0].xxxx, r1
      iadd r3.x, cb0[0].x, r0.w
      umod r4, r2, l[0].yyyy
      umod r3.y, r3.x, l[0].y
      udiv r5, r2, l[0].yyyy
      udiv r3.z, r3.x, l[0].y
      umod r6, r5, l[0].yyyy
      umod r3.w, r3.z, l[0].y
      umul r5, r6, l[0].zzzz
      umul r3.z, r3.w, l[0].z
      iadd r6, r4, r5
      iadd r3.w, r3.y, r3.z
      udiv r4, r2, l[0].wwww
      udiv r3.y, r3.x, l[0].w
      umod r5, r4, l[0].yyyy
      umod r3.z, r3.y, l[0].y
      umul r4, r5, l[2].xxxx
      umul r3.y, r3.z, l[2].x
      iadd r5, r6, r4
      iadd r3.z, r3.w, r3.y
      udiv r4, r2, l[2].yyyy
      udiv r3.y, r3.x, l[2].y
      umod r6, r4, l[0].yyyy
      umod r3.w, r3.y, l[0].y
      ishl r4, r6, l[2].zzzz
      ishl r3.y, r3.w, l[2].z
      iadd r6, r5, r4
      iadd r3.w, r3.z, r3.y
      mov g[r0.x], r6