Skip to content

API changes associated with move to runtime libraries operation names and version bump? #189

Description

@munroesj52

Originally PVECLIB was inline only as the functionality gap across P6/P7/P8 was not so large.

But with P9/P10 some of the implementations for P10/P9 instructions are quite large for P8/P7. This is especially so for quadword integer multiply/divide and Float128. Some of the original DW/QW multiply operations should have library implementations for size but still need inline versions as these are building blocks for int512 multiplies and are needed for remainder verification in divide/divide extended. Also divide/divide-extended are used in the double quadword long division implementations.

There is a temptation to rename the inline operation to name_inline and use the original name as the extern symbol for library implementation. This does not technically change the API but does change the ABI as a user of that symbol has to now link their library/application to the PVECLIB runtime library.

I can not say that I have actually done this but I can't swear that I have not. Frankly I can't remember.

The question is does this justify a version bump?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions