Hexagon_V65_Programmers_Reference_Manual(32)

Hexagon_V65_Programmers_Reference_Manual(32)

  • 11.10.1.34 向量平均半字
  • 11.10.1.35 矢量平均无符号字节
  • 11.10.1.36 向量平均词
  • 11.10.1.37 向量条件否定
  • 11.10.1.38 向量最大字节数
  • 11.10.1.39 向量最大半字
  • 11.10.1.40 向量减少最大字数
  • 11.10.1.41 向量最大词
  • 11.10.1.42 向量最小字节数
  • 11.10.1.43 向量最小半字
  • 11.10.1.44 向量减少最小半字
  • 11.10.1.45 向量约简和最小词
  • 11.10.1.46 向量最小词
  • 11.10.1.47 无符号字节绝对差向量和
  • 11.10.1.48 矢量减法半字
  • 11.10.1.49 矢量减法字节
  • 11.10.1.50 矢量减法词

11.10.1.34 向量平均半字

将64位源向量Rss中的四个半字中的每个半字与对应的Rtt中的半字。对每个半字执行的平均运算将两个字相加并将结果右移1位。无符号平均使用逻辑右移而符号平均使用算术右移(符号位中的移位)。如果如果使用舍入选项,则在移位之前还将0x0001添加到每个结果。这操作不会溢出。如果求和(右移1之前)导致32位溢出,移入的值是最高有效进位。

符号平均和负平均半字可用,可选收敛四舍五入。在收敛舍入中,如果加/减后的两个LSB为11,则舍入常数为1,否则为0。然后将该结果右移一点。收敛舍入累积的误差小于算术舍入。
Hexagon_V65_Programmers_Reference_Manual(32)_第1张图片
类别:XTYPE(插槽2、3)

笔记

■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。

OVF保持设置,直到通过传输到SR明确清除。

内部函数
Hexagon_V65_Programmers_Reference_Manual(32)_第2张图片
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第3张图片

11.10.1.35 矢量平均无符号字节

使用Rtt中的对应字节。对每个字节执行的平均操作是两个字节右移1位。如果使用了round选项,则还将为每个添加一个0x01换档前的结果。此操作不会溢出。在求和的情况下(右移1之前)导致8位溢出,移入的值是最高有效进位。
Hexagon_V65_Programmers_Reference_Manual(32)_第4张图片类别:XTYPE(插槽2、3)

内部函数
在这里插入图片描述
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第5张图片

11.10.1.36 向量平均词

将64位源向量Rss中的两个字中的每个字与对应的Rtt中的单词。对每个半字执行的平均运算将两个字相加,并将结果向右移位1位。无符号平均使用逻辑右移(0中的移位),而符号平均使用算术右移(符号位中的移位)。如果回合选项时,在移位之前,每个结果也会添加一个0x1。此操作不会:溢流如果求和(右移1之前)导致溢出32位,移入的值是最高有效进位。
符号平均和负平均字可用,可选收敛四舍五入。在收敛舍入中,如果加/减后的两个LSB为11,则舍入常数为1,否则为0。然后将该结果右移一点。收敛舍入累积的误差小于算术舍入。

Hexagon_V65_Programmers_Reference_Manual(32)_第6张图片
类别:XTYPE(插槽2、3)

笔记

■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。

OVF保持设置,直到通过传输到SR明确清除

内部函数Hexagon_V65_Programmers_Reference_Manual(32)_第7张图片
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第8张图片

11.10.1.37 向量条件否定

基于Rt中的位,有条件地对Rss中的一半求反。
Hexagon_V65_Programmers_Reference_Manual(32)_第9张图片
类别:XTYPE(插槽2、3)

笔记

■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。

OVF保持设置,直到通过传输到SR明确清除。

内部函数
在这里插入图片描述
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第10张图片

11.10.1.38 向量最大字节数

将64位源向量Rss中的八个无符号字节与Rtt中的对应字节。对于每个比较,选择两个字节中的最大值,并将该字节放在Rdd中的相应位置。
Hexagon_V65_Programmers_Reference_Manual(32)_第11张图片
类别:XTYPE(插槽2、3)
内部函数
在这里插入图片描述
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第12张图片

11.10.1.39 向量最大半字

将64位源向量Rss中的四个半字中的每一个与对应的半字进行比较Rtt中的半字。对于每个比较,选择两个半字中的最大值并放置该半字位于Rdd中的相应位置。两者都有比较

签名和未签名表单。
Hexagon_V65_Programmers_Reference_Manual(32)_第13张图片
类别:XTYPE(插槽2、3)
内部函数在这里插入图片描述

编码Hexagon_V65_Programmers_Reference_Manual(32)_第14张图片

11.10.1.40 向量减少最大字数

查找Rxx[0]中的上一个最大值和中的两个值之间的最大值Rss。新最大值的地址存储在Rxx[1]中。

寄存器Rxx包含低位字中的最大值和该最大值的地址高字中的值。寄存器Rss包含两个字值的向量,寄存器Ru包含此数据的地址。Hexagon_V65_Programmers_Reference_Manual(32)_第15张图片
类别:XTYPE(插槽2、3)
内部函数在这里插入图片描述
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第16张图片

11.10.1.41 向量最大词

