| 91 | }; |
| 92 | |
| 93 | void FEX::CPUFeatures::FillFeatureFlags() { |
| 94 | // ISAR0 |
| 95 | if (ISAR0.SupportsAES()) { |
| 96 | SetFeature(Feature::AES); |
| 97 | } |
| 98 | if (ISAR0.SupportsPMULL()) { |
| 99 | SetFeature(Feature::PMULL); |
| 100 | } |
| 101 | if (ISAR0.SupportsSHA1()) { |
| 102 | SetFeature(Feature::SHA1); |
| 103 | } |
| 104 | if (ISAR0.SupportsSHA2()) { |
| 105 | SetFeature(Feature::SHA2); |
| 106 | } |
| 107 | if (ISAR0.SupportsSHA512()) { |
| 108 | SetFeature(Feature::SHA512); |
| 109 | } |
| 110 | if (ISAR0.SupportsCRC32()) { |
| 111 | SetFeature(Feature::CRC32); |
| 112 | } |
| 113 | if (ISAR0.SupportsLSE()) { |
| 114 | SetFeature(Feature::LSE); |
| 115 | } |
| 116 | if (ISAR0.SupportsLSE128()) { |
| 117 | SetFeature(Feature::LSE128); |
| 118 | } |
| 119 | if (ISAR0.SupportsTME()) { |
| 120 | SetFeature(Feature::TME); |
| 121 | } |
| 122 | if (ISAR0.SupportsRDM()) { |
| 123 | SetFeature(Feature::RDM); |
| 124 | } |
| 125 | if (ISAR0.SupportsSHA3()) { |
| 126 | SetFeature(Feature::SHA3); |
| 127 | } |
| 128 | if (ISAR0.SupportsSM3()) { |
| 129 | SetFeature(Feature::SM3); |
| 130 | } |
| 131 | if (ISAR0.SupportsSM4()) { |
| 132 | SetFeature(Feature::SM4); |
| 133 | } |
| 134 | if (ISAR0.SupportsDotProd()) { |
| 135 | SetFeature(Feature::DotProd); |
| 136 | } |
| 137 | if (ISAR0.SupportsFlagM()) { |
| 138 | SetFeature(Feature::FlagM); |
| 139 | } |
| 140 | if (ISAR0.SupportsFlagM2()) { |
| 141 | SetFeature(Feature::FlagM2); |
| 142 | } |
| 143 | if (ISAR0.SupportsRNDR()) { |
| 144 | SetFeature(Feature::RNDR); |
| 145 | } |
| 146 | |
| 147 | // PFR0 |
| 148 | if (PFR0.SupportsFP()) { |
| 149 | SetFeature(Feature::FP); |
| 150 | } |
nothing calls this directly
no test coverage detected