3.18. __nv_byte_perm
原型:
i32 @__nv_byte_perm(i32 %x, i32 %y, i32 %z)
描述:
__nv_byte_perm(x,y,s) 返回一个32位整数,该整数由两个输入整数 x 和 y 提供的八个输入字节中的四个字节组成,具体由选择器 s 指定。
输入字节的索引方式如下:
input[0] = x<7:0> input[1] = x<15:8> input[2] = x<23:16> input[3] = x<31:24> input[4] = y<7:0> input[5] = y<15:8> input[6] = y<23:16> input[7] = y<31:24>
选择器索引如下(选择器的高16位未使用):
selector[0] = s<2:0> selector[1] = s<6:4> selector[2] = s<10:8> selector[3] = s<14:12>
返回:
返回值 r 的计算方式为:result[n] := input[selector[n]],其中 result[n] 表示 r 的第 n 个字节。
库可用性:
计算能力2.0:支持
计算能力3.0:支持
计算能力3.5:支持