#define sru_mask(out,in) \
~((((in##_GROUP & GROUP_A) >> LOG_GROUP_A) * MASK_A \
|((in##_GROUP & GROUP_B) >> LOG_GROUP_B) * MASK_B \
|((in##_GROUP & GROUP_C) >> LOG_GROUP_C) * MASK_C \
|((in##_GROUP & GROUP_D) >> LOG_GROUP_D) * MASK_D \
|((in##_GROUP & GROUP_E) >> LOG_GROUP_E) * MASK_E \
|((in##_GROUP & GROUP_F) >> LOG_GROUP_F) * MASK_F \
|((in##_GROUP & GROUP_G) >> LOG_GROUP_G) * MASK_G \
|((in##_GROUP & GROUP_A2)>> LOG_GROUP_A2)* MASK_A2\
|((in##_GROUP & GROUP_B2)>> LOG_GROUP_B2)* MASK_B2\
|((in##_GROUP & GROUP_C2)>> LOG_GROUP_C2)* MASK_C2) << in##_SHIFT)