XTYPE指令类包括执行大部分数据的指令由Hexagon处理器完成的处理。XTYPE指令可在插槽2或插槽3上执行。
XTYPE/ALU指令子类包括执行算术和逻辑运算。
取64位源寄存器的绝对值,并将其放入目标寄存器。

取源寄存器的绝对值并将其放入目标寄存器。
32位绝对值具有可选饱和度。单一案例饱和是指如果源寄存器等于0x8000_0000,则目标寄存器饱和为0x7fff_ffff。

类别:XTYPE(插槽2、3)
注意
■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。
OVF保持设置,直到通过传输到SR明确清除
内部函数

编码

将Rs和Rt或带符号的立即数相加,然后将所得值相加或相减。结果保存在Rx中。

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

编码

该指令的第一种形式是添加两个32位寄存器。如果结果溢出32位,对于正结果,结果饱和为0x7FFF_FFFF;对于正结果则饱和为0x8000_0000这是一个消极的结果。注意,32位非饱和寄存器add是ALU32类指令并且可以在任何时隙上执行。
第二个指令形式符号将32位寄存器Rt扩展为64位,并执行64位-使用Rss添加位。结果存储在Rdd中。
第三种指令形式添加64位寄存器Rss和Rtt,并将结果放入Rdd中。最终的指令形式添加了两个64位寄存器Rss和Rtt。如果结果溢出64位,则其饱和为0x7fff_ffff_FFFFFF_ ffff以获得正结果,或0x8000_0000_0000表示否定结果。

类别:XTYPE(插槽2、3)
注意
■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。
OVF保持设置,直到通过传输到SR明确清除。
内部函数

编码

使用可选饱和度执行16位加法,并将结果放入上限或寄存器的下半部分。如果结果在上半部分,则源可以是任何高或Rs和Rt的低半字。结果的低16位置零。
如果将结果放在Rd的低16位,Rs源可以是高或低,但另一个源必须是Rt的低半字。在这种情况下,上半字Rd的符号扩展是低半字的符号扩展。

类别:XTYPE(插槽2、3)
笔记
■ 如果在执行此指令期间出现饱和(结果被箝位为
设置状态寄存器中的OVF位。
OVF保持设置,直到通过传输到SR明确清除
内部函数

编码

用进位加或减。谓词寄存器Px用作额外的输入和输出。
对于加法,谓词的LSB被加到两个输入对的和。
对于减法运算,谓词被视为非借用。添加谓词的LSB到第一源寄存器和第二参数的逻辑补码。
求和的进位保存在谓词Px中。
这些指令允许对大于64位的数字进行有效的加法或减法运算。

类别:XTYPE(插槽2、3)
笔记
■ 此指令生成的谓词不能用作.new谓词,也不能它是否可以自动与另一个谓词进行AND运算。
编码

执行按位逻辑AND、OR、XOR和NOT操作。
源寄存器和目标寄存器为64位。
有关32位逻辑操作,请参阅ALU32逻辑指令。

类别: XTYPE (slots 2,3)
内部函数

编码

对两个源操作数执行逻辑运算,然后执行第二个逻辑运算使用目标寄存器Rxx对结果进行运算。
源寄存器和目标寄存器为64位。

类别: XTYPE (slots 2,3)
内部函数

编码

对两个源操作数执行逻辑运算,然后执行第二个逻辑运算使用目标寄存器Rx对结果进行操作。
源寄存器和目标寄存器为32位。

类别: XTYPE (slots 2,3)
内部函数

编码

选择两个源寄存器的有符号或无符号最大值,并将其放入目标寄存器Rdd。

类别: XTYPE (slots 2,3)
内部函数

编码

选择两个64位源寄存器的有符号或无符号最大值,并将其放入
目标寄存器。

类别: XTYPE (slots 2,3)
内部函数

编码

选择两个源寄存器中的有符号或无符号最小值,并放入
目的地寄存器Rd。

类别: XTYPE (slots 2,3)
内部函数

编码

选择两个64位源寄存器中的有符号或无符号最小值,并放入目标寄存器Rdd。

类别: XTYPE (slots 2,3)
内部函数

编码

将Rs值包装到从0到Rt的模范围内。
如果Rs大于或等于Rt,则通过减去Rt将其包装到范围的底部。
如果Rs小于零,则通过添加Rt将其包装到范围的顶部。
否则,当Rs在范围内时,无需调整。结果是在寄存器Rd中返回。

类别: XTYPE (slots 2,3)
内部函数

编码

此指令的第一种形式对具有饱和的32位寄存器执行求反。如果输入为0x8000000,结果饱和为0x7fffffff。注意,非饱和32位寄存器否定是ALU32类指令,可以在任何插槽上执行。
此指令的第二种形式对64位源寄存器求反,并将结果放入目标Rdd。

类别: XTYPE (slots 2,3)
笔记
■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。
OVF保持设置,直到通过传输到SR明确清除。
内部函数

编码

执行算术(5向上舍入)或收敛(5向偶数舍入)舍入到任何位位置。
算术舍入具有可选饱和度。在此版本中,结果饱和为32-添加舍入常数后的位数。四舍五入和饱和后使用符号扩展移位将最终结果右移。

类别: XTYPE (slots 2,3)
笔记
■ 如果在执行此指令期间出现饱和(结果被箝位为设置状态寄存器中的OVF位。
OVF保持设置,直到通过传输到SR明确清除
内部函数

编码
