1 Reply Latest reply on Mar 9, 2011 7:17 PM by llongeri

    CAL compilation hangs

      CAL compilation hangs if I compile that multiplies with a specific constant value, if I change it compiles


      I have come to the following IL code that hangs the CAL compiler (with 100% cpu usage).

      dcl_num_thread_per_group 64
      dcl_cb cb0[2]
      dcl_literal l0, 5, 10, 0x100, 100
      dcl_literal l1, 4, 3, 2, 1
      dcl_literal l2, 0x10000, 1000, 0x1000000, 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
      umul r4, r6, l[2].zzzz
      umul r3.y, r3.w, l[2].z
      iadd r6, r5, r4
      iadd r3.w, r3.z, r3.y
      mov g[r0.x], r6