你好:
1.我编写的线性汇编,通过编译器优化后,查看生成的.asm文件,发现编译器优化的代码在PIPED LOOP PROLOG阶段将中断关闭,在PIPED LOOP EPILOG阶段将中断打开,这样做有什么作用吗? 如果程序在PIPED LOOP KERNEL阶段被中断,会出现什么问题?
2.线性汇编中,编译器优化后,有些需要入栈的寄存器是编译器已经自动实现入栈了,还是需要人为的去做一些入栈操作?
多谢!
si cheng:
已经知道第二个问题了,编译器会自动保存寄存器的数据,但是第一个问题还不明白,请指教!
多谢!
James Li2:
SPLOOP可以被中断,非SPLOOP被中断会破坏流水线导致执行错误。所以非SPLOOP的kernel都要关中断
si cheng:
回复 James Li2:
你好:
你说的sploop是指并行汇编,非sploop是指线性汇编吗?如果线性汇编优化时中断关闭了,很有可能会丢中断,这该如何处理?
多谢!
TI中文支持网