Acorn Arcade forums: Programming: CLZ and other instructions
|
CLZ and other instructions |
|
ksattic (06:15 23/8/2006) jmb (12:12 23/8/2006) pnaulls (14:46 23/8/2006) jmb (23:39 6/9/2006) adrianl (01:10 7/9/2006) jmb (08:07 7/9/2006)
|
|
Simon Wilson |
Message #79075, posted by ksattic at 06:15, 23/8/2006 |
Finally, an avatar!
Posts: 1291
|
With gcc 3.4.6 release 1, I am unable to assemble code that uses the CLZ, BX and PKHBT instructions. I am using the options:
-mcpu=xscale -mthumb-interwork
I believe these instructions should be supported on the IOP321. Even if I compile for the ARM11 target, I get the same problem, and I *know* they are supported on that! What am I doing wrong?
Edit: since the IOP321 is 5TE compatible, I wouldn't expect it to have the PKHBT (pack) instruction. I already confirmed the CLZ instruction works from BASIC, but I can't assemble it with gcc.
[Edited by ksattic at 07:52, 23/8/2006] |
|
[ Log in to reply ] |
|
JMB |
Message #79093, posted by jmb at 12:12, 23/8/2006, in reply to message #79075 |
Member
Posts: 467
|
Looking at the AS source; it doesn't appear to have support for CLZ or the packing stuff (which is ARMv6 + iirc). It looks like it should support BX (though I'm not so sure about BLX). Your best bet is to report the lack of complete ARMv5(TE)+ support to the GCCSDK developers and it'll get fixed at some point.
See here: http://www.riscos.info/index.php/GCCSDK#Bug_reporting
I'd also advise posting to the mailing list to make people aware of the issue as it's likely to affect others, too. |
|
[ Log in to reply ] |
|
Peter Naulls |
Message #79097, posted by pnaulls at 14:46, 23/8/2006, in reply to message #79093 |
Member
Posts: 317
|
Release 2 has some additional support for ARMv5 stuff, but as jmb says, report it to the mailing list. I only came across this by accident, and it's most likely myself who'd be responsible for adding it to the assembler. |
|
[ Log in to reply ] |
|
JMB |
Message #79888, posted by jmb at 23:39, 6/9/2006, in reply to message #79093 |
Member
Posts: 467
|
Right then. Release 2 (when it appears) will have support for the entire ARMv5E instruction set. Thumb support is non-existent (beyond B(L)X into Thumb mode). Adding support for this isn't high on my priority list (as I've no need for it and it'll require a fair bit of work).
As for ARMv6 support; I'd like to see it happen at some point but a) I don't have the time or energy at present to add the 100 or so new mnemonics b) I don't have a suitable reference for the encodings of the new instructions (the ARM ARM I have only covers up to ARMv5TE and the ARM 11 datasheets I've seen don't appear to cover that side of things (understandably)). |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #79891, posted by adrianl at 01:10, 7/9/2006, in reply to message #79888 |
Member
Posts: 1637
|
Right then. Release 2 (when it appears) will have support for the entire ARMv5E instruction set...
How many embarrassingly adulatory comments do I owe you? |
|
[ Log in to reply ] |
|
JMB |
Message #79897, posted by jmb at 08:07, 7/9/2006, in reply to message #79891 |
Member
Posts: 467
|
Right then. Release 2 (when it appears) will have support for the entire ARMv5E instruction set...
How many embarrassingly adulatory comments do I owe you? 1 less than that |
|
[ Log in to reply ] |
|
|
Acorn Arcade forums: Programming: CLZ and other instructions |