[RFC] SVP64 Cray-style Vectorisation of the OpenPOWER scalar ISA

Alan Modra amodra@gmail.com
Mon Mar 22 11:30:52 GMT 2021

On Sun, Mar 21, 2021 at 10:58:31AM +0000, lkcl wrote:
> * spaces in standard register names create a syntax error.
> * division works when it's a straight number (immediate)
> * add - even when it's a register number (5+3) - works!
> * add - when it's a register operand (r5+3) - does *not* work.
> conclusion: "/" definitely not ok in operands,

That's not the case as you just said so yourself in immediate
operands.  You can also have quite complex expressions using integers
when gas expects a register operand.  That powerpc gas behaves this
way reflects the fact that the assembler was designed with the idea
that operands are just expressions.  Symbolic register names are
syntactic sugar, and yes, deliberately quite limited in order to
provide a little more error checking.  (If rn was just a built-in
symbol with value n then it would be harder to disallow something like
"addi r6,r5,r4".)

> also probably ok with "r0.v" no spaces.

I'm completely OK if that's the way you want to go.  The example I
gave with a space before .v was mostly to show that the gas
preprocessor can do weird things with spaces.

Alan Modra
Australia Development Lab, IBM

More information about the Binutils mailing list