基于条件控制转移的标准方法
if (!test-expr)
goto false;
v = then-expr;
goto done;
false:
v = else-expr;
done:
基于条件传送的代码
v = then-expr;
ve = else-expr;
t = test-expr;
if (!t) v = ve;
虽然基于条件数据传送的代码会比基于条件控制转移的代码性能要好,但不是所有的条件表达式都可以用条件传送来编译。
基于条件控制转移的标准方法
if (!test-expr)
goto false;
v = then-expr;
goto done;
false:
v = else-expr;
done:
基于条件传送的代码
v = then-expr;
ve = else-expr;
t = test-expr;
if (!t) v = ve;
虽然基于条件数据传送的代码会比基于条件控制转移的代码性能要好,但不是所有的条件表达式都可以用条件传送来编译。