This is an archive of the discontinued LLVM Phabricator instance.

[Clang] Add AArch64 VCMLA LANE variants.
ClosedPublic

Authored by fhahn on Dec 10 2020, 2:02 AM.

Details

Summary

This patch adds the LANE variants for VCMLA on AArch64 as defined in
"Arm Neon Intrinsics Reference for ACLE Q3 2020" [1]

This patch also updates dup_typed to accept constant type strings directly.

Based on a patch by Tim Northover.

[1] https://developer.arm.com/documentation/ihi0073/latest

Diff Detail

Event Timeline

fhahn created this revision.Dec 10 2020, 2:02 AM
fhahn requested review of this revision.Dec 10 2020, 2:02 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 10 2020, 2:02 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
fhahn updated this revision to Diff 314389.Jan 4 2021, 8:54 AM

Add comment to tblgen change, remove trailing whitespace.

fhahn edited the summary of this revision. (Show Details)Jan 4 2021, 8:56 AM
SjoerdMeijer added inline comments.Jan 4 2021, 9:04 AM
clang/include/clang/Basic/arm_neon.td
1911

I have looked only quickly at this, but I was expecting the "q" to appear here somewhere?

fhahn updated this revision to Diff 314452.Jan 4 2021, 1:56 PM

Add tests for rotated lane variants.

clang/include/clang/Basic/arm_neon.td
1911

Yes that is indeed a bit surprising. But the tablegen emitter has code that inserts the q automatically, if required, which kicks in here. (https://github.com/llvm/llvm-project/blob/main/clang/utils/TableGen/NeonEmitter.cpp#L1087)

SjoerdMeijer accepted this revision.Jan 5 2021, 1:06 AM
SjoerdMeijer added inline comments.
clang/include/clang/Basic/arm_neon.td
1911

Ok, thanks, LGTM

This revision is now accepted and ready to land.Jan 5 2021, 1:06 AM
This revision was automatically updated to reflect the committed changes.