[Libre-soc-dev] pysvp64asm: opcode setvli not supported
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Mon Jun 14 17:09:58 BST 2021
https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/sv/trans/svp64.py;hb=HEAD
nope, no setvl, how did i miss that??
https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/isa/test_caller_setvl.py;h=0a66dfeb6ca969ed17bbf1d9bbc9abe890fc0f40;hb=HEAD#l51
err but the unit test has it (and works) moo?
https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/sv/trans/svp64.py;hb=HEAD#l172
found it.
so yes setvl *note not sv.setvl* is converted to 32 bit .long so that
binutils does not need it.
https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=media/audio/mp3/mp3_0_apply_window_float_basicsv.s;hb=HEAD#l82
ok so that's interesting: using macros from gnu as, these *should*
work BUT, the process will need to be:
* binutils performs macro-substitution, a bit like "gcc -E" option
* svp64 conversion is carried out (inserting .long on front of 32bit suffix)
* finally gas compile to binary.
these 3 will be at some point merged into binutils but until they are
this is the best we can do.
Lauri do you know how gas can be told to only do macro expansion phase only?
i can investigate later and create a demo.
l.
More information about the Libre-soc-dev
mailing list