This patch contains the changes and tests for augmented assignments for primary fixed point types.
s_accum = 7.5hk;
s_accum2 = 2.0hk;
s_accum += s_accum2;
assert(s_accum == 9.5hk);
s_accum += 2.5k;
assert(s_accum == 12);
Logic for moving the radix was also moved to a separate function that takes into account the order between fixed point casts before shifting.
This is a parent of https://reviews.llvm.org/D46926