Page 1 of 1

Assembly A00049 error

Posted: Fri Feb 17, 2017 4:25 pm
by jmarple
Hello all,

I am currently writing a function in assembly and for certain commands in dual issue mode, I get the following error:
Error: A00049 no format matching for instruction: 'st8'
Code that can produce this error is:

Code: Select all

{st8 r0, r7[r1]; add r7, r7, 1}
and

Code: Select all

{ashr r0, r0, r1; nop;}
however this compiles fine:

Code: Select all

st8 r0, r7[r1]
add r7, r7, 1
and

Code: Select all

ashr r0, r0, r1
nop
Is there a reason why certain commands can't be run in dual issue? Oddly enough, if you switch st8 for ld8u, it compiles. If you switch ashr to shr, it compiles too.

I'm compiling within xTIMEcomposer 14.1.2 on windows 10 64bit.

Thanks for your help.

Re: Assembly A00049 error

Posted: Fri Feb 17, 2017 5:20 pm
by infiniteimprobability
Is there a reason why certain commands can't be run in dual issue? Oddly enough, if you switch st8 for ld8u, it compiles. If you switch ashr to shr, it compiles too.
Yes - if you look at https://www.xmos.com/download/private/x ... 1.1%29.pdf, P213, you can see the encoding of ST8 includes 3 operands in a 32b word.. So I'm afraid that can't be dual issued. AS you have noticed, there are more load instructions that are 16b so they can be dual issued..

I expect it was tradeoff made when looking at the instruction coding..

Re: Assembly A00049 error

Posted: Fri Feb 17, 2017 5:40 pm
by jmarple
Ahh, of course. Thanks for the explanation!