Skip to content

[Clang] Missing intrinsic for VU64 x VU64 + VU128 vec_msum in Clang altivec.h #221065

Description

@johnplatts

GCC 11 and later has the vec_msum(__vector unsigned long long, __vector unsigned long long, __vector unsigned __int128) and vec_msum(__vector signed long long, __vector signed long long, __vector signed __int128) intrinsics that are missing from the Clang version of altivec.h.

The vec_msum(__vector unsigned long long, __vector unsigned long long, __vector unsigned __int128) is equivalent to the POWER9 vmsumudm instruction.

The GCC vec_msum(__vector signed long long, __vector signed long long, __vector signed __int128) intrinsic actually does vec_msum((__vector unsigned long)a, (__vector unsigned long)b, (__vector unsigned __int128)c).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    clang:frontendLanguage frontend issues, e.g. anything involving "Sema"

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions