/// CHECK-START: long SadLong.sad1(long, long) instruction_simplifier$after_gvn (before) /// CHECK-DAG: <<Select:j\d+>> Select /// CHECK-DAG: Return [<<Select>>] // /// CHECK-START: long SadLong.sad1(long, long) instruction_simplifier$after_gvn (after) /// CHECK-DAG: <<Select:j\d+>> Select /// CHECK-DAG: Return [<<Select>>] // /// CHECK-START: long SadLong.sad1(long, long) instruction_simplifier$after_gvn (after) /// CHECK-NOT: Abs // // NOTE: for direct 64-bit operands, this is not an ABS. staticlong sad1(long x, long y) { return x >= y ? x - y : y - x;
}
/// CHECK-START: long SadLong.sad2(long, long) instruction_simplifier$after_gvn (before) /// CHECK-DAG: <<Select:j\d+>> Select /// CHECK-DAG: Return [<<Select>>] // /// CHECK-START: long SadLong.sad2(long, long) instruction_simplifier$after_gvn (after) /// CHECK-DAG: <<Intrin:j\d+>> Abs /// CHECK-DAG: Return [<<Intrin>>] staticlong sad2(long x, long y) { long diff = x - y; if (diff < 0) diff = -diff; return diff;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.