|
WinAVR-20070122 еще сырой?, ошибки оптимизации |
|
|
|
Feb 17 2007, 04:29
|
Группа: Участник
Сообщений: 8
Регистрация: 6-03-06
Из: Новосибирск
Пользователь №: 15 027

|
Вот пример генерации кода. опции -Os
---------------------------------------------------------
int g;
int func(void) { int res; { uint8_t _SReg; asm volatile("in %0,__SREG__\n\tcli" : "=r" (_SReg));
res = g;
asm volatile( "out __SREG__,%0" :: "r" (_SReg)); } return res; } -------------------------------------------------------- WinAVR 20060421 (правильно)
28 0000 2FB7 in r18,__SREG__ 29 0002 F894 cli 32 0004 8091 0000 lds r24,g 33 0008 9091 0000 lds r25,(g)+1 36 000c 2FBF out __SREG__,r18 40 000e 0895 ret
--------------------------------------------------------- WinAVR 20070122 (неправильно)
32 0006 8FB7 in r24,__SREG__ 33 0008 F894 cli 37 000a 8FBF out __SREG__,r24 40 000c 8091 0000 lds r24,g 41 0010 9091 0000 lds r25,(g)+1 46 0014 0895 ret
---------------------------------------------------------
|
|
|
|
|
 |
Ответов
|
Feb 23 2007, 23:58
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(gormih @ Feb 23 2007, 23:51)  WinAVR еще долго будет сырым по определению.
Все таки продукт не коммерческий...
Хотите получить оптимизаию - пользуйте IAR или на худой конец CodeVision Уважаемый gormih, этот топик о проблеммах в WinAVR. Если Вы хотите пообсуждать какой компилятор лучше, пожалуйста начните новую тему. Анатолий.
|
|
|
|
|
Feb 24 2007, 00:34
|

nofb
  
Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218

|
Цитата(aesok @ Feb 23 2007, 23:58)  Уважаемый gormih, этот топик о проблеммах в WinAVR. Если Вы хотите пообсуждать какой компилятор лучше, пожалуйста начните новую тему. Анатолий. Уважаемый Анатолий! Я понимаю Вашу озабоченность по поводу того, что здесь может начаться дискуссия по поводу сравнения характеристик того или иного компилятора, однако смею Вас уверить, что мой пост имеет прямое отношение к проблеме оптимизации, как ни крути. Однако, если Вам не нравится перспектива обсуждать данную тему - то по моему ее можно просто закрыть - было сказано, что проблема будет решена в следующих версиях... возможно лет через 10...
--------------------
Это не то что вы подумали ...
|
|
|
|
|
Feb 24 2007, 00:43
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(gormih @ Feb 24 2007, 00:34)  Цитата(aesok @ Feb 23 2007, 23:58)  Уважаемый gormih, этот топик о проблеммах в WinAVR. Если Вы хотите пообсуждать какой компилятор лучше, пожалуйста начните новую тему. Анатолий. Уважаемый Анатолий! Я понимаю Вашу озабоченность по поводу того, что здесь может начаться дискуссия по поводу сравнения характеристик того или иного компилятора, однако смею Вас уверить, что мой пост имеет прямое отношение к проблеме оптимизации, как ни крути. Однако, если Вам не нравится перспектива обсуждать данную тему - то по моему ее можно просто закрыть - было сказано, что проблема будет решена в следующих версиях... возможно лет через 10... Патчи для решения проблеммы с размером main() уже подготовленны. Анатолий.
|
|
|
|
|
Feb 24 2007, 13:12
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 22-06-06
Из: Kharkiv, UA
Пользователь №: 18 284

