Влияние преобразования типов на скорость приложения
Влияют ли на рантайм promotions и/или остальные conversions? Будут ли такие преобразования выражены какой-то ассемблерной инструкцией специальной?
Например, будет ли работать медленнее код x + y, где x,y - типов short, float и т.п.? Или promotions происходят на уровне компилятора и в результирующем коде уже будут нужные типы и так? А что насчёт остальных преобразований? Будет ли медленнее код (long long) x + y, например?
Для разных типов используются разные инструкции mov, но само сложение одинаково для short и int: https://godbolt.org/z/ds4sM9. Но разное для float и double.
Но при оптимизациях одинаковый код генерирует https://godbolt.org/z/ja5h8r.