Standardowy kod C ++ 11 odpowiadający instrukcji PEXT Haswell (i prawdopodobnie zoptymalizowany przez kompilator)
Architektury Haswella zawierają kilka nowych instrukcji. Jeden z nich jestPEXT
(ekstrakt z bitów równoległych) którego funkcjonalność jest wyjaśniona przez ten obraz (źródłotutaj):
Przyjmuje wartośćr2
i maskar3
i umieszcza wyodrębnione bityr2
wr1
.
Moje pytanie brzmi następująco: jaki byłby równoważny kod zoptymalizowanej funkcji szablonowej wczysty standard C ++ 11, który w przyszłości mógłby zostać zoptymalizowany do tej instrukcji przez kompilatory.