Next: , Previous: Bit-Fields, Up: RTL


10.12 向量运算

所有普通的RTL表达式都能够作为向量模式使用;它们被解析为对向量的每个部分进行独立的运算。另外,有一些新的表达式来描述特定的向量运算。

(vec_merge:m vec1 vec2 items)
这描述了两个向量间的合并操作。结果为机器模式为m的向量;它的元素来自vec1或者vec2。那些元素被选择是通过items来描述,其为一个由const_int表示的位掩码;0位指示相应的元素在结果向量中是来自vec2,而1指示其来自vec1


(vec_select:m vec1 selection)
这描述了选择一个向量的一部分的操作。vec1为源向量,selection为一个parallel其包含了一个const_int,来描述结果向量的子部分,给出了源向量的子部分应该被存放进去。


(vec_concat:m vec1 vec2)
描述了一个向量连接操作。结果为向量vec1vec2的连接;其长度为两个输出向量的长度之和。


(vec_duplicate:m vec)
该操作将一个小向量转换为一个大一点的,通过复制输入值。输出向量的机器模式必须和输入向量的相同,并且输出部分的编号必须为输入部分的编号的整数倍。