Closed Quuxplusone closed 3 years ago
Bugzilla Link | PR52504 |
Status | RESOLVED FIXED |
Importance | P enhancement |
Reported by | Vsevolod Livinskiy (Vsevolod.Livinskij@frtk.ru) |
Reported on | 2021-11-14 12:51:48 -0800 |
Last modified on | 2021-11-15 08:20:20 -0800 |
Version | trunk |
Hardware | PC Linux |
CC | babokin@gmail.com, craig.topper@gmail.com, llvm-bugs@lists.llvm.org, llvm-dev@redking.me.uk, pengfei.wang@intel.com, regehr@cs.utah.edu, spatel+llvm@rotateright.com, Vsevolod.Livinskij@frtk.ru |
Fixed by commit(s) | rG5be64d416481, rG6efe64cf9f11, rG3d01507c2dec |
Attachments | |
Blocks | |
Blocked by | |
See also |
@spatel The VSRAI+ANDNP makes me think this might be due to one of your recent
commits:
Combining: t179: v2i64 = and t119, t177
Creating constant: t239: i8 = TargetConstant<31>
Creating new node: t240: v4i32 = X86ISD::VSRAI t232, TargetConstant:i8<31>
Creating new node: t241: v4i32 = X86ISD::ANDNP t240, t210
... into: t241: v4i32 = X86ISD::ANDNP t240, t210
Assertion failed: (!From->hasAnyUseOfValue(i) || From->getValueType(i) == To-
>getValueType(i)) && "Cannot use this version of ReplaceAllUsesWith!", file
C:\LLVM\llvm-project\llvm\lib\CodeGen\SelectionDAG\SelectionDAG.cpp, line 9446
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.
Yes, seem very likely to be a problem with that patch. Stepping through now.
Ah, forgot to account for the optional bitcasts of the input operands.
The original commit was reverted:
https://reviews.llvm.org/rG5be64d416481
I added a minimized crasher test based on the example here and a fixed version
of the patch with:
https://reviews.llvm.org/rG6efe64cf9f11
https://reviews.llvm.org/rG3d01507c2dec