XAS Error Problems

Technical questions regarding the XTC tools and programming with XMOS.
User avatar
tomcarter259
Member++
Posts: 28
Joined: Tue Mar 15, 2011 3:29 pm

XAS Error Problems

Post by tomcarter259 »

I am having trouble compiling my code as I keep getting the error:

Code: Select all

xas: Error: unable to resolve encoder choice after 1000 loops
I've had a good hunt around but I'm not really sure what the error means. Can anyone enlighten me?

I have 14 near-identical output loops which each run on different cores. It seems to be perfectly happy with 12 or less of them but as soon as I add another I get this error.

Any perls of wisdom would be much appreciated :D


richard
Respected Member
Posts: 318
Joined: Tue Dec 15, 2009 12:46 am

Post by richard »

Branch instructions have both short and long instruction encodings. To determine if a short encoding is can be used you need to know the difference between the address of the the branch instruction and the address of the branch target. However the addresses depend on this size of instructions which depends on the choice of instruction encoding.

In order to resolve this chicken and egg problem the assembler calculates addresses assuming all branches instructions are short. Any branches that don't fit are then made long and the processes is repeated until a fixed point is reached. The error message suggests that after 1000 iterations the assembler still hasn't reached a fixed point. It errors out because if it still hasn't resolved all the branches after that number of iterations it is probably due to a bug somewhere.

I'd suggest creating a support ticket on xmos.com with information on how to reproduce the error you are seeing.
User avatar
tomcarter259
Member++
Posts: 28
Joined: Tue Mar 15, 2011 3:29 pm

Post by tomcarter259 »

Ok thanks for your reply and explanation.

I have created a ticket