【发布时间】:2011-10-13 13:17:28
【问题描述】:
我正在优化我的应用程序中的一些热点,并使用gcc-arm 完成编译。
现在,以下语句是否有可能导致不同的汇编代码:
static const pixel_t roundedwhite = 4294572537U;
return (packed >= roundedwhite) ? purewhite : packed;
// OR
const pixel_t roundedwhite = 4294572537U;
return (packed >= roundedwhite) ? purewhite : packed;
// OR
return (packed >= 4294572537U) ? purewhite : packed;
我的 ARM 编译器是否有可能为第一种情况生成不需要的代码,或者是否应该对此进行优化?
我认为它几乎是一样的,但不幸的是,与普通的 gcc 相比,我不确定 gcc-arm 的作用,并且我无法访问反汇编列表。
非常感谢。
【问题讨论】:
-
为什么要猜?编译为汇编 (
-S) 并进行比较。
标签: c++ optimization gcc assembly constants