522 {
523
524
525 uint32_t a[4] = {
as_u32(-0x00010000), 0x00020000,
as_u32(-0x00020000), 0x00010000};
526 uint32_t b[4] = {0x00020000, 0x00010000, 0x00010000, 0x00030000};
527 uint32_t output[4] = {0};
528 store_u32_4(output, mulhi_su32_4(load_u32_4(a), load_u32_4(b)));
529 if (
as_i32(output[0]) != -0x00020000)
return false;
530 if (output[1] != 0x00020000) return false;
531 if (
as_i32(output[2]) != -0x00020000)
return false;
532 if (output[3] != 0x00030000) return false;
533 return true;
534}
uint32_t as_u32(int32_t v)
int32_t as_i32(uint32_t v)