Pd=Rs 将谓词传输到通用寄存器的 8 个最低有效位,并将其他位归零。
Rd=Ps 将通用寄存器的 8 个最低有效位传送到谓词。
Class: XTYPE (slots 2,3)
Intrinsics
Encoding
从寄存器中提取一点。 如果该位为真(1),则将谓词寄存器目的地的所有位设置为1。如果该位为假(0),则将谓词寄存器目的地的所有位设置为0。可以指示要测试的位使用立即数或寄存器值。
如果使用寄存器指示要测试的位,并且指定的值超出范围,则谓词结果为零。
Class: XTYPE (slots 2,3)
Intrinsics
Encoding
比较两个 64 位向量中的四个 16 位半字中的每一个,如果为真,则将谓词目的地中的相应位设置为“11”,如果为假,则设置为“00”。
半字比较可以是等于、有符号大于或无符号大于。
Class: XTYPE (slots 2,3)
Intrinsics
Encoding
比较两个 64 位源向量中的每个字节,如果 8 个字节中的任何一个相等,则设置谓词。
该指令可用于快速查找字符串中的空终止符。
Class: XTYPE (slots 2,3)
Intrinsics
Encoding
比较两个 64 位向量中的 8 个字节中的每一个,如果为真,则将谓词目标中的相应位设置为 1,如果为假,则设置为 0。
字节比较可以是等于或无符号大于。
在以下示例中,所有其他比较都是正确的。
Class: XTYPE (slots 2,3)
Intrinsics
Encoding
比较两个 64 位向量中的两个 32 位字中的每一个,如果为真,则将谓词目的地中的相应位设置为“1111”,如果为假,则设置为“0000”。
字比较可以是等于、有符号大于或无符号大于。
Class: XTYPE (slots 2,3)
Intrinsics
Encoding
将两个谓词寄存器的偶数位和奇数位打包到一个目标寄存器中。 该指令的一个变体是 R3:2 |= vitpack(P1,P0)。 这会将打包的谓词位放入已预移位 8 位的寄存器对的低 8 位。
该指令在维特比解码中很有用。 重复使用推送版本可以存储历史记录以供追溯之用。
Class: XTYPE (slots 2,3)
Intrinsics
Encoding
在两个向量之间执行逐元素字节选择。
对于谓词寄存器Pu的低8位中的每一个,如果该位被设置,则将Rdd中的相应字节设置为Rss中的相应字节。 否则,将 Rdd 中的字节设置为 Rtt 中的字节。
Class: XTYPE (slots 2,3)
Intrinsics
Encoding