[clang] [llvm] [Clang][LLVM][AArch64] Add intrinsic for MOVT SME2 instruction (PR #97602)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 13 10:32:29 PDT 2024
================
@@ -935,7 +935,7 @@ defm FAMIN_4Z4Z : sme2_fp_sve_destructive_vector_vg4_multi<"famin", 0b0010101>;
} //[HasSME2, HasFAMINMAX]
let Predicates = [HasSME2, HasSME_LUTv2] in {
----------------
SpencerAbson wrote:
Not to do with this work, but I think the predication around FEAT_SME_LUTv2 is incorrect.
According to latest spec, these instructions should both only require FEAT_SME_LUTv2
- [MOVT](https://developer.arm.com/documentation/ddi0602/2024-06/SME-Instructions/MOVT--vector-to-table---Move-vector-register-to-ZT0-?lang=en)
- [LUTi4](https://developer.arm.com/documentation/ddi0602/2024-06/SME-Instructions/LUTI4--four-registers--8-bit---Lookup-table-read-with-4-bit-indexes-and-8-bit-elements-?lang=en)
which itself requires SME2:
> If FEAT_SME_LUTv2 is implemented, then FEAT_SME2 is implemented.
[(from arm developer latest)](https://developer.arm.com/documentation/109697/0100/Feature-descriptions/The-Armv9-5-architecture-extension?lang=en#md462-the-armv95-architecture-extension__FEAT_SME_LUTv2)
So we could remove SME2 from this predicate and list it as a dependency of FEAT_SME_LUTv2 in AArch64Features.td.
https://github.com/llvm/llvm-project/pull/97602
More information about the cfe-commits
mailing list