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

 
 
> Привязка переменных к регистрам в GCC, как это делается?
Kopa
сообщение Oct 26 2005, 04:48
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Для оптимизации проги необходимо
привязать переменную-указатель к индексному регистру.

Не понимаю как это сделать в GCC для AVR
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Виктория
сообщение Oct 26 2005, 08:12
Сообщение #2


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



То есть вопрос состоит в том, если для GNU C определение глобальных регистровых переменных типа такого, как это есть в GNU C для ARM и других процессоров

register int *foo asm (“a5”);
Go to the top of the page
 
+Quote Post
xyzzy
сообщение Oct 28 2005, 06:33
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 95
Регистрация: 10-04-05
Пользователь №: 4 003



Цитата(Vic1 @ Oct 26 2005, 01:12)
register int *foo asm (“a5”);
*


Только аккуратно надо с этим быть.
Если слишком много регистров явно отдано под переменные, то компилятору становится сложнее (а иногда и невозможно) сгенерировать корректный код.

Особенно это заметно, если регистровые переменные 16-битные. и под них отданы регистровые пары X,Y,Z

Компилятор после этого регулярно разваливается со внутренней ошибкой. blink.gif


--------------------
--xyzzy
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 28 2005, 08:11
Сообщение #4


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Цитата(xyzzy @ Oct 28 2005, 11:33)
Цитата(Vic1 @ Oct 26 2005, 01:12)
register int *foo asm (“a5”);
*


Только аккуратно надо с этим быть.
Если слишком много регистров явно отдано под переменные, то компилятору становится сложнее (а иногда и невозможно) сгенерировать корректный код.
...
*



Вообще то, я тоже против явного использования регистров, в большинстве случаев (99.9% excl.gif ) достаточен мой первый совет.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kopa   Привязка переменных к регистрам в GCC   Oct 26 2005, 04:48
- - haker_fox   Я конечно ламер, но может доверить оптимизацию ком...   Oct 26 2005, 04:58
|- - Kopa   Цитата(haker_fox @ Oct 26 2005, 07:58)может д...   Oct 26 2005, 07:15
- - Vic1   А что Вам мешает использовать тот же модификатор r...   Oct 26 2005, 07:23
|- - Kopa   Цитата(Vic1 @ Oct 26 2005, 10:23)А что Вам ме...   Oct 26 2005, 07:28
- - haker_fox   Интересно, мой IAR EWAVR 4.11A указатели кладет в ...   Oct 26 2005, 07:35
|- - Kopa   Цитата(haker_fox @ Oct 26 2005, 10:35)Или я ч...   Oct 26 2005, 07:37
- - Vic1   Регистровые переменные внутри блока - естественно....   Oct 26 2005, 07:43
|- - Kopa   Цитата(Vic1 @ Oct 26 2005, 10:43)Т.е при вход...   Oct 26 2005, 07:54
- - haker_fox   ЦитатаТ.е при входе в функцию индексный регистр за...   Oct 26 2005, 07:53
- - haker_fox   ЦитатаИмеет смысл в чатстных задачах в ручную упра...   Oct 26 2005, 08:01
|- - Kopa   А как же тогда куча всяких классификаторов Си Эт...   Oct 26 2005, 08:06
|- - Kopa   Цитата(Vic1 @ Oct 26 2005, 11:12)register int...   Oct 26 2005, 08:22
- - Vic1   Кора, а документации на компилятор у Вас нет? Ведь...   Oct 26 2005, 08:15
- - oll   Я делал типа register unsigned char tyty asm(...   Oct 26 2005, 11:08


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

 


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


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