![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 03.09.2013
Сообщений: 5
|
![]()
Привет ребята!
Такое дело, есть задание: Обработать массивы из 8 элементов по следующему выражению: F[i]=A[i]-B[i]*C[i]-D[i] , i=1...8; Используются следующие массивы: A, B и С – 8 разрядные целые знаковые числа (_int8); D – 16 разрядные целые знаковые числа (_int16). Полученный результат отобразить на форме с использованием соответствующих элементов. При распаковке знаковых чисел совместно с командами распаковки использовать команды сравнения (сравнивать с нулём перед распаковкой). Всё бы ничего, но как только я пытаюсь сделать вычисления, программа падает (в 1 из 5 случаем, обрабатывает 3 элемента и зависает): https://www.dropbox.com/s/0spd9ctqqe57d2g/SSEDeb.png Я не могу понять, в чем дело (компилирую в Visula Studio 2010): Код (с участком показанным на скриншоте): Код:
Код:
https://www.dropbox.com/sh/0b1f14yjyiebw1m/Am7KMEglj- Ребята, помогите разобраться O_o |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 03.09.2013
Сообщений: 5
|
![]()
Проблему решил.
Заменил Код:
Код:
|
![]() |
![]() |
![]() |
#3 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
странно, конечно. что это за проц, который не дружит с SSE2?
Какой на твоей машине процессор стоит? |
![]() |
![]() |
![]() |
#4 | |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]() Цитата:
![]() это, что одно и тоже??? если уж делать такую странную замену, то делать так movaps xmm1, xmm0; PSHUFD xmm1, xmm0, 04Eh; |
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 03.09.2013
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 10.08.2013
Сообщений: 67
|
![]()
не лишним будет проверку воткнуть перед использованием на наличие поддержки SSE/SSE2:
Код:
|
![]() |
![]() |
![]() |
#7 |
Новичок
Джуниор
Регистрация: 03.09.2013
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
#8 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
а, старый AMD, ясна.
кстати, посмотрев на код еще раз возникает вопрос зачем использовать SHUFPD вместо MOVHLPS? вместо этого movaps xmm1, xmm0; shufpd xmm1, xmm1, 1; поставь вот это MOVHLPS xmm1, xmm0 |
![]() |
![]() |
![]() |
#9 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
прочитал условие задачи
Код:
Последний раз редактировалось f.hump; 04.09.2013 в 17:20. |
![]() |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 03.09.2013
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Арифметика FASM (SSE) | neomax38 | Помощь студентам | 0 | 12.06.2013 08:09 |
SSE инструкции + ликбез | Kukurudza | Общие вопросы C/C++ | 4 | 10.04.2012 19:26 |
оптимизация SSE | ANsy | Мультимедиа в Delphi | 1 | 01.02.2011 20:08 |
статья - Введение в SSE | Pblog | Обсуждение статей | 0 | 23.06.2010 05:13 |
SSE intrinsics C++ | qpharm | Общие вопросы C/C++ | 1 | 13.11.2009 12:57 |