реклама на сайте
подробности

 
 
> Деоптимизация простого вычитания, IAR 6.50
jcxz
сообщение Feb 17 2016, 13:11
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Имеем:
Код
u8 *p;
int x1;
IAR6.50 компилирует выражение p -= x1 в:
Код
RSBS R1,R7,#+0
ADDS R1,R1,R2

Нафига??? Почему не простой SUBS???

В то же время, если записать это выражение по другому p = (u8 *)((int)p - x1), то всё ок:
Код
SUBS R1,R2,R7

Как будто специально не оптимизирует, а наоборот - увеличивает размер кода. sad.gif
Вроде такое только с указателями наблюдается, если-бы p была типа int, то тогда всё ок - одна SUBS.
Может надо что-то подправить в косерватории? Мелочь конечно, но неприятно. А писать каждый раз громоздкие приведения к int и обратно - не комильфо.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 22:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.02211 секунд с 7
ELECTRONIX ©2004-2016