[PATCH] D106053: [CodeGen] Remove pending AssertZext AssertSext in promoting FP_TO_INT

Xiang Zhang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 15 19:11:43 PDT 2021


xiangzhangllvm added inline comments.


================
Comment at: llvm/test/CodeGen/X86/tmp/rep.ll:14
+VPlannedBB181vector_func.i7zxzx:                       ; preds = %VPlannedBB181vector_func.i6zxzx
+  %i376 = fptoui <8 x float> %i375 to <8 x i8>
+  %i377 = fmul <8 x float> %2, <float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00, float 2.000000e+00>
----------------
craig.topper wrote:
> xiangzhangllvm wrote:
> > craig.topper wrote:
> > > xiangzhangllvm wrote:
> > > > craig.topper wrote:
> > > > > Or is it this fptoui that overflowed?
> > > > Yes, It is. We can't control the load value of %1 %2
> > > Where did it come from? Does the program fail -fsanitize=undefined?
> > It come from a long way: a lot of fmul and fadd operations, also include calling some function.
> > What is the llc option "-fsanitize=undefined" corresponding to ?    It is a OCL project with a log of cl files. It is much easy for me to use llc option. 
> There isn't an llc option. The option makes clang include extra code in the binary to check the range of inputs on different operations.
> 
> How far out of range is the loaded data? Can you provide the values? What does the program expect the result of the fptoui to be?
It is difficult for me to provide the value.
In fact, when I debug the problem, I also want to get the value, but the host program is not built from our project, it make me hard to print the middle value of kernel code.


Can we focus on this small reproduce cast ? 
If we assume there is an over flow in this small case. We can compare the *.s I uppload. The rep_old.s is not correct.




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

https://reviews.llvm.org/D106053



More information about the llvm-commits mailing list