[all-commits] [llvm/llvm-project] 57c0c4: [X86] Fix crash with i64 bitreverse on 32-bit targ...
Craig Topper via All-commits
all-commits at lists.llvm.org
Sun Nov 15 19:03:16 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 57c0c4a27575840ae0a48eb9f8455a5ed087c857
https://github.com/llvm/llvm-project/commit/57c0c4a27575840ae0a48eb9f8455a5ed087c857
Author: Craig Topper <craig.topper at sifive.com>
Date: 2020-11-15 (Sun, 15 Nov 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
Log Message:
-----------
[X86] Fix crash with i64 bitreverse on 32-bit targets with XOP.
We unconditionally marked i64 as Custom, but did not install a
handler in ReplaceNodeResults when i64 isn't legal type. This
leads to ReplaceNodeResults asserting.
We have two options to fix this. Only mark i64 as Custom on
64-bit targets and let it expand to two i32 bitreverses which
each need a VPPERM. Or the other option is to add the Custom
handling to ReplaceNodeResults. This is what I went with.
More information about the All-commits
mailing list