Я исследовал строковые инструкции, которые поддерживаются в AVX
или AVX2
ISA, но я не могу найти инструкцию сравнения строк в 256 бит, такую как SSE4.2
Если есть сравнение строк, которое я не могу найти, где я могу их найти? Иначе почему AVX/AVX2 ISA не поддерживает 256-битные строковые инструкции? Я также узнал, что AVX2 не поддерживает mullo
для unsigned short
как целое число без знака 16 бит, и я не знаю причины. Потому что он поддерживается в SSE4.2
.Поддерживает ли AVX или AVX2 256-битные строковые инструкции и mullo для unsigned short?
ответ
Инструкции по сравнению с 256 бит-строками - нет, в AVX/AVX2 (или AVX-512) нет ни одного - всего 128 бит инструкций в SSE 4.2.
mullo
для неподписанных коротких - это не обязательно, так как результат будет таким же, как с подписанным коротким mullo
. Это только инструкция nulhi
, которая должна существовать в подписанных и неподписанных вариантах.
В чем причина того, что они не добавили строчную инструкцию, установленную в Intel AVX? Потому что это не полезно или потому что в процессоре общего назначения это неприемлемо для добавления специальных инструкций? – ADMS
@ADMS: хорошо, я не работаю для Intel, но я бы поставил под угрозу, что, вероятно, не так много смысла - этот тип операций, как правило, связан с привязкой ввода-вывода (так как маловероятно, что он будет частью последовательность других SIMD-инструкций), поэтому было бы немного выиграть от реализации более широких версий существующих 128-битных строковых команд. –
Разве они все еще не были бы полезны? Особенно в 16-битном режиме RANGES, который страдает от отсутствия большого количества диапазонов, но также и ЛЮБОГО, может быть приятно иметь больший набор. OTOH, который, без сомнения, будет еще медленнее, чем он уже есть – harold
Один вопрос на вопрос прошу. –