This adds SM3 and SM4 Intrinsics support for AArch64, specifically:
vsm3ss1q_u32 vsm3tt1aq_u32 vsm3tt1bq_u32 vsm3tt2aq_u32 vsm3tt2bq_u32 vsm3partw1q_u32 vsm3partw2q_u32 vsm4eq_u32 vsm4ekeyq_u32
Paths
| Differential D95655
[AArch64] Adding Neon Sm3 & Sm4 Intrinsics ClosedPublic Authored by rsanthir.quic on Jan 28 2021, 6:27 PM.
Details Summary This adds SM3 and SM4 Intrinsics support for AArch64, specifically: vsm3ss1q_u32 vsm3tt1aq_u32 vsm3tt1bq_u32 vsm3tt2aq_u32 vsm3tt2bq_u32 vsm3partw1q_u32 vsm3partw2q_u32 vsm4eq_u32 vsm4ekeyq_u32
Diff Detail Event TimelineHerald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJan 28 2021, 6:27 PM Comment Actions This is the first in a series of patches that will address the following: labrinea added inline comments.
lebedev.ri retitled this revision from Adding Neon Sm3 & Sm4 Intrinsics to [AArch64] Adding Neon Sm3 & Sm4 Intrinsics.Jan 29 2021, 5:23 AM rsanthir.quic marked an inline comment as done. Comment ActionsCorrected register ordering for sm4e and removed redundant argument in sm3ss1 test This revision is now accepted and ready to land.Jan 30 2021, 7:26 AM
Closed by commit rG61cca0f2e5bb: [AArch64] Adding Neon Sm3 & Sm4 Intrinsics (authored by pzheng). · Explain WhyFeb 11 2021, 2:21 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 322470 clang/include/clang/Basic/arm_neon.td
clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/aarch64-neon-range-checks.c
clang/test/CodeGen/aarch64-neon-sm4-sm3.c
llvm/include/llvm/IR/IntrinsicsAArch64.td
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/test/CodeGen/AArch64/neon-sm4-sm3.ll
|
The test is written for aarch64 triple, in addition @t.p.northover might want to add arm64 triple checks. Tim what do you think?