This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] ACLE feature macro for Armv8.8-A MOPS
AbandonedPublic

Authored by tyb0807 on Dec 22 2021, 3:29 AM.

Details

Reviewers
tmatheson
Summary

This introduces the new __ARM_FEATURE_MOPS ACLE feature test macro,
which signals the availability of the new Armv8.8-A/Armv9.3-A
instructions for standardising memcpy, memset and memmove operations.

Diff Detail

Event Timeline

tmatheson created this revision.Dec 22 2021, 3:29 AM
tmatheson requested review of this revision.Dec 22 2021, 3:29 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptDec 22 2021, 3:29 AM

I think the most important use of the __ARM_FEATURE_MOPS is to check whether it's safe to use the new intrinsics, so it should only be defined by the compiler once it supports the intrinsics proposed in https://github.com/ARM-software/acle/pull/38/files

chill added a subscriber: chill.Dec 22 2021, 6:41 AM
chill added inline comments.
clang/lib/Basic/Targets/AArch64.cpp
666

So, this is enabled by default (as in "is mandatory part") of 8.8-a and 9.3-a? Why don't we handle it like other extensions in AArch64TargetParser.def like https://reviews.llvm.org/D115694#inline-1110596

Matt added a subscriber: Matt.Jan 4 2022, 9:39 AM
tyb0807 commandeered this revision.Feb 7 2022, 3:22 AM
tyb0807 added a reviewer: tmatheson.
tyb0807 abandoned this revision.Feb 7 2022, 3:24 AM

This is superseded by https://reviews.llvm.org/D118199. Comments have been addressed in the new patch. I should have commandeered this patch instead (did not know about this, sorry...).