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

 
 
 
Reply to this topicStart new topic
> Деоптимизация простого вычитания, 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
scifi
сообщение Feb 17 2016, 14:54
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(jcxz @ Feb 17 2016, 16:11) *
Может надо что-то подправить в косерватории?

Можно написать bug report. Но у них это работает по каналу тех. поддержки легальных юзеров, если не ошибаюсь.

Цитата(jcxz @ Feb 17 2016, 16:11) *
А писать каждый раз громоздкие приведения к int и обратно - не комильфо.

А зачем? Без этого программа не работает? Или мучает бессонница? От последнего может помочь валерьянка biggrin.gif
Go to the top of the page
 
+Quote Post
KRS
сообщение Feb 18 2016, 17:50
Сообщение #3


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



а если объявить x1 как unsigned?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 18 2016, 21:35
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (scifi @ Feb 17 2016, 16:54) *
Можно написать bug report.

Незачем. Текущая версия IAR 7.40.7 ...7.50.2 компилирует без побочных эффектов.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 19 2016, 01:32
Сообщение #5


Гуру
******

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



Цитата(zltigo @ Feb 19 2016, 03:35) *
Незачем. Текущая версия IAR 7.40.7 ...7.50.2 компилирует без побочных эффектов.

Хмммм.... похоже - надо обновлять
Go to the top of the page
 
+Quote Post

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

 


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


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