Операторы переключения GCC не упрощаются при идентичной обработкеC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Операторы переключения GCC не упрощаются при идентичной обработке

Сообщение Anonymous »

Операторы переключения в следующих двух функциях < /p>
int foo(int value) {
switch (value) {
case 0:
return 0;
case 1:
return 0;
case 2:
return 1;
}
}

int bar(int value) {
switch (value) {
case 0:
case 1:
return 0;
case 2:
return 1;
}
}
< /code>
Компиляция в разные сборки в изданиях x86-64 и RISC-V компилятора GNU C, когда не оптимизируется. < /p>
Почему? Есть ли способ это подорвать? Я использую постоянные лямбдасы в шаблонах функций для программного генерации возвращаемых значений таких функций, как этот вывод, и они имеют гораздо больше инструкций по сборке, чем если бы я вошел и написал вручную всю обработку вывода и сделал все идентичные выходные передачи в одну цепь с компонентами.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... l-handling
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»