Load TensorSize as dword-x1
@@ -2077,16 +2077,23 @@ class KernelWriterAssembly(KernelWriter):
sgpr("KernArgAddress",2), hex(kernArgOffset), "load size sum %u"%i )
kernArgOffset += 1*4
- kStr += inst("s_load_dwordx2", sgpr("Tensor2dSizeC+%u"%i,2), \
- sgpr("KernArgAddress",2), hex(kernArgOffset), "load tensor size" )
+ kStr += inst("s_load_dword", sgpr("Tensor2dSizeC+1"), \
+ sgpr("KernArgAddress",2), hex(kernArgOffset+0), "load tensor size" )
+ kStr += inst("s_load_dword", sgpr("Tensor2dSizeC+0"), \
+ sgpr("KernArgAddress",2), hex(kernArgOffset+4), "load tensor size" )
kernArgOffset += 2*4
- kStr += inst("s_load_dwordx2", sgpr("Tensor2dSizeA+%u"%i,2), \
- sgpr("KernArgAddress",2), hex(kernArgOffset), "load tensor size" )
+ kStr += inst("s_load_dword", sgpr("Tensor2dSizeA+1"), \
+ sgpr("KernArgAddress",2), hex(kernArgOffset+0), "load tensor size" )
+ kStr += inst("s_load_dword", sgpr("Tensor2dSizeA+0"), \
+ sgpr("KernArgAddress",2), hex(kernArgOffset+4), "load tensor size" )
kernArgOffset += 2*4
- kStr += inst("s_load_dwordx2", sgpr("Tensor2dSizeB+%u"%i,2), \
- sgpr("KernArgAddress",2), hex(kernArgOffset), "load tensor size" )
+ kStr += inst("s_load_dword", sgpr("Tensor2dSizeB+1"), \
+ sgpr("KernArgAddress",2), hex(kernArgOffset+0), "load tensor size" )
+ kStr += inst("s_load_dword", sgpr("Tensor2dSizeB+0"), \
+ sgpr("KernArgAddress",2), hex(kernArgOffset+4), "load tensor size" )
kernArgOffset += 2*4
+
kStr += inst("s_waitcnt", "lgkmcnt(0)", \
"wait for %u bytes of kern args" % kernArgOffset )
else:
