i965: Define brw_int_type() helper.

Intended as a (partial) inverse of type_sz().  Will be useful in the
next commit and some other SIMD32 generator changes I have queued up.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Francisco Jerez 2016-04-25 17:35:52 -07:00
parent bb89beb26b
commit 9dcb8ff6a1
1 changed files with 20 additions and 0 deletions

View File

@ -304,6 +304,26 @@ type_sz(unsigned type)
}
}
/**
* Return an integer type of the requested size and signedness.
*/
static inline enum brw_reg_type
brw_int_type(unsigned sz, bool is_signed)
{
switch (sz) {
case 1:
return (is_signed ? BRW_REGISTER_TYPE_B : BRW_REGISTER_TYPE_UB);
case 2:
return (is_signed ? BRW_REGISTER_TYPE_W : BRW_REGISTER_TYPE_UW);
case 4:
return (is_signed ? BRW_REGISTER_TYPE_D : BRW_REGISTER_TYPE_UD);
case 8:
return (is_signed ? BRW_REGISTER_TYPE_Q : BRW_REGISTER_TYPE_UQ);
default:
unreachable("Not reached.");
}
}
/**
* Construct a brw_reg.
* \param file one of the BRW_x_REGISTER_FILE values