This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

"Instruction Not Supported" error for SMLSD on ARM968E-S?

Note: This was originally posted on 19th October 2009 at http://forums.arm.com

Hi, I'm running into a problem (or to be exact, a collaborator of mine is seeing this problem)
with ARM assembler. It reports SMLSD instruction as not supported on the ARM968E-S
(a processor that according to the documentation *does* support this instruction. The
exact error message is:

../lib/neurofunc/subTimerInt.s(138) : error A1356:  Instruction not supported on targeted CPU

and the critical lines  are:

          SMULBT  r6, r6, r6                                ;r6 = Rmem/t
          SMULWB  r6, r6, r1                                ;Rmem/t*I
          SMLSD   r4, r5, r4, r6                            ;r4 = 1/t*(Vrest-v+IRmem)
         
          ;;if (v > THRESHOLD)?
          CMP      r4, r7, LSR #FixedP2           
          BGE      fired

for which the offending line is (obviously) the one containing the SMLSD.

The assembler invocation looks like:

armasm --diag_style=ide --depend="lib/neurofunc/subTimerInt.d" -g --keep --cpu=ARM968E-S -o"lib/neurofunc/subTimerInt.o" "../lib/neurofunc/subTimerInt.s" && \

and it's worth noting that the assembler is also reporting instruction not supported for the
ARM1136JF-S and  ARM1176JZF-S.

Any ideas why this is failing?

Thanks for any help.
0