CAL dissasembly error, and scratch regs...

Discussion created by malcolm3141 on Aug 15, 2010
Latest reply on Aug 16, 2010 by Jawed

I have just installed SDK 2.2, and strangely the CAL IL compiler is behaving differently. I thought this was part of the drivers, and hence wouldn't change with the installation of a new OpenCL sdk?

Anyway, the first issue is one of my kernels that gives the following error during dissasembly (in SKA 1.6, or using CAL dissasembly routines):

Error: trans operation cannot take LDS source

    t: MOV    R3.y, QA.pop

This dissasembled without issue before I installed the new SDK.


The other issue is a pair of similar IL kernels which are now compiled to ASM using scratch registers. Before installing SDK 2.2 the compiled result used 18 GPRs, and now with SDK 2.2 they are twice as long, and using 12 scratch regs and 15 GPRs. What changed to make the compiler decide to spill these registers? Can I do anything to stop that?