[PATCH] D45146: [x86] Introduce a pass to begin more systematically fixing PR36028 and similar issues.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 4 22:11:04 PDT 2018


chandlerc added inline comments.


================
Comment at: llvm/lib/Target/X86/X86FlagsCopyLowering.cpp:615
+    Cond = X86::COND_B; // CF == 1
+    Addend = 127;
+    break;
----------------
rnk wrote:
> craig.topper wrote:
> > I think these Addend values are backwards. 255 would work for carry, and 127 would work for overflow
> I confirmed this with assembly. You might want to do some multi-precision ADDC execution tests locally to validate the change after fixing this.
I tried sooooo many tests, included a bunch of high-precision arithmetic library tests... Nothing failed. =[ The only thing I've seen actually hit this code path is the mul-i1024.ll regression test ironically.

Maybe I can kill two birds with one stone by moving mul-i1024.ll to instead be a bitcode test of basic arithmetic. Anyways, any reason to not commit with this fixed?


Repository:
  rL LLVM

https://reviews.llvm.org/D45146





More information about the llvm-commits mailing list