Результаты поиска по запросу "c"

1 ответ

_mm_testc_ps и _mm_testc_pd vs _mm_testc_si128

Как вы знаете, первые два относятся к спецификациям AVX, а вторая - к SSE4.1. Оба набора встроенных функций могут использоваться для проверки на равенство 2 векторов с плавающей точкой. Мой конкретный вариант использования: _mm_cmpeq_ps ...

3 ответа

На каких платформах целочисленное деление на ноль вызывает исключение с плавающей запятой?

В другом вопросе кто-то задавался вопросом, почему они получают «ошибку с плавающей запятой», хотя на самом деле в их программе на C ++ целочисленное деление на ноль. Вокруг этого возникла дискуссия, в которой некоторые утверждали, что ...

1 ответ

Блокирует манипулирование памятью с помощью встроенной сборки

Я новичок в низкоуровневых вещах, поэтому совершенно не понимаю, с какими проблемами вы можете столкнуться там, и я даже не уверен, правильно ли я понимаю термин «атомарный». Прямо сейчас я пытаюсь сделать простые атомарные блокировки вокруг ...

ТОП публикаций

1 ответ

Возможно ли, что `fileno (stdout)! = 1` в системе POSIX?

Можетstdout дескриптор файла отличается от1 (STDOUT_FILENO [http://pubs.opengroup.org/onlinepubs/9699919799/functions/stdin.html]) при условииstdout не должен быть изменяемым lvalue [https://stackoverflow.com/a/586416/4279]? Например, ...

2 ответа

Самый быстрый способ умножения массива int64_t?

Я хочу векторизовать умножение двух выровненных массивов памяти. Я не нашел способа умножить 64 * 64 бит в AVX / AVX2, поэтому я просто развернул петлю и загрузил / сохранил AVX2. Есть ли более быстрый способ сделать это? Заметка Я не хочу ...

3 ответа

Используете LEA для значений, которые не являются адресами / указателями?

Я пытался понять, как работает инструкция вычисления адреса, особенно сleaq команда. Тогда я запутываюсь, когда вижу примеры использованияleaq делать арифметические вычисления. Например, следующий код C, long m12(long x) { return x*12; } В ...

5 ответов

Получает ли статический или динамический доступ к памяти быстрее?

Есть два способа размещения глобального массива в C: статическ char data[65536]; Динамически char *data; … data = (char*)malloc(65536); /* or whatever size */ Вопрос в том, какой метод лучше работает? И на сколько? Как вы понимаете, первый ...

2 ответа

C без знака долго, долго и imulq

Как кто-то новичок в сборке, я использую gcc для реверс-инжиниринга. Но теперь я столкнулся с какой-то забавной проблемой: я пытаюсь умножить два 64-битных целых числа на x86-64. C-код выглядит следующим образом: unsigned long long val(unsigned ...

1 ответ

Как получить доступ к структуре / переменным C из встроенного asm?

Рассмотрите следующий код: int bn_div(bn_t *bn1, bn_t *bn2, bn_t *bnr) { uint32 q, m; /* Division Result */ uint32 i; /* Loop Counter */ uint32 j; /* Loop Counter */ /* Check Input */ if (bn1 == NULL) return(EFAULT); if (bn1->dat == NULL) ...

2 ответа

ожет ли MOV x86 быть «бесплатным»? Почему я не могу воспроизвести это вообще?

Я продолжаю видеть, как люди утверждают, что инструкция MOV может быть бесплатной в x86 из-за переименования регистров. Для жизни я не могу проверить это ни в одном тестовом случае. Каждый тестовый пример, который я пробую, разоблачает это. ...