noloader / POWER8-crypto

The unoffical guide to POWER8 in-core crypto

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vector dereferences section

wschmidt-ibm opened this issue · comments

The discussion in the "Vector derefences" section describes language from the OpenPOWER ELFv2 ABI document that has been recently superceded by errata. We independently discovered that this language is contrary to the C specification (the described casts are undefined behavior) while doing some optimization work for aligned pointers. Unfortunately the document is in process of being moved from the "public review" section to a published resource, so the link to it is 404ing today. It should soon be available, though, at https://openpowerfoundation.org/?resource_lib=openpower-elfv2-errata-elfv2-abi-version-1-4. The gist of the changes are to walk back all discussions of using the dereference operator for unaligned loads and stores; vec_xl, vec_xst, vec_xl_be, vec_xst_be are the proper ways of using them. I'm sorry that you ran afoul of this problem before we got the errata published.

Thanks @wschmidt-ibm,

Do you recommend we just delete the section since the OpenPOWER spec is being updated?

Probably. I'll look at it again today -- I got halfway through your doc late yesterday and it generally is looking very good! Once I'm through the whole thing I'll have a better idea.

Thanks @wschmidt-ibm,

I commented-out the section in the source code. The comment is just a HTML/XML <!-- and -->. DocBook makes those tasks relatively easy.

I also switched fonts to Arial. It should be easier on your eyes. My eyes burn after a while if reading one of the ancient fonts.

Thanks! And thanks for the Arial, that is indeed much nicer. I've managed to get set up to build the document, so I can start making some changes now. Will try to get this all wrapped up this afternoon.

I'm adding some language about the bad ABI description and the errata, since I think others are likely to run into this issue.