Эти возможности принесены в жертву ради переносимости программ. Представь себе разницу в структуре двух процессоров Intel - старый Core I7, с 4 ядрами, или новый какой-нибудь Core I9. У них много общих функций, но есть и много различий, особенно при работе с множественными потоками и использовании всех ядер. Поэтому никогда программное обеспечение не будет на 100% процентов оптимизироваться для единственной модели процессора или сборки железа. Программа должна работать на любом железе, которое заявлено как поддерживаемое.