On 12/24/22 00:16, Song Gao wrote:
+static void do_vsigncov(vec_t *Vd, vec_t *Vj, vec_t *Vk, int bit, int n) +{ + switch (bit) { + case 8: + Vd->B[n] = (Vj->B[n] == 0x0) ? 0 : + (Vj->B[n] < 0) ? -Vk->B[n] : Vk->B[n]; + break; + case 16: + Vd->H[n] = (Vj->H[n] == 0x0) ? 0 : + (Vj->H[n] < 0) ? -Vk->H[n] : Vk->H[n]; + break; + case 32: + Vd->W[n] = (Vj->W[n] == 0x0) ? 0 : + (Vj->W[n] < 0) ? -Vk->W[n] : Vk->W[n]; + break; + case 64: + Vd->D[n] = (Vj->D[n] == 0x0) ? 0 : + (Vj->D[n] < 0) ? -Vk->D[n] : Vk->W[n];
Typo in this last line. Can be implemented with neg + cmpsel * 2. r~