[PATCH] D70079: [SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY

Ulrich Weigand via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 11 08:22:13 PST 2019


uweigand added a comment.

It looks like the check is a bit too strict, something like the following should fix the problem:

  diff --git a/llvm/test/CodeGen/SystemZ/int-uadd-03.ll b/llvm/test/CodeGen/SystemZ/int-uadd-03.ll
  index d57f8a84411..b7b9883ecc9 100644
  --- a/llvm/test/CodeGen/SystemZ/int-uadd-03.ll
  +++ b/llvm/test/CodeGen/SystemZ/int-uadd-03.ll
  @@ -199,7 +199,7 @@ define zeroext i1 @f10(i64 %src, i64 %index, i64 %a, i64 *%res) {
   define zeroext i1 @f11(i32 *%ptr0) {
   ; CHECK-LABEL: f11:
   ; CHECK: brasl %r14, foo at PLT
  -; CHECK: algf %r2, 160(%r15)
  +; CHECK: algf {{%r[0-9]+}}, 160(%r15)
   ; CHECK: br %r14
     %ptr1 = getelementptr i32, i32 *%ptr0, i64 2
     %ptr2 = getelementptr i32, i32 *%ptr0, i64 4
  diff --git a/llvm/test/CodeGen/SystemZ/int-usub-03.ll b/llvm/test/CodeGen/SystemZ/int-usub-03.ll
  index 4e5f99fcee2..5e0a947772c 100644
  --- a/llvm/test/CodeGen/SystemZ/int-usub-03.ll
  +++ b/llvm/test/CodeGen/SystemZ/int-usub-03.ll
  @@ -207,7 +207,7 @@ define zeroext i1 @f10(i64 %src, i64 %index, i64 %a, i64 *%res) {
   define zeroext i1 @f11(i32 *%ptr0) {
   ; CHECK-LABEL: f11:
   ; CHECK: brasl %r14, foo at PLT
  -; CHECK: slgf %r2, 160(%r15)
  +; CHECK: slgf {{%r[0-9]+}}, 160(%r15)
   ; CHECK: br %r14
     %ptr1 = getelementptr i32, i32 *%ptr0, i64 2
     %ptr2 = getelementptr i32, i32 *%ptr0, i64 4
  }


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70079/new/

https://reviews.llvm.org/D70079





More information about the llvm-commits mailing list