|
Цитата(aesok @ Feb 23 2007, 23:43)  Патчи для решения проблеммы с размером main() уже подготовленны. Когда эти патчи будут доступны? (и где?) И, как вы считаете, все-таки какую версию WinAVR стоит сейчас использовать? Спасибо за Ваши ответы!
|
|
|
|
|
Feb 24 2007, 13:32
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(ahulap @ Feb 24 2007, 13:12)  Цитата(aesok @ Feb 23 2007, 23:43)  Патчи для решения проблеммы с размером main() уже подготовленны.
Когда эти патчи будут доступны? (и где?) И, как вы считаете, все-таки какую версию WinAVR стоит сейчас использовать? Спасибо за Ваши ответы! В WinAVR-20070122 есть два существенных изменения: 1. Добавленна поддержка 256КВ-ных мег. 2. WinAVR-2006... + AVRStudio 4.12 позволяет коректно отлаживать не более 64КВ кода. В WinAVR-20070122 + AVRStudio 4.13 эта проблема решена. Если вы используете 128-е или 256-е меги и ваш проект больше 64КВ то лучше WinAVR-20070122 + AVRStudio 4.13, если нет то на ваш выбор. Анатолий.
Сообщение отредактировал aesok - Feb 24 2007, 13:33
|
|
|
|
Сообщений в этой теме
Jat WinAVR-20070122 еще сырой? Feb 17 2007, 04:29 beer_warrior Вчера был на avrfreaks. Там много таких вопросов.
... Feb 17 2007, 12:32 aesok К сожалению это не компилятор сырой, а ваш код. Пр... Feb 17 2007, 14:10 ahulap Заметил, что по сравнению с WinAVR 20060125 код ст... Feb 17 2007, 15:31 aesok Цитата(ahulap @ Feb 17 2007, 15:31) Замет... Feb 17 2007, 16:44  ahulap [/quote]
Если у вас есть локальные переменные в ... Feb 17 2007, 19:00  defunct Цитата(aesok @ Feb 17 2007, 15:44) Если у... Feb 23 2007, 16:23 ahulap Провел эксперименты, вот что получил:
unsigned in... Feb 18 2007, 00:16 aesok В настоящий момент самый эффективный способ в GCC ... Feb 18 2007, 00:43 ahulap Нашел отличие:
00003900 <main>:
3900: 2f... Feb 23 2007, 15:55 aesok Цитата(ahulap @ Feb 23 2007, 15:55) Нашел... Feb 23 2007, 23:43 Abakt Он же не пишет - "лучше-хуже" он именно ... Feb 24 2007, 00:42 singlskv Цитата(gormih @ Feb 23 2007, 23:51) WinAV... Feb 24 2007, 12:38 gormih Цитата(singlskv @ Feb 24 2007, 12:38) Хот... Feb 26 2007, 22:55  singlskv Цитата(gormih @ Feb 26 2007, 22:55) Не со... Feb 26 2007, 23:28   gormih Цитата(singlskv @ Feb 26 2007, 23:28) А н... Feb 27 2007, 12:52 beer_warrior ЦитатаДа и не собираюсь думать, чего он там сделае... Feb 27 2007, 14:52 gormih Цитата(beer_warrior @ Feb 27 2007, 14:52)... Feb 27 2007, 14:57 beer_warrior ЦитатаА Ваше высказывания кроме того, что Вы хам -... Feb 27 2007, 15:08 gormih Цитата(beer_warrior @ Feb 27 2007, 15:08)... Feb 27 2007, 16:03 beer_warrior Цитатаа GNU GPL же тренируются молодые перспективн... Feb 27 2007, 16:32 gormih Цитата(beer_warrior @ Feb 27 2007, 16:32)... Feb 27 2007, 16:42 gormih на сколько понимаю на этом всё Mar 1 2007, 23:53 ahulap Вот еще что обнаружил:
есть маленнькая функция
st... Mar 5 2007, 16:19 aesok Цитата(ahulap @ Mar 5 2007, 16:19) Вот ещ... Mar 5 2007, 18:11  ahulap Цитата(aesok @ Mar 5 2007, 17:11) Цитата(... Mar 5 2007, 18:57 beer_warrior Цитатана сколько понимаю на этом всё
Я просил плат... Mar 5 2007, 17:22 gormih Цитата(beer_warrior @ Mar 5 2007, 17:22) ... Mar 6 2007, 01:12 IgorKossak Поумерьте свой пыд, господа.
Тема уже давно себя и... Mar 6 2007, 10:46 IgorKossak gormin довыступался до предупреждения из-за грубос... Mar 7 2007, 18:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|