Example:
rule(a, b) {
tmp = set_low_part(a);
tmp = update_high(tmp, b)
return extract_low(tmp);
} -> {
return a;
}
rule(a, b) {
tmp = set_low_part(a);
tmp = update_high(tmp, b)
return extract_high(tmp);
} -> {
return b;
}
Removes chain of dependency between a set_* and a ext_* expression that refer to the same accumulator component, but the extract operation has finer granularity.
Example:
Definition me_chess.h:633
Definition me_chess.h:638
Definition me_chess.h:628
v8acc64 extract_v8acc64(v16acc64 a, int idx)
Definition me_upd_ext.h:3212
v32acc64 set_v32acc64(int idx, v8acc64 b)
Definition me_upd_ext.h:4442