[PATCH] D69252: [InstCombine] Canonicalize sadd.with.overflow to sadd.sat
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 2 09:28:28 PDT 2019
dmgreen added a comment.
Alives, all of which pass:
Name: SAdd_x_lt0
%ao = sadd_overflow i8 %x, %y
%a = extractvalue %ao, 0
%o = extractvalue %ao, 1
%c = icmp slt i8 %x, 0
%s = select i1 %c, i8 -128, i8 127
%x5 = select i1 %o, i8 %s, i8 %a
=>
%x5 = sadd_sat %x, %y
Name: SAdd_x_lt1
%ao = sadd_overflow i8 %x, %y
%a = extractvalue %ao, 0
%o = extractvalue %ao, 1
%c = icmp slt i8 %x, 1
%s = select i1 %c, i8 -128, i8 127
%x5 = select i1 %o, i8 %s, i8 %a
=>
%x5 = sadd_sat %x, %y
Name: SAdd_x_lg0
%ao = sadd_overflow i8 %x, %y
%a = extractvalue %ao, 0
%o = extractvalue %ao, 1
%c = icmp sgt i8 %x, 0
%s = select i1 %c, i8 127, i8 -128
%x5 = select i1 %o, i8 %s, i8 %a
=>
%x5 = sadd_sat %x, %y
Name: SAdd_x_lg1
%ao = sadd_overflow i8 %x, %y
%a = extractvalue %ao, 0
%o = extractvalue %ao, 1
%c = icmp sgt i8 %x, -1
%s = select i1 %c, i8 127, i8 -128
%x5 = select i1 %o, i8 %s, i8 %a
=>
%x5 = sadd_sat %x, %y
Name: SAdd_y_lt0
%ao = sadd_overflow i8 %x, %y
%a = extractvalue %ao, 0
%o = extractvalue %ao, 1
%c = icmp slt i8 %y, 0
%s = select i1 %c, i8 -128, i8 127
%x5 = select i1 %o, i8 %s, i8 %a
=>
%x5 = sadd_sat %x, %y
Name: SAdd_y_lt1
%ao = sadd_overflow i8 %x, %y
%a = extractvalue %ao, 0
%o = extractvalue %ao, 1
%c = icmp slt i8 %y, 1
%s = select i1 %c, i8 -128, i8 127
%x5 = select i1 %o, i8 %s, i8 %a
=>
%x5 = sadd_sat %x, %y
Name: SAdd_y_lg0
%ao = sadd_overflow i8 %x, %y
%a = extractvalue %ao, 0
%o = extractvalue %ao, 1
%c = icmp sgt i8 %y, 0
%s = select i1 %c, i8 127, i8 -128
%x5 = select i1 %o, i8 %s, i8 %a
=>
%x5 = sadd_sat %x, %y
Name: SAdd_y_lg1
%ao = sadd_overflow i8 %x, %y
%a = extractvalue %ao, 0
%o = extractvalue %ao, 1
%c = icmp sgt i8 %y, -1
%s = select i1 %c, i8 127, i8 -128
%x5 = select i1 %o, i8 %s, i8 %a
=>
%x5 = sadd_sat %x, %y
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69252/new/
https://reviews.llvm.org/D69252
More information about the llvm-commits
mailing list