@@ -140,7 +140,7 @@ struct AtHwcap {
140140impl From < auxvec:: AuxVec > for AtHwcap {
141141 /// Reads AtHwcap from the auxiliary vector.
142142 fn from ( auxv : auxvec:: AuxVec ) -> Self {
143- AtHwcap {
143+ let mut cap = AtHwcap {
144144 fp : bit:: test ( auxv. hwcap , 0 ) ,
145145 asimd : bit:: test ( auxv. hwcap , 1 ) ,
146146 // evtstrm: bit::test(auxv.hwcap, 2),
@@ -207,39 +207,44 @@ impl From<auxvec::AuxVec> for AtHwcap {
207207 // smef32f32: bit::test(auxv.hwcap2, 29),
208208 smefa64 : bit:: test ( auxv. hwcap2 , 30 ) ,
209209 wfxt : bit:: test ( auxv. hwcap2 , 31 ) ,
210- // ebf16: bit::test(auxv.hwcap2, 32),
211- // sveebf16: bit::test(auxv.hwcap2, 33),
212- cssc : bit:: test ( auxv. hwcap2 , 34 ) ,
213- // rprfm: bit::test(auxv.hwcap2, 35),
214- sve2p1 : bit:: test ( auxv. hwcap2 , 36 ) ,
215- sme2 : bit:: test ( auxv. hwcap2 , 37 ) ,
216- sme2p1 : bit:: test ( auxv. hwcap2 , 38 ) ,
217- // smei16i32: bit::test(auxv.hwcap2, 39),
218- // smebi32i32: bit::test(auxv.hwcap2, 40),
219- smeb16b16 : bit:: test ( auxv. hwcap2 , 41 ) ,
220- smef16f16 : bit:: test ( auxv. hwcap2 , 42 ) ,
221- mops : bit:: test ( auxv. hwcap2 , 43 ) ,
222- hbc : bit:: test ( auxv. hwcap2 , 44 ) ,
223- sveb16b16 : bit:: test ( auxv. hwcap2 , 45 ) ,
224- lrcpc3 : bit:: test ( auxv. hwcap2 , 46 ) ,
225- lse128 : bit:: test ( auxv. hwcap2 , 47 ) ,
226- fpmr : bit:: test ( auxv. hwcap2 , 48 ) ,
227- lut : bit:: test ( auxv. hwcap2 , 49 ) ,
228- faminmax : bit:: test ( auxv. hwcap2 , 50 ) ,
229- f8cvt : bit:: test ( auxv. hwcap2 , 51 ) ,
230- f8fma : bit:: test ( auxv. hwcap2 , 52 ) ,
231- f8dp4 : bit:: test ( auxv. hwcap2 , 53 ) ,
232- f8dp2 : bit:: test ( auxv. hwcap2 , 54 ) ,
233- f8e4m3 : bit:: test ( auxv. hwcap2 , 55 ) ,
234- f8e5m2 : bit:: test ( auxv. hwcap2 , 56 ) ,
235- smelutv2 : bit:: test ( auxv. hwcap2 , 57 ) ,
236- smef8f16 : bit:: test ( auxv. hwcap2 , 58 ) ,
237- smef8f32 : bit:: test ( auxv. hwcap2 , 59 ) ,
238- smesf8fma : bit:: test ( auxv. hwcap2 , 60 ) ,
239- smesf8dp4 : bit:: test ( auxv. hwcap2 , 61 ) ,
240- smesf8dp2 : bit:: test ( auxv. hwcap2 , 62 ) ,
241- // pauthlr: bit::test(auxv.hwcap2, ??),
210+ ..Default :: default ( )
211+ } ;
212+ #[ cfg( target_pointer_width = "64" ) ]
213+ {
214+ // cap.ebf16: bit::test(auxv.hwcap2, 32);
215+ // cap.sveebf16: bit::test(auxv.hwcap2, 33);
216+ cap. cssc = bit:: test ( auxv. hwcap2 , 34 ) ;
217+ // cap.rprfm: bit::test(auxv.hwcap2, 35);
218+ cap. sve2p1 = bit:: test ( auxv. hwcap2 , 36 ) ;
219+ cap. sme2 = bit:: test ( auxv. hwcap2 , 37 ) ;
220+ cap. sme2p1 = bit:: test ( auxv. hwcap2 , 38 ) ;
221+ // cap.smei16i32 = bit::test(auxv.hwcap2, 39);
222+ // cap.smebi32i32 = bit::test(auxv.hwcap2, 40);
223+ cap. smeb16b16 = bit:: test ( auxv. hwcap2 , 41 ) ;
224+ cap. smef16f16 = bit:: test ( auxv. hwcap2 , 42 ) ;
225+ cap. mops = bit:: test ( auxv. hwcap2 , 43 ) ;
226+ cap. hbc = bit:: test ( auxv. hwcap2 , 44 ) ;
227+ cap. sveb16b16 = bit:: test ( auxv. hwcap2 , 45 ) ;
228+ cap. lrcpc3 = bit:: test ( auxv. hwcap2 , 46 ) ;
229+ cap. lse128 = bit:: test ( auxv. hwcap2 , 47 ) ;
230+ cap. fpmr = bit:: test ( auxv. hwcap2 , 48 ) ;
231+ cap. lut = bit:: test ( auxv. hwcap2 , 49 ) ;
232+ cap. faminmax = bit:: test ( auxv. hwcap2 , 50 ) ;
233+ cap. f8cvt = bit:: test ( auxv. hwcap2 , 51 ) ;
234+ cap. f8fma = bit:: test ( auxv. hwcap2 , 52 ) ;
235+ cap. f8dp4 = bit:: test ( auxv. hwcap2 , 53 ) ;
236+ cap. f8dp2 = bit:: test ( auxv. hwcap2 , 54 ) ;
237+ cap. f8e4m3 = bit:: test ( auxv. hwcap2 , 55 ) ;
238+ cap. f8e5m2 = bit:: test ( auxv. hwcap2 , 56 ) ;
239+ cap. smelutv2 = bit:: test ( auxv. hwcap2 , 57 ) ;
240+ cap. smef8f16 = bit:: test ( auxv. hwcap2 , 58 ) ;
241+ cap. smef8f32 = bit:: test ( auxv. hwcap2 , 59 ) ;
242+ cap. smesf8fma = bit:: test ( auxv. hwcap2 , 60 ) ;
243+ cap. smesf8dp4 = bit:: test ( auxv. hwcap2 , 61 ) ;
244+ cap. smesf8dp2 = bit:: test ( auxv. hwcap2 , 62 ) ;
245+ // cap.pauthlr = bit::test(auxv.hwcap2, ??);
242246 }
247+ cap
243248 }
244249}
245250
0 commit comments