NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
CQ37334
当我们用CGT6.0.26编译此程序时,在.asm文件, 我们可以看到的是第一个循环被软件流水。第二个 是"Disqualified loop Did not find partition".
这是一个性能问题,而不是一个正确性的问题。
此问题是由在软件流水后选择最优的软件流水结果 时出的问题。软件流水通常对一个循环作出了几个 软件流水的结果, 在最后时刻将挑选最好的。问题 发生在软件流水在选择结果时包括了失败的软件流水 结果, 并且根据这个失败的结果的信息选择了它。 改正就是选择一定要在成功的流水线结果之中进行。
更进一步,很难说什么时候会出现这种情况。这通常 发生在C64+上。 在C64+上,成功和失败的软件流水 结果会被混合在一起。在这种情况下,如果软件流水 选择错误,就会造成性能变坏。
缺陷发生在:
C6000的编译器版本:6.0.26 - 6.0.27,6.1.0B1 - 6.1.16,7.0.0B1 - 7.0.3,7.1.0B1 - 7.1.0B2