495 {
496
497
498 uint32_t a[4] = {0x00010000, 0x00020000,
as_u32(-0x00010000), 0x00008000};
499 uint32_t b[4] = {0x00020000, 0x00010000, 0x00020000, 0x00008000};
500 uint32_t output[4] = {0};
501 store_u32_4(output, mulhi_i32_4(load_u32_4(a), load_u32_4(b)));
502 if (output[0] != 0x00020000) return false;
503 if (output[1] != 0x00020000) return false;
504 if (
as_i32(output[2]) != -0x00020000)
return false;
505 if (output[3] != 0x00004000) return false;
506 return true;
507}
uint32_t as_u32(int32_t v)
int32_t as_i32(uint32_t v)