我正致力于使用GCC编译的ARM C/C++代码的性能优化.CPU是Tegra 3.我知道标志-mthumb意味着生成旧的16位Thumb指令.在不同的测试中,我使用-marm对-mthumb的性能提高了10-15%.
-mthumb仅用于兼容性和性能 - marm总是更好吗?我问,因为android-cmake在Release模式下使用了-mthumb而在Debug中使用了-marm,这对我来说非常困惑.
为什么以下编译:
ITE EQ
MRSEQ R0, MSP
MRSNE R0, PSP Run Code Online (Sandbox Code Playgroud)
但这不是:
ITT NE
MRSNE R0, PSP
MRSEQ R0, MSP Run Code Online (Sandbox Code Playgroud)
是否有可能MRSNE R0,PSP和MRSEQ R0,MSP都执行(这是我的情况)?
This compiles:
ITT NE
MRSNE R0, PSP
MRSNE R0, MSP Run Code Online (Sandbox Code Playgroud)
它是ARM标准吗?