Описание тега altivec

AltiVec - это набор инструкций SIMD с плавающей запятой и целыми числами, разработанный и принадлежащий Apple, IBM и Freescale Semiconductor, бывшему сектору полупроводниковых продуктов Motorola (альянс AIM), и реализованный в версиях PowerPC, включая Motorola G4, IBM G5 и POWER6 процессоры и PA Semi PWRficient PA6T.
1 ответ

Ошибка компиляции Altivec

Я пытаюсь следовать простой пример инициализации altivec, как это: 1 // Example1.c 2 #include <stdio.h> #include <altivec.h> 3 4 int main() 5 { 6 __vector unsigned char v1; 7 8 // Assign 16 8-bit elements to vector v1 9 v1 = (__vector un…
16 сен '13 в 18:13
1 ответ

Является ли vec_sld порядком байтов?

Я работаю на машине PowerPC с криптографией в ядре. У меня возникли проблемы с переносом расширения ключа AES с обратного порядка байтов на встроенный. Big endian работает, а little endian - нет. Алгоритм ниже - фрагмент, представленный в статье бло…
21 сен '17 в 10:46
0 ответов

Почему компилятор не сворачивает xxswapd и vperm?

Я все еще пытаюсь получить от 1 до 2 cpb из инструкций SHA Power8. Этот код C/C++ копирует сообщение пользователя в расписание сообщений: void SHA256_SCHEDULE(uint32_t W[64+2], const uint8_t* D) { uint32_t* w = reinterpret_cast<uint32_t*>(W); …
07 мар '18 в 20:10
1 ответ

Как получить нулевое значение VSX?

Мы переставляем вектор в нескольких местах, и нам нужно отличительное значение 0 для использования с vec_perm встроенный. Мы не смогли найти vec_zero() или аналогичные, поэтому мы хотели бы знать, как мы должны справиться с вещами. Код в настоящее в…
09 сен '17 в 05:49
1 ответ

Ошибка: операнд вне диапазона (64 не между 0 и 31)

Я страдаю GCC встроенной сборки на PowerPC. Программа прекрасно компилируется с -g2 -O3, но не компилируется с -g3 -O0, Проблема в том, что мне нужно наблюдать за этим в отладчике, поэтому мне нужны символы без оптимизации. Вот программа: $ cat test…
01 ноя '18 в 14:56
0 ответов

Не могу найти материалы о SSE2, Altivec, VMX на Apple Developer

Как Пол. R предположил, что есть много ресурсов о SSE2, AVX на Apple Developer, но я не смог найти его. Кто-нибудь может мне помочь? Кстати, я также ищу архив почтовой рассылки altivec. Спасибо! Intel SSE и AVX Примеры и учебные пособия
10 апр '14 в 03:56
2 ответа

Эквивалент mm_storel_epi64 в AltiVec?

Я работаю над проектом с использованием интерфейса программирования AltiVec. В одном месте я хочу хранить 8 байтов из векторного регистра в буфер. В SSE у нас есть свойственный _mm_storel_epi64 хранить младшие 8 байтов регистра SIMD в буфере. Есть и…
10 фев '15 в 08:59
2 ответа

Как избежать неправильной загрузки памяти с помощью SIMD-инструкций

Я загружаю элементы из памяти, используя инструкции загрузки SIMD, скажем, используя Altivec, предполагая, что выровненные адреса: float X[SIZE]; vector float V0; unsigned FLOAT_VEC_SIZE = sizeof(vector float); for (int load_index =0; load_index &lt…
23 окт '12 в 11:27
1 ответ

Altivec: аналог _mm_sad_epu8()

Я пытаюсь портировать функцию SSE, которая получает абсолютную разницу двух 8-битных целочисленных массивов без знака. Это выглядит как: uint64_t AbsDiffSum(const uint8_t * a, const uint8_t * b, size_t size) { assert(size%16 == 0); __m128i _sum = _m…
12 фев '16 в 07:35
0 ответов

Вектор двойного слова вращается на старых Altivec без 64-битного типа данных

Это связано с Power4 и отсутствием vector long long, На Power7 и Power8 мы можем выполнить: typedef __vector unsigned long long uint64x2_p; ... uint64x2_p val = {...}; uint64x2_p res = vec_rl(val, val, bits); Мне нужно найти обходной путь для отсутс…
12 дек '17 в 14:50
1 ответ

_mm_srli_si128 эквивалент на altivec

Я портирую программу, написанную в SSE 4.2, на Altivec. У меня есть проблема в поиске эквивалента для внутренней _mm_srli_si128, Когда я гуглил, я нашел vec_slo как эквивалент. Вот мой пример программы для сдвига содержимого на 1 байт влево: void te…
18 июл '13 в 09:40
1 ответ

Тип параметра недопустим для функции этого типа связи

Я работаю над AIX с помощью компилятора XL XL от IBM. Я ловлю ошибку компиляции, и я не уверен, что делать дальше: $ xlc -g3 -O0 -qarch=pwr8 -qaltivec fips197-p8.c -o fips197-p8.exe "fips197-p8.c", line 59.16: 1506-754 (W) The parameter type is not …
08 сен '17 в 20:54
1 ответ

Обрабатывать и загружать Altivec независимо от порядка байтов PPC?

У меня есть некоторый SIMD-код в Altivec, обрабатывающий 32-битные целочисленные значения параллельно. В некоторых случаях я хочу загрузить целые числа с прямым порядком байтов, в других случаях - с прямым порядком байтов (примечание: этот выбор не …
28 окт '09 в 20:39
1 ответ

Есть ли на PowerPC инструкция по маскировке?

Я пытаюсь сделать смесь в масках (на __vector типы) на PowerPC (POWER 8). При взгляде на встроенные функции ( список доступен здесь) я вижу вектор выбора, но ничего для слияния. На x86 процессорах я знаю свойственный _mm256_blendv_psи я ищу что-то п…
11 сен '15 в 11:43
1 ответ

fftw simd-altivec.h не может скомпилировать

Я использую fftw на Mac, используя Xcode 4.4. В своем проекте я добавил весь исходный код fftw в проект и попытался скомпилировать его. Он не может успешно скомпилироваться, потому что в simd-altivec.h он выдает такие ошибки: ALTIVEC работает только…
05 дек '12 в 02:04
1 ответ

Можно ли повернуть 128-битное значение в Altivec?

Я пытаюсь перенести код ARM NEON в AltiVec. Наш код NEON имеет две LOAD, одну ROT, одну XOR и STORE, так что это похоже на простой тестовый пример. По словам IBM vec_rl документация: Каждый элемент результата получается вращением соответствующего эл…
02 сен '17 в 13:46
0 ответов

Будет работать 32-битный код Altivec на 64-битной машине

Я портирую altivec-код с PPC на архитектуру Intel. Текущий код altivec является 32-битным. Мои процессоры Intel являются 64-битными. Будет ли 32-битный скомпилированный код работать на 64-битной машине? Можно ли скомпилировать 32-битный код Altivec …
03 окт '18 в 18:03
0 ответов

"-qaltivec" не совместим с "-qarch=pwr5"

У меня проблемы с пониманием предупреждения от IBM XL C/C++. Я работаю над GCC119 из фермы компиляции, которая является машиной AIX ppc64-be. $ cat test.cxx #if defined(__ALTIVEC__) # include <altivec.h> # undef vector # undef pixel # undef bo…
05 авг '18 в 08:53
3 ответа

Эквивалент SSE в Power PC

Что эквивалентно для инструкций SSE, установленных на Power PC? Это Altivec? У кого-нибудь есть примеры переноса инструкций SSE на Power PC?
28 дек '15 в 06:20
1 ответ

Altivec извлечь часть вектора?

Я пытаюсь сравнить одно 64-битное значение с массивом 64-битных значений, скажем R_UINT64 FP; R_UINT64 INPUT[20000]; Возвращает true, если какой-либо элемент в массиве соответствует значению FP. Я должен пройтись по этому массиву и найти соответстви…
16 сен '13 в 21:55