【讨论】8位16位32位等内建类型数据操作的比较

//32位机上,8位16位32位操作的效率比较 int wordinc (int a) { /* add r0, r0, #1 */ /* movl 8(%ebp), %eax incl %eax */ return a + 1; } short shortinc (short a) { /* mov r1, r0, asl #16 add r0, r1, #65536 mov r0, r0, asr #16 */ /* movl 8(%ebp), %eax incl %eax cwtl */ return a + 1; } char charinc (char a) { /* add r0, r0, #1 and r0, r0, #255 */ /* movb 8(%ebp), %dl incl %edx movsbl %dl,%eax */ return a + 1; } int main( int argc, char**argv ) { return 0; }

//以上注释分别是ARM和X86平台GCC -O3优化编译的结果。
//说明32位机器上,操作32位类型数据效率最高。

你可能感兴趣的:(优化,gcc,平台,X86)