Assembly A00049 error Topic is solved

If you have a simple question and just want an answer.
Post Reply
jmarple
Junior Member
Posts: 5
Joined: Tue Jun 14, 2016 5:09 am
Location: MA, USA
Contact:

Assembly A00049 error

Post 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.


View Solution
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post 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..
jmarple
Junior Member
Posts: 5
Joined: Tue Jun 14, 2016 5:09 am
Location: MA, USA
Contact:

Post by jmarple »

Ahh, of course. Thanks for the explanation!
Post Reply