mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-06 12:26:45 +00:00
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
This commit is contained in:
parent
fbb692e572
commit
beaedd7463
@ -1345,14 +1345,6 @@ bool AArch64InstrInfo::hasShiftedReg(const MachineInstr &MI) const {
|
||||
case AArch64::BICSXrs:
|
||||
case AArch64::BICWrs:
|
||||
case AArch64::BICXrs:
|
||||
case AArch64::CRC32Brr:
|
||||
case AArch64::CRC32CBrr:
|
||||
case AArch64::CRC32CHrr:
|
||||
case AArch64::CRC32CWrr:
|
||||
case AArch64::CRC32CXrr:
|
||||
case AArch64::CRC32Hrr:
|
||||
case AArch64::CRC32Wrr:
|
||||
case AArch64::CRC32Xrr:
|
||||
case AArch64::EONWrs:
|
||||
case AArch64::EONXrs:
|
||||
case AArch64::EORWrs:
|
||||
|
@ -1,4 +1,5 @@
|
||||
; RUN: llc -mtriple=arm64-eabi -mattr=+crc -o - %s | FileCheck %s
|
||||
; RUN: llc -mtriple=arm64-eabi -mcpu=cortex-a53 -mattr=+crc -o - %s | FileCheck %s
|
||||
|
||||
define i32 @test_crc32b(i32 %cur, i8 %next) {
|
||||
; CHECK-LABEL: test_crc32b:
|
||||
|
Loading…
x
Reference in New Issue
Block a user