|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrew Ezhguroff 2:5020/400 29 Jan 2003 15:23:26 To : Ivan Boldyrev Subject : Re: чётное/не чётное? -------------------------------------------------------------------------------- Привет! "Ivan Boldyrev" <boldyrev@dataeast.ru> сообщил(а): >> Только вот для "%2" GCC генерирует: >> testl $1, 8(%ebp) >> , а для "&0x01": >> movl 8(%ebp), %eax >> andl $1, %eax >> testb %al, %al IB> Ты во втором случае забыл передать компилятору ключ оптимизации. Если IB> передавать идентинчные ключи, то и ассемблерный код получается IB> одинаковым. IB> Проверено на GCC 2.96. Hа более свежих проверять нет смысла. Компиятор GCC 3.2, ключ "O6", оба выражения находятся в одном файле: int A(int x, int p, int q){ return (x&1)? p: q; } int B(int x, int p, int q){ return (x%2)? p: q; } С уважением, Андрей. -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6488b642d00b.html, оценка из 5, голосов 10
|