由于SLP自动向量化算法使用的启发式策略会丢失一定的向量化机会,本文提出一种基于动态规划的自动向量化方法DPSLP,该方法采用比SLP更加激进的策略在基本块内寻找候选的SIMD指令分组,依据动态规划方程计算指令分组的代价并从众多指令分组中选择最优的分组进行向量化转换.实验结果显示,DPSLP与SLP相比测试程序的运行时间平均减少了8%,静态指令代价平均减少10%,平均向量宽度增加66.4%.