|
|
|
ni1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.6.2014 Репутация: нет Всего: нет |
Как запретить gcc оптимизировать этот код в memcpy(p1, p4, len4), оставив strlen memset и другие ? |
|||
|
||||
leniviy |
|
|||
Опытный Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
Вынесите его в отдельный модуль и скомпилируйте без оптимизации. Кстати, что результат другой?
|
|||
|
||||
ni1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 30.6.2014 Репутация: нет Всего: нет |
результат правильный. Может есть способ сделать memcpy инлайн? В ms compiler для этого #pragma intrinsic() и #pragma function()
Это сообщение отредактировал(а) ni1 - 16.7.2014, 21:03 |
|||
|
||||
leniviy |
|
|||
Опытный Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
ключ -fno-builtin-memcpy должен помочь.
Хотя не, не помогает. -fno-builtin убирает вызов memcpy, но генерит большой код. -fno-tree-loop-distribute-patterns и -ffreestanding дают похожий эффект Это сообщение отредактировал(а) leniviy - 16.7.2014, 22:54 |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | GNU toolchain | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |