Bug 592 - no ABIs available for A2O, A2I, Microwatt or LibreSOC
Summary: no ABIs available for A2O, A2I, Microwatt or LibreSOC
Status: RESOLVED INVALID
Alias: None
Product: Libre-SOC's first SoC
Classification: Unclassified
Component: Specification (show other bugs)
Version: unspecified
Hardware: Other Linux
: Highest blocker
Assignee: Luke Kenneth Casson Leighton
URL:
Depends on:
Blocks:
 
Reported: 2021-02-08 07:51 GMT by Luke Kenneth Casson Leighton
Modified: 2023-09-05 05:20 BST (History)
2 users (show)

See Also:
NLnet milestone: ---
total budget (EUR) for completion of task and all subtasks: 0
budget (EUR) for this task, excluding subtasks' budget: 0
parent task for budget allocation:
child tasks for budget allocation:
The table of payments (in EUR) for this task; TOML format:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luke Kenneth Casson Leighton 2021-02-08 07:51:47 GMT
this looks perfect:
https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html

no VSX.


https://openpowerfoundation.org/?resource_lib=64-bit-elf-v2-abi-specification-power-architecture

this is where it goes awry.

whilst the Compliancy Levels make VSX entirely optional, even at the Embedded FP level, it's the V2 ABI which forces VSX.
Comment 1 Luke Kenneth Casson Leighton 2021-02-08 07:58:03 GMT
http://lists.mailinglist.openpowerfoundation.org/pipermail/syssw-elfv2abi/
Comment 2 Luke Kenneth Casson Leighton 2021-02-08 08:02:20 GMT
http://lists.mailinglist.openpowerfoundation.org/pipermail/syssw-elfv2abi/2018-December/000014.html

found contact details for bill schmidtt
Comment 4 Jacob Lifshay 2021-02-08 15:05:21 GMT
if we can, we should try to use the v2 abi without altivec since it also has many other improvements.

*vsx is actually a misnomer when applied to powerpc's SIMD support in general*, it refers specifically to the new vector-scalar interop instructions added in POWER9 (or 8? icr), not to SIMD in general, we should use either altivec or SIMD as terms that people will recognize otherwise we may get software support for SIMD without vsx -- not the intended endpoint.
Comment 5 Jacob Lifshay 2021-02-08 15:38:42 GMT
(In reply to Jacob Lifshay from comment #4)
> if we can, we should try to use the v2 abi without altivec since it also has
> many other improvements.
> 
> *vsx is actually a misnomer when applied to powerpc's SIMD support in
> general*, it refers specifically to the new vector-scalar interop
> instructions added in POWER9 (or 8? icr), not to SIMD in general, we should
> use either altivec or SIMD as terms that people will recognize otherwise we
> may get software support for SIMD without vsx -- not the intended endpoint.

vmx is also an acceptable term for altivec:
https://en.wikipedia.org/wiki/AltiVec
Comment 7 Luke Kenneth Casson Leighton 2021-02-12 18:01:37 GMT
https://gcc.gnu.org/legacy-ml/gcc/2015-11/msg00068.html
Comment 8 Luke Kenneth Casson Leighton 2021-02-12 22:02:04 GMT
good example
https://patches-gcc.linaro.org/patch/4834/
Comment 9 Luke Kenneth Casson Leighton 2023-09-05 05:20:14 BST
this turns out not to be true (many thanks to steve, author of pveclib)
there *is* an ABI, it is currently v2.0 soon to be v2.1, and VSX
*is* optional, as are many other things that suit SFFS and SFS
perfectly fine.

steve kindly explained to me that going back to v1.4 for example
would be a serious mistake, as there were a *lot* of issues fixed.
it also turns out to be straightforward to pass
the options to today's gcc to get it to disable
VSX and 128-bit FP: https://bugs.libre-soc.org/show_bug.cgi?id=1131#c1