VEC_BPERM (ARG1, ARG2)
用途
按指定顺序从四字或每个双字元素中收集多达 16 个 1 位值,并根据元素类型将它们按指定顺序放置在结果向量寄存器的最左侧双字的最右侧 16 位中,或者放置在结果向量寄存器的每个双字的最右侧 8 位中,结果的其余部分设置为 0。
类
元素函数
参数类型和属性
- ARG1
INTENT(IN)UNSIGNED(1)或UNSIGNED(8)向量- ARG2
INTENT(IN)UNSIGNED(1)向量
结果类型和属性
下表描述了结果的类型和函数自变量。
| 结果 | ARG1 | ARG2 |
|---|---|---|
UNSIGNED(1) 向量 |
INTENT(IN) UNSIGNED(1) 向量1 |
INTENT(IN) UNSIGNED(1) 向量1 |
UNSIGNED(8) 向量 |
INTENT(IN) UNSIGNED(8) 向量2 |
INTENT(IN) UNSIGNED(1) 向量2 |
备注信息:
- 仅当以下情况时, 内部过程 的自变量的数据类型组合才有效:-qarch将目标设置为 POWER8 或更高处理器。
- 仅当以下情况时, 内部过程 的自变量的数据类型组合才有效:-qarch将目标设置为 POWER9 或更高处理器。
结果值
- 当
ARG1的数据类型为UNSIGNED(1)vector时,仅当 -qarch 设置为目标 POWER8 或更高级别的处理器时才有效:Suppose 我(0<=我<16) and J. 让 i 表示ARG2的元素索引,让 j 表示ARG2的元素 i 的字节值:- 如果 j> =128 ,那么 doubleword 0 的位 48+i 设置为 0。
- If J<128, bit 48+i of the result is set to the value of bit J of
ARG1. - 所有其他位都设置为 0。
- 当
ARG1的数据类型为UNSIGNED(8)vector时,仅当 -qarch 设置为目标 POWER9 或更高版本的处理器时才有效:Suppose 我(0<=我<2), J(0<=J<8) and 克. 让 i 表示ARG1的双字元素索引; 让 j 表示ARG2的元素索引; 让 k 表示ARG2的元素 j 的字节值:- 如果 k> =64 ,那么元素 i 的位 56+j 设置为 0。
- If 克<64, bit 56+j of element 我 is set to the value of bit 克 of element 我 of
ARG1. - 所有其他位都设置为 0。