使用 8 位的倍数的 LLVM 整数有好处吗?

Is there a benefit to using LLVM integers having a multiple of 8 bits?

由于您可以指定 LLVM 整数中的位数,因此使用整数是整个字节的倍数是否有任何性能提升?

微处理器用一条指令对特定大小的操作数执行算术运算。其他情况需要用多条机器指令进行仿真,这必然是低效的。

例如,考虑 X86 处理器上的无符号整数加法 (ADD):它将两个 n 位数字相加,产生 n+1 位结果,该结果在 n 位寄存器或内存位置与进位标志之间进行拆分。对于奇怪的操作数大小,要模拟 ADD,您必须使用 ADD 作为下一个最大的支持大小,然后测试 ADD 结果是否使用超过 n 位,以及更多的跳转和逻辑操作来设置结果和进位正确标记。