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

 
 
> Глюки IAR ARM 5.4, Глючная оптимизация в IAR ARM 5.4
Ytrnj
сообщение Jan 18 2010, 14:35
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 21-12-06
Из: Питер
Пользователь №: 23 756



Привет всем!

Неожиданно проявилась проблема с IAR.
После перехода на версию 5.4 Full девайс на LPC1766 стал глючить.
Оптимизация - High/Balanced.

Анализ выявил следующее.

Заглючила строка сравнивающая старшее и младшее слово
Код
INT32U kc=key_code;  // key_code тоже INT32U
  if(!(0xFFFF&(kc^(kc>>16)))) {...}

Компилятор породил следущий код
Код
\   0000013C   080C               LSRS     R0,R1,#+16 // в R1 находится kc
\   0000013E   91EA000F           TEQ      R1,R0
\   00000142   4DD1               BNE.N    ??__int_display_2

Очевидно, что 0xFFFF проигнорирован напрочь.
Простая перестановка его в конец ничего не изменила.
Однако, после некоторых манипуляций, конструкция была изменена на
Код
   if((0xFFFF&kc)==(kc>>16)){...}


Что породило уже рабочую последовательность
Код
\   0000013C   88B2               UXTH     R0,R1 // в R1 находится kc
\   0000013E   B0EB114F           CMP      R0,R1, LSR #+16
\   00000142   4DD1               BNE.N    ??__int_display_2


Я, конечно, понимаю, что в IAR люди работают и ничего человеческое им не чуждо.
Посмотрел на сайте и скачал Evalution версии 5.41, однако ничего не изменилось!!!!
На мой взгляд, оба варианта сравнения идентичны по сути.
Может быть первоначальный вариант и не столь очевиден, НО компилятора это не должно касаться.
Такого рода конструкций в проге куча.
Что же теперь, всё перепроверять на понятность и адекватность компилятора?
Печально, но я IARу раньше доверял как родному.

Суть вопроса - версию 5.4 в топку или я чего-то не не понимаю?

Заранее благодарен.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ytrnj   Глюки IAR ARM 5.4   Jan 18 2010, 14:35
- - Ytrnj   Доброго времени суток. Посмотрел в старой копии, ...   Jan 18 2010, 18:02
|- - RabidRabbit   Цитата(Ytrnj @ Jan 18 2010, 21:02) Учитыв...   Jan 19 2010, 06:17
- - zltigo   Цитата(Ytrnj @ Jan 18 2010, 17:35) Такого...   Jan 18 2010, 18:43
- - KRS   А вы уверены в правильности своего кода? Дело в то...   Jan 18 2010, 21:40
|- - Сергей Борщ   Цитата(KRS @ Jan 18 2010, 23:40) Дело в т...   Jan 18 2010, 22:25
- - KRS   действительно с XORом какой то глюк! При прове...   Jan 18 2010, 23:00
|- - Ytrnj   Цитата(KRS @ Jan 19 2010, 03:00) действит...   Jan 19 2010, 07:14
- - IgorKossak   Никому не приходило в голову, что 16-ричная конста...   Jan 19 2010, 07:51
|- - Сергей Борщ   Цитата(IgorKossak @ Jan 19 2010, 09:51) Н...   Jan 19 2010, 08:23
||- - IgorKossak   Цитата(Сергей Борщ @ Jan 19 2010, 10:23) ...   Jan 19 2010, 08:56
||- - Сергей Борщ   Цитата(IgorKossak @ Jan 19 2010, 10:56) Э...   Jan 19 2010, 11:28
||- - KRS   Цитата(Сергей Борщ @ Jan 19 2010, 14:28) ...   Jan 19 2010, 11:44
||- - Сергей Борщ   Цитата(KRS @ Jan 19 2010, 13:44) Не всегд...   Jan 19 2010, 12:18
|- - KRS   Цитата(IgorKossak @ Jan 19 2010, 10:51) Н...   Jan 19 2010, 09:08
|- - _4afc_   Цитата(IgorKossak @ Jan 19 2010, 10:51) Н...   Jan 19 2010, 15:14
|- - IgorKossak   Цитата(_4afc_ @ Jan 19 2010, 17:14) Вы на...   Jan 19 2010, 16:14
- - IgorKossak   Проверяли только XOR или другие операции тоже?   Jan 19 2010, 09:22
|- - KRS   Цитата(IgorKossak @ Jan 19 2010, 12:22) П...   Jan 19 2010, 09:33
- - MALLOY2   Да это баг для Cortex-M3, на других ядрах работает...   Jan 19 2010, 16:16
|- - KRS   Цитата(MALLOY2 @ Jan 19 2010, 19:16) Да э...   Jan 19 2010, 21:16
- - Alechek   Тема про компилятор 5.40 или 5.41? Я было плевался...   Jan 20 2010, 04:59
- - MALLOY2   ЦитатаТема про компилятор 5.40 или 5.41 Я тестиров...   Jan 20 2010, 06:25
|- - Ytrnj   Цитата(MALLOY2 @ Jan 20 2010, 10:25) Так ...   Jan 20 2010, 07:16
||- - IgorKossak   Цитата(Ytrnj @ Jan 20 2010, 09:16) Письмо...   Jan 20 2010, 07:32
|- - KRS   Цитата(MALLOY2 @ Jan 20 2010, 09:25) Я те...   Jan 20 2010, 10:48
|- - Alechek   Цитата(MALLOY2 @ Jan 20 2010, 11:25) Пото...   Jan 20 2010, 12:49
- - Ytrnj   Ну что, IAR ответил . Следует отметить, что дост...   Jan 21 2010, 15:48
|- - KRS   Цитата(Ytrnj @ Jan 21 2010, 18:48) sorry,...   Jan 21 2010, 16:14
|- - Ytrnj   Цитата(KRS @ Jan 21 2010, 20:14) Что то я...   Jan 22 2010, 08:54
- - MALLOY2   В версии 5.41.2 баги исправлены!!!...   Feb 25 2010, 13:42


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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 22:31
Рейтинг@Mail.ru


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