![]() |
1
1
如果删除一些操作数,比如只进行256位加法,您会注意到 禁用优化后,GCC希望将一个指针直接指向单独寄存器中的每个内存操作数 ,而不是为它们中的每一个发明相对于同一个基址的寻址模式。所以它的寄存器用完了。(见本章中间部分) Strange 'asm' operand has impossible constraints error 用于演示此功能的编译器输出。)
你可能想要
而且,这不需要“记忆”重击器;你不写任何记忆,你只通过
你也可以让编译器选择
顺便说一句,对于clang(但不是GCC),您根本不需要内联asm:使用
|
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |