chill added inline comments.
================ Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:849-857 +// These pointer authentication instructions require armv8.3a +let Predicates = [HasV8_3a, HasPA] in { let Uses = [LR], Defs = [LR] in { def PACIAZ : SystemNoOperands<0b000, "hint\t#24">; def PACIBZ : SystemNoOperands<0b010, "hint\t#26">; let isAuthenticated = 1 in { def AUTIAZ : SystemNoOperands<0b100, "hint\t#28">; ---------------- wxz2020 wrote: > wxz2020 wrote: > > ktkachov wrote: > > > IIRC these instructions are deliberately allowed in pre-armv8.3 targets > > > because they are encoded in the NOP-space and can be deployed on > > > pre-armv8.3 targets > > I will do some research on this. > According to the documents, pointer authenticatoin got officially supporoted > starting from armv8.3. These instructions are executed as NOP on pre v8.3-A architectures. It allows you to have a single compatible binary that works correctly on pre v8.3-a (ofc, without pointer authentication), as well as on 8.3-a and later cores, with pointer authentication. Please, remove the predicates. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78129/new/ https://reviews.llvm.org/D78129 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits