已合并
修复c_api的compare接口设置mask不生效 #372
zhangqianlong创建于 2月6日
修复c_api的compare接口设置mask不生效 #372
已合并
从已删除 :master合入到cann/asc-devkitmaster
共 12 个文件变更+45-14
| @@ -60,9 +60,13 @@ PIPE_V | |||
| 60 | 60 | ||
| 61 | ## 约束说明 | 61 | ## 约束说明 |
| 62 | 62 | ||
| 63 | -- 使用寄存器形式的接口时,需要配合[asc_get_cmp_mask](asc_get_cmp_mask.md)获取比较结果。 | ||
| 64 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 63 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 65 | - dst、src0、src1的起始地址需要32字节对齐。 | 64 | - dst、src0、src1的起始地址需要32字节对齐。 |
| 65 | +- dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | ||
| 66 | +- 当结果输出到目的地址中时,mask参数不生效。 | ||
| 67 | +- 使用寄存器形式的接口时,需要配合[asc_get_cmp_mask](asc_get_cmp_mask.md)获取比较结果。 | ||
| 68 | +- 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 | ||
| 69 | +- 当结果输出到寄存器中时,若mask某bit位为0,对应输出寄存器的bit位的值不会改变时,最终结果可能会有上一次计算的残留。如果要初始化寄存器,可以调用[asc_set_cmp_mask](asc_set_cmp_mask.md)接口。 | ||
| 66 | 70 | ||
| 67 | ## 调用示例 | 71 | ## 调用示例 |
| 68 | 72 | ||
| @@ -53,9 +53,10 @@ PIPE_V | |||
| 53 | 53 | ||
| 54 | ## 约束说明 | 54 | ## 约束说明 |
| 55 | 55 | ||
| 56 | -- dst、src的起始地址需要32字节对齐。 | ||
| 57 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 56 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 57 | +- dst、src的起始地址需要32字节对齐。 | ||
| 58 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | 58 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 |
| 59 | +- 当结果输出到目的地址中时,mask参数不生效。 | ||
| 59 | 60 | ||
| 60 | ## 调用示例 | 61 | ## 调用示例 |
| 61 | 62 | ||
| @@ -79,8 +79,13 @@ PIPE_V | |||
| 79 | 79 | ||
| 80 | ## 约束说明 | 80 | ## 约束说明 |
| 81 | 81 | ||
| 82 | -- dst、src的起始地址需要32字节对齐。 | ||
| 83 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 82 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 83 | +- dst、src0、src1的起始地址需要32字节对齐。 | ||
| 84 | +- dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | ||
| 85 | +- 当结果输出到目的地址中时,mask参数不生效。 | ||
| 86 | +- 使用寄存器形式的接口时,需要配合[asc_get_cmp_mask](asc_get_cmp_mask.md)获取比较结果。 | ||
| 87 | +- 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 | ||
| 88 | +- 当结果输出到寄存器中时,若mask某bit位为0,对应输出寄存器的bit位的值不会改变时,最终结果可能会有上一次计算的残留。如果要初始化寄存器,可以调用[asc_set_cmp_mask](asc_set_cmp_mask.md)接口。 | ||
| 84 | 89 | ||
| 85 | ## 调用示例 | 90 | ## 调用示例 |
| 86 | 91 | ||
| @@ -51,7 +51,7 @@ PIPE_V | |||
| 51 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 51 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 52 | - dst、src的起始地址需要32字节对齐。 | 52 | - dst、src的起始地址需要32字节对齐。 |
| 53 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | 53 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 |
| 54 | -- 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 | 54 | +- 当结果输出到目的地址中时,mask参数不生效。 |
| 55 | 55 | ||
| 56 | ## 调用示例 | 56 | ## 调用示例 |
| 57 | 57 | ||
| @@ -81,8 +81,13 @@ PIPE_V | |||
| 81 | 81 | ||
| 82 | ## 约束说明 | 82 | ## 约束说明 |
| 83 | 83 | ||
| 84 | -- dst、src0、src1的起始地址需要32字节对齐。 | ||
| 85 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 84 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 85 | +- dst、src0、src1的起始地址需要32字节对齐。 | ||
| 86 | +- dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | ||
| 87 | +- 当结果输出到目的地址中时,mask参数不生效。 | ||
| 88 | +- 使用寄存器形式的接口时,需要配合[asc_get_cmp_mask](asc_get_cmp_mask.md)获取比较结果。 | ||
| 89 | +- 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 | ||
| 90 | +- 当结果输出到寄存器中时,若mask某bit位为0,对应输出寄存器的bit位的值不会改变时,最终结果可能会有上一次计算的残留。如果要初始化寄存器,可以调用[asc_set_cmp_mask](asc_set_cmp_mask.md)接口。 | ||
| 86 | 91 | ||
| 87 | ## 调用示例 | 92 | ## 调用示例 |
| 88 | 93 | ||
| @@ -50,6 +50,8 @@ PIPE_V | |||
| 50 | 50 | ||
| 51 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 51 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 52 | - dst、src的起始地址需要32字节对齐。 | 52 | - dst、src的起始地址需要32字节对齐。 |
| 53 | +- dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | ||
| 54 | +- 当结果输出到目的地址中时,mask参数不生效。 | ||
| 53 | 55 | ||
| 54 | ## 调用示例 | 56 | ## 调用示例 |
| 55 | 57 | ||
| @@ -62,9 +62,12 @@ PIPE_V | |||
| 62 | ## 约束说明 | 62 | ## 约束说明 |
| 63 | 63 | ||
| 64 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 64 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 65 | -- dst、src的起始地址需要32字节对齐。 | 65 | +- dst、src0、src1的起始地址需要32字节对齐。 |
| 66 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | 66 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 |
| 67 | +- 当结果输出到目的地址中时,mask参数不生效。 | ||
| 68 | +- 使用寄存器形式的接口时,需要配合[asc_get_cmp_mask](asc_get_cmp_mask.md)获取比较结果。 | ||
| 67 | - 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 | 69 | - 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 |
| 70 | +- 当结果输出到寄存器中时,若mask某bit位为0,对应输出寄存器的bit位的值不会改变时,最终结果可能会有上一次计算的残留。如果要初始化寄存器,可以调用[asc_set_cmp_mask](asc_set_cmp_mask.md)接口。 | ||
| 68 | 71 | ||
| 69 | ## 调用示例 | 72 | ## 调用示例 |
| 70 | 73 | ||
| @@ -51,7 +51,7 @@ PIPE_V | |||
| 51 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 51 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 52 | - dst、src的起始地址需要32字节对齐。 | 52 | - dst、src的起始地址需要32字节对齐。 |
| 53 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | 53 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 |
| 54 | -- 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 | 54 | +- 当结果输出到目的地址中时,mask参数不生效。 |
| 55 | 55 | ||
| 56 | ## 调用示例 | 56 | ## 调用示例 |
| 57 | 57 | ||
| @@ -62,9 +62,12 @@ PIPE_V | |||
| 62 | ## 约束说明 | 62 | ## 约束说明 |
| 63 | 63 | ||
| 64 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 64 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 65 | -- dst、src的起始地址需要32字节对齐。 | 65 | +- dst、src0、src1的起始地址需要32字节对齐。 |
| 66 | -- dst或输出到寄存器中的结果均按照小端顺序排序成二进制结果,其中的每个bit对应src中相应位置的元素的比较结果。 | 66 | +- dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 |
| 67 | -- 当结果输出到寄存器中时,固定处理256B的数据,config中的repeat字段不生效。 | 67 | +- 当结果输出到目的地址中时,mask参数不生效。 |
| 68 | +- 使用寄存器形式的接口时,需要配合[asc_get_cmp_mask](asc_get_cmp_mask.md)获取比较结果。 | ||
| 69 | +- 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 | ||
| 70 | +- 当结果输出到寄存器中时,若mask某bit位为0,对应输出寄存器的bit位的值不会改变时,最终结果可能会有上一次计算的残留。如果要初始化寄存器,可以调用[asc_set_cmp_mask](asc_set_cmp_mask.md)接口。 | ||
| 68 | 71 | ||
| 69 | ## 调用示例 | 72 | ## 调用示例 |
| 70 | 73 | ||
| @@ -51,8 +51,10 @@ PIPE_V | |||
| 51 | 51 | ||
| 52 | ## 约束说明 | 52 | ## 约束说明 |
| 53 | 53 | ||
| 54 | -- dst、src的起始地址需要32字节对齐。 | ||
| 55 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 54 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 55 | +- dst、src的起始地址需要32字节对齐。 | ||
| 56 | +- dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | ||
| 57 | +- 当结果输出到目的地址中时,mask参数不生效。 | ||
| 56 | 58 | ||
| 57 | ## 调用示例 | 59 | ## 调用示例 |
| 58 | 60 | ||
| @@ -62,9 +62,12 @@ PIPE_V | |||
| 62 | ## 约束说明 | 62 | ## 约束说明 |
| 63 | 63 | ||
| 64 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 64 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 65 | -- dst、src的起始地址需要32字节对齐。 | 65 | +- dst、src0、src1的起始地址需要32字节对齐。 |
| 66 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | 66 | - dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 |
| 67 | -- 当结果输出到寄存器中时,固定处理256B的数据,config中的repeat字段不生效。 | 67 | +- 当结果输出到目的地址中时,mask参数不生效。 |
| 68 | +- 使用寄存器形式的接口时,需要配合[asc_get_cmp_mask](asc_get_cmp_mask.md)获取比较结果。 | ||
| 69 | +- 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 | ||
| 70 | +- 当结果输出到寄存器中时,若mask某bit位为0,对应输出寄存器的bit位的值不会改变时,最终结果可能会有上一次计算的残留。如果要初始化寄存器,可以调用[asc_set_cmp_mask](asc_set_cmp_mask.md)接口。 | ||
| 68 | 71 | ||
| 69 | ## 调用示例 | 72 | ## 调用示例 |
| 70 | 73 | ||
| @@ -50,8 +50,11 @@ PIPE_V | |||
| 50 | 50 | ||
| 51 | ## 约束说明 | 51 | ## 约束说明 |
| 52 | 52 | ||
| 53 | -- dst、src的起始地址需要32字节对齐。 | ||
| 54 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 | 53 | - 操作数地址重叠约束请参考[通用地址重叠约束](../general_instruction.md#通用地址重叠约束)。 |
| 54 | +- dst、src的起始地址需要32字节对齐。 | ||
| 55 | +- dst按照小端顺序排序成二进制结果,对应src中相应位置的数据比较结果。 | ||
| 56 | +- 当结果输出到寄存器中时,固定处理256B的数据,repeat字段不生效。 | ||
| 57 | +- 当结果输出到目的地址中时,mask参数不生效。 | ||
| 55 | 58 | ||
| 56 | ## 调用示例 | 59 | ## 调用示例 |
| 57 | 60 | ||