Open Quuxplusone opened 4 years ago
Bugzilla Link | PR45954 |
Status | NEW |
Importance | P normal |
Reported by | Nuno Lopes (nunoplopes@sapo.pt) |
Reported on | 2020-05-17 04:53:52 -0700 |
Last modified on | 2020-09-03 12:57:48 -0700 |
Version | trunk |
Hardware | All All |
CC | juneyoung.lee@sf.snu.ac.kr, lebedev.ri@gmail.com, llvm-bugs@lists.llvm.org, llvm-dev@redking.me.uk, regehr@cs.utah.edu, spatel+llvm@rotateright.com |
Fixed by commit(s) | |
Attachments | |
Blocks | |
Blocked by | |
See also |
Hmm.
But then why @t19_ult_slt_vec_undef2 is fine?
There undef's could be 65537 and 65536, and we'd have the same issue?
(In reply to Roman Lebedev from comment #1)
> Hmm.
> But then why @t19_ult_slt_vec_undef2 is fine?
@t21_ult_slt_vec_undef2 that is of course.
> There undef's could be 65537 and 65536, and we'd have the same issue?
Hi,
It is because the transformation is fine if we can choose a value for undef in
source that explains it.
We can choose the two undefs to be 65536 and 65536, and then the transformation
is correct, so it is okay.
Another example:
// you can assume that y is poison, because undef can be chosen to be NaN.
y = fadd nnan x, undef
use(y)
=>
use(poison)
On the contrary, if the target has undef, it becomes tough.