]> granicus.if.org Git - llvm/commit
Remove CRC32 instructions from AArch64InstrInfo::hasShiftedReg
authorAzharuddin Mohammed <azharudd@codeaurora.org>
Sun, 12 Mar 2017 14:02:32 +0000 (14:02 +0000)
committerAzharuddin Mohammed <azharudd@codeaurora.org>
Sun, 12 Mar 2017 14:02:32 +0000 (14:02 +0000)
commitbeaedd7463e69331ffcd2e98dd489491b0419f44
tree32b3ab971c202ee2fee0abc7dd20c0f48fbddea7
parentfbb692e572a0f4ce06e27e63e6de1babb902f915
Remove CRC32 instructions from AArch64InstrInfo::hasShiftedReg

Summary:
A53 scheduler causes an assertion failure on all CRC instructions:
include/llvm/CodeGen/MachineInstr.h:280: const llvm::MachineOperand
&llvm::MachineInstr::getOperand(unsigned int) const: Assertion `i <
getNumOperands() && "getOperand() out of range!"' failed.

The case statements corresponding to CRC instructions are incorrect and should
be removed.

Also adding a testcase while on this.

Reviewers: t.p.northover, javed.absar, apazos, rengolin

Reviewed By: rengolin

Subscribers: evandro, aemerson, llvm-commits, rengolin

Differential Revision: https://reviews.llvm.org/D30274

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297582 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64InstrInfo.cpp
test/CodeGen/AArch64/arm64-crc32.ll