У меня есть довольно большое математическое выражение которое транслируется в примерно такой сиплюсовый код:
TReal R1 = x * y;
TReal R2 = C1 * z;
TReal R3 = R1 + R2 + C2;
TReal R4 = exp(R3);
TReal R5 = pow(x, C3);
....
итд итп строк на 200-300
В примере R1 используется только один раз. Потому R1 можно запросто использовать еще раз. Но скажем R4 входит еще в несколько подвыражений идущих ниже. Так вот вопрос стоит ли мне заморачиватся с оптимизацией использования регистров или компилятор сам сообразит как куда что раскидать?
Так если грубо глянуть, просто по часам, icc будет побыстрее чем clang и vc, но совсем чуток, процентов на пять.