Lines Matching refs:CPUFeatures
44 auditor_->last_instruction_ = CPUFeatures::None(); in RecordInstructionFeaturesScope()
50 void Record(const CPUFeatures& features) { in Record()
54 void Record(CPUFeatures::Feature feature0, in Record()
55 CPUFeatures::Feature feature1 = CPUFeatures::kNone, in Record()
56 CPUFeatures::Feature feature2 = CPUFeatures::kNone, in Record()
57 CPUFeatures::Feature feature3 = CPUFeatures::kNone) { in Record()
64 void RecordOneOrBothOf(CPUFeatures::Feature a, CPUFeatures::Feature b) { in RecordOneOrBothOf()
87 scope.Record(CPUFeatures::kNEON); in LoadStoreHelper()
95 scope.RecordOneOrBothOf(CPUFeatures::kFP, CPUFeatures::kNEON); in LoadStoreHelper()
108 scope.Record(CPUFeatures::kNEON); in LoadStorePairHelper()
114 scope.RecordOneOrBothOf(CPUFeatures::kFP, CPUFeatures::kNEON); in LoadStorePairHelper()
147 scope.Record(CPUFeatures::kFlagM); in VisitRotateRightIntoFlags()
157 scope.Record(CPUFeatures::kFlagM); in VisitEvaluateIntoFlags()
169 scope.Record(CPUFeatures::kRCpc); in VisitAtomicMemory()
173 scope.Record(CPUFeatures::kAtomics); in VisitAtomicMemory()
246 scope.Record(CPUFeatures::kPAuth); in VisitDataProcessing1Source()
265 scope.Record(CPUFeatures::kCRC32); in VisitDataProcessing2Source()
268 scope.Record(CPUFeatures::kPAuth, CPUFeatures::kPAuthGeneric); in VisitDataProcessing2Source()
296 scope.Record(CPUFeatures::kRCpc, CPUFeatures::kRCpcImm); in VisitLoadStoreRCpcUnscaledOffset()
304 scope.Record(CPUFeatures::kPAuth); in VisitLoadStorePAC()
325 scope.Record(CPUFeatures::kFP); in VisitFPCompare()
331 scope.Record(CPUFeatures::kFPHalf); in VisitFPCompare()
342 scope.Record(CPUFeatures::kFP); in VisitFPConditionalCompare()
346 scope.Record(CPUFeatures::kFPHalf); in VisitFPConditionalCompare()
357 scope.Record(CPUFeatures::kFP); in VisitFPConditionalSelect()
359 scope.Record(CPUFeatures::kFPHalf); in VisitFPConditionalSelect()
367 scope.Record(CPUFeatures::kFP); in VisitFPDataProcessing1Source()
380 scope.Record(CPUFeatures::kFPHalf); in VisitFPDataProcessing1Source()
390 scope.Record(CPUFeatures::kFrintToFixedSizedInt); in VisitFPDataProcessing1Source()
404 scope.Record(CPUFeatures::kFP); in VisitFPDataProcessing2Source()
415 scope.Record(CPUFeatures::kFPHalf); in VisitFPDataProcessing2Source()
427 scope.Record(CPUFeatures::kFP); in VisitFPDataProcessing3Source()
433 scope.Record(CPUFeatures::kFPHalf); in VisitFPDataProcessing3Source()
444 scope.Record(CPUFeatures::kFP); in VisitFPFixedPointConvert()
454 scope.Record(CPUFeatures::kFPHalf); in VisitFPFixedPointConvert()
465 scope.Record(CPUFeatures::kFP); in VisitFPImmediate()
467 scope.Record(CPUFeatures::kFPHalf); in VisitFPImmediate()
474 scope.Record(CPUFeatures::kFP); in VisitFPIntegerConvert()
504 scope.Record(CPUFeatures::kFPHalf); in VisitFPIntegerConvert()
508 scope.Record(CPUFeatures::kNEON); in VisitFPIntegerConvert()
511 scope.Record(CPUFeatures::kJSCVT); in VisitFPIntegerConvert()
524 scope.RecordOneOrBothOf(CPUFeatures::kFP, CPUFeatures::kNEON); in VisitLoadLiteral()
527 scope.Record(CPUFeatures::kNEON); in VisitLoadLiteral()
562 scope.Record(CPUFeatures::kAtomics); in VisitLoadStoreExclusive()
572 scope.Record(CPUFeatures::kLORegions); in VisitLoadStoreExclusive()
638 scope.Record(CPUFeatures::kNEON); in VisitNEON2RegMisc()
672 scope.Record(CPUFeatures::kFP); in VisitNEON2RegMisc()
678 scope.Record(CPUFeatures::kFP, CPUFeatures::kFrintToFixedSizedInt); in VisitNEON2RegMisc()
689 scope.Record(CPUFeatures::kFP, CPUFeatures::kNEON, CPUFeatures::kNEONHalf); in VisitNEON2RegMiscFP16()
696 scope.Record(CPUFeatures::kNEON); in VisitNEON3Different()
703 scope.Record(CPUFeatures::kNEON); in VisitNEON3Same()
705 scope.Record(CPUFeatures::kFP); in VisitNEON3Same()
712 scope.Record(CPUFeatures::kFP, CPUFeatures::kNEONHalf, CPUFeatures::kFHM); in VisitNEON3Same()
723 scope.Record(CPUFeatures::kNEON); in VisitNEON3SameExtra()
726 scope.Record(CPUFeatures::kFP, CPUFeatures::kFcma); in VisitNEON3SameExtra()
727 if (instr->GetNEONSize() == 1) scope.Record(CPUFeatures::kNEONHalf); in VisitNEON3SameExtra()
732 scope.Record(CPUFeatures::kDotProduct); in VisitNEON3SameExtra()
736 scope.Record(CPUFeatures::kRDM); in VisitNEON3SameExtra()
748 scope.Record(CPUFeatures::kFP, CPUFeatures::kNEON, CPUFeatures::kNEONHalf); in VisitNEON3SameFP16()
755 scope.Record(CPUFeatures::kNEON); in VisitNEONAcrossLanes()
758 scope.Record(CPUFeatures::kFP, CPUFeatures::kNEONHalf); in VisitNEONAcrossLanes()
761 scope.Record(CPUFeatures::kFP); in VisitNEONAcrossLanes()
768 scope.Record(CPUFeatures::kNEON); in VisitNEONByIndexedElement()
772 scope.Record(CPUFeatures::kDotProduct); in VisitNEONByIndexedElement()
776 scope.Record(CPUFeatures::kRDM); in VisitNEONByIndexedElement()
787 scope.Record(CPUFeatures::kFP, CPUFeatures::kNEONHalf, CPUFeatures::kFHM); in VisitNEONByIndexedElement()
798 scope.Record(CPUFeatures::kNEONHalf); in VisitNEONByIndexedElement()
804 scope.Record(CPUFeatures::kFP); in VisitNEONByIndexedElement()
809 scope.Record(CPUFeatures::kFP, CPUFeatures::kFcma); in VisitNEONByIndexedElement()
810 if (instr->GetNEONSize() == 1) scope.Record(CPUFeatures::kNEONHalf); in VisitNEONByIndexedElement()
821 scope.Record(CPUFeatures::kNEON); in VisitNEONCopy()
828 scope.Record(CPUFeatures::kNEON); in VisitNEONExtract()
836 scope.Record(CPUFeatures::kNEON); in VisitNEONLoadStoreMultiStruct()
844 scope.Record(CPUFeatures::kNEON); in VisitNEONLoadStoreMultiStructPostIndex()
852 scope.Record(CPUFeatures::kNEON); in VisitNEONLoadStoreSingleStruct()
860 scope.Record(CPUFeatures::kNEON); in VisitNEONLoadStoreSingleStructPostIndex()
867 scope.Record(CPUFeatures::kNEON); in VisitNEONModifiedImmediate()
870 scope.Record(CPUFeatures::kFP); in VisitNEONModifiedImmediate()
871 if (instr->ExtractBit(11)) scope.Record(CPUFeatures::kNEONHalf); in VisitNEONModifiedImmediate()
878 scope.Record(CPUFeatures::kNEON); in VisitNEONPerm()
885 scope.Record(CPUFeatures::kNEON); in VisitNEONScalar2RegMisc()
908 scope.Record(CPUFeatures::kFP); in VisitNEONScalar2RegMisc()
919 scope.Record(CPUFeatures::kFP, CPUFeatures::kNEON, CPUFeatures::kNEONHalf); in VisitNEONScalar2RegMiscFP16()
926 scope.Record(CPUFeatures::kNEON); in VisitNEONScalar3Diff()
933 scope.Record(CPUFeatures::kNEON); in VisitNEONScalar3Same()
935 scope.Record(CPUFeatures::kFP); in VisitNEONScalar3Same()
942 scope.Record(CPUFeatures::kNEON, CPUFeatures::kRDM); in VisitNEONScalar3SameExtra()
949 scope.Record(CPUFeatures::kFP, CPUFeatures::kNEON, CPUFeatures::kNEONHalf); in VisitNEONScalar3SameFP16()
957 scope.Record(CPUFeatures::kNEON); in VisitNEONScalarByIndexedElement()
961 scope.Record(CPUFeatures::kRDM); in VisitNEONScalarByIndexedElement()
969 scope.Record(CPUFeatures::kNEONHalf); in VisitNEONScalarByIndexedElement()
975 scope.Record(CPUFeatures::kFP); in VisitNEONScalarByIndexedElement()
986 scope.Record(CPUFeatures::kNEON); in VisitNEONScalarCopy()
993 scope.Record(CPUFeatures::kNEON); in VisitNEONScalarPairwise()
1000 scope.Record(CPUFeatures::kNEONHalf); in VisitNEONScalarPairwise()
1007 scope.Record(CPUFeatures::kFP); in VisitNEONScalarPairwise()
1019 scope.Record(CPUFeatures::kNEON); in VisitNEONScalarShiftImmediate()
1025 scope.Record(CPUFeatures::kFP); in VisitNEONScalarShiftImmediate()
1028 scope.Record(CPUFeatures::kNEONHalf); in VisitNEONScalarShiftImmediate()
1040 scope.Record(CPUFeatures::kNEON); in VisitNEONShiftImmediate()
1046 scope.Record(CPUFeatures::kFP); in VisitNEONShiftImmediate()
1049 scope.Record(CPUFeatures::kNEONHalf); in VisitNEONShiftImmediate()
1061 scope.Record(CPUFeatures::kNEON); in VisitNEONTable()
1222 scope.Record(CPUFeatures::kSVE); \
1232 CPUFeatures required; in VIXL_SIMPLE_SVE_VISITOR_LIST()
1247 required.Combine(CPUFeatures::kPAuth); in VIXL_SIMPLE_SVE_VISITOR_LIST()
1252 required.Combine(CPUFeatures::kRAS); in VIXL_SIMPLE_SVE_VISITOR_LIST()
1258 required.Combine(CPUFeatures::kBTI); in VIXL_SIMPLE_SVE_VISITOR_LIST()
1274 scope.Record(CPUFeatures::kDCPoP); in VIXL_SIMPLE_SVE_VISITOR_LIST()
1277 scope.Record(CPUFeatures::kDCCVADP); in VIXL_SIMPLE_SVE_VISITOR_LIST()
1289 scope.Record(CPUFeatures::kFlagM); in VIXL_SIMPLE_SVE_VISITOR_LIST()
1293 scope.Record(CPUFeatures::kAXFlag); in VIXL_SIMPLE_SVE_VISITOR_LIST()
1301 scope.Record(CPUFeatures::kRNG); in VIXL_SIMPLE_SVE_VISITOR_LIST()
1337 scope.Record(CPUFeatures::kPAuth); in VisitUnconditionalBranchToRegister()