将64位源向量Rss中的两个字中的每个字与相应的字进行比较在Rtt中。对于每个比较,选择两个单词中的最大值,并将该单词放入Rdd中的对应位置。

比较有符号和无符号两种形式
Hexagon_V65_Programmers_Reference_Manual(32)_第17张图片类别:XTYPE(插槽2、3)
内部函数

在这里插入图片描述
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第18张图片

11.10.1.42 向量最小字节数

将64位源向量Rss中的八个无符号字节与Rtt中的对应字节。对于每个比较,选择两个字节和将该字节放在Rdd中的相应位置。Hexagon_V65_Programmers_Reference_Manual(32)_第19张图片
类别:XTYPE(插槽2、3)

笔记

■ 此指令生成的谓词不能用作.new谓词,也不能它是否可以自动与另一个谓词进行AND运算。

内部函数在这里插入图片描述
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第20张图片

11.10.1.43 向量最小半字

将64位源向量Rss中的四个半字中的每一个与对应的半字进行比较Rtt中的半字。对于每个比较,选择两个半字中的最小值并放置该半字位于Rdd中的相应位置。

比较有符号和无符号两种形式。
Hexagon_V65_Programmers_Reference_Manual(32)_第21张图片
类别:XTYPE(插槽2、3)
内部函数
在这里插入图片描述
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第22张图片

11.10.1.44 向量减少最小半字

找到Rxx[0]中前一个最小值和四个值之间的最小半字在Rss中。新最小值的地址存储在Rxx[1]中。

寄存器Rxx在低位字中包含一个最小值和该最小值的地址高字中的值。寄存器Rss包含四个半字值的向量,寄存器Ru包含此数据的地址。

Hexagon_V65_Programmers_Reference_Manual(32)_第23张图片
类别:XTYPE(插槽2、3)
内部函数
在这里插入图片描述Hexagon_V65_Programmers_Reference_Manual(32)_第24张图片

11.10.1.45 向量约简和最小词

查找Rxx[0]中的前一个最小值和中的两个值之间的最小值Rss。新最小值的地址存储在Rxx[1]中。

寄存器Rxx在低位字中包含一个最小值和该最小值的地址高字中的值。寄存器Rss包含两个字值的向量,寄存器Ru包含此数据的地址。

Hexagon_V65_Programmers_Reference_Manual(32)_第25张图片

类别:XTYPE(插槽2、3)
内部函数

在这里插入图片描述

编码

Hexagon_V65_Programmers_Reference_Manual(32)_第26张图片

11.10.1.46 向量最小词

将64位源向量Rss中的两个字中的每个字与相应的字进行比较在Rtt中。对于每个比较,选择两个单词中的最小值,并将该单词放入Rdd中的对应位置。

比较有符号和无符号两种形式。
Hexagon_V65_Programmers_Reference_Manual(32)_第27张图片
类别:XTYPE(插槽2、3)
内部函数
在这里插入图片描述
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第28张图片

11.10.1.47 无符号字节绝对差向量和

对于源向量Rss中的每个字节,减去源向量中的相应字节Rtt。取中间结果的绝对值,以及上面四个结果的总和把下面四个加在一起。可选地,将目标上下单词添加到这些后果在应用中,此指令用于确定两个向量之间的距离例如运动估计。

Hexagon_V65_Programmers_Reference_Manual(32)_第29张图片
类别:XTYPE(插槽2、3)
内部函数
在这里插入图片描述

编码
Hexagon_V65_Programmers_Reference_Manual(32)_第30张图片

11.10.1.48 矢量减法半字

从相应的半字中减去64位矢量Rss中的四个半字在矢量Rtt中。

可选地,将每个16位加法饱和为有符号或无符号16位值。

对vsubh指令应用饱和将结果钳位到符号范围0x8000为0x7fff,而将饱和应用于vsubuh指令可确保无符号结果在0到0xffff的范围内。

当不需要饱和时,应使用vsubh。
Hexagon_V65_Programmers_Reference_Manual(32)_第31张图片
类别:XTYPE(插槽2、3)

笔记

■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。OVF保持设置,直到通过传输到SR明确清除。

内部函数
在这里插入图片描述
编码

Hexagon_V65_Programmers_Reference_Manual(32)_第32张图片

11.10.1.49 矢量减法字节

从矢量中的相应字节中减去64位矢量Rss中的八个字节Rtt。

可选地,将每个8位减法饱和为0到255之间的无符号值八个结果存储在目标寄存器Rdd中。
Hexagon_V65_Programmers_Reference_Manual(32)_第33张图片
类别:XTYPE(插槽2、3)

笔记

■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。OVF保持设置,直到通过传输到SR明确清除。

内部函数在这里插入图片描述
编码

Hexagon_V65_Programmers_Reference_Manual(32)_第34张图片

11.10.1.50 矢量减法词

从矢量中的相应单词中减去64位矢量Rss中的两个单词Rtt。

可选地,将每个32位减法饱和为0x8000_0000和0x7fff_ffff。两个字的结果存储在目标寄存器Rdd中。
在这里插入图片描述
类别:XTYPE(插槽2、3)

笔记

■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。OVF保持设置,直到通过传输到SR明确清除。

内部函数
在这里插入图片描述
编码
Hexagon_V65_Programmers_Reference_Manual(32)_第35张图片

你可能感兴趣的:(笔记,dsp开发,嵌入式硬件)