Skip to content

Commit f7066f4

Browse files
Simplify EmitZaInstr with StartIdx
1 parent 189fd87 commit f7066f4

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_movaz.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 4
2-
//RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2p1 -target-feature +bf16 -S -disable-O0-optnone -Werror -Wall -emit-llvm -o - %s | opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s
3-
// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2p1 -target-feature +bf16 -S -disable-O0-optnone -Werror -Wall -emit-llvm -o - -x c++ %s | opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK
2+
//RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2p1 -target-feature +bf16 -disable-O0-optnone -Werror -Wall -emit-llvm -o - %s | opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s
3+
// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2p1 -target-feature +bf16 -disable-O0-optnone -Werror -Wall -emit-llvm -o - -x c++ %s | opt -S -p mem2reg,instcombine,tailcallelim | FileCheck %s -check-prefix=CPP-CHECK
44
// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme2p1 -target-feature +bf16 -S -disable-O0-optnone -Werror -Wall -o /dev/null %s
55

66
#include <arm_sme.h>

llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2985,17 +2985,15 @@ AArch64TargetLowering::EmitZAInstr(unsigned Opc, unsigned BaseReg,
29852985
bool HasZPROut = HasTile && MI.getOperand(0).isReg();
29862986
if (HasZPROut) {
29872987
MIB.add(MI.getOperand(0)); // Output ZPR
2988-
MIB.addReg(BaseReg + MI.getOperand(1).getImm(),
2989-
RegState::Define); // Output ZA Tile
2990-
MIB.addReg(BaseReg + MI.getOperand(1).getImm()); // Input Za Tile
2991-
StartIdx = 2;
2988+
++StartIdx;
2989+
}
2990+
if (HasTile) {
2991+
MIB.addReg(BaseReg + MI.getOperand(StartIdx).getImm(),
2992+
RegState::Define); // Output ZA Tile
2993+
MIB.addReg(BaseReg + MI.getOperand(StartIdx).getImm()); // Input Za Tile
2994+
StartIdx++;
29922995
} else {
2993-
if (HasTile) {
2994-
MIB.addReg(BaseReg + MI.getOperand(0).getImm(), RegState::Define);
2995-
MIB.addReg(BaseReg + MI.getOperand(0).getImm());
2996-
StartIdx = 1;
2997-
} else
2998-
MIB.addReg(BaseReg, RegState::Define).addReg(BaseReg);
2996+
MIB.addReg(BaseReg, RegState::Define).addReg(BaseReg);
29992997
}
30002998
for (unsigned I = StartIdx; I < MI.getNumOperands(); ++I)
30012999
MIB.add(MI.getOperand(I));
@@ -3110,7 +3108,6 @@ MachineBasicBlock *AArch64TargetLowering::EmitInstrWithCustomInserter(
31103108
return EmitZAInstr(SMEOrigInstr, AArch64::ZAB0, MI, BB);
31113109
case (AArch64::SMEMatrixTileH):
31123110
return EmitZAInstr(SMEOrigInstr, AArch64::ZAH0, MI, BB);
3113-
///*HasTile*/ true, /*HasZPROut*/ false);
31143111
case (AArch64::SMEMatrixTileS):
31153112
return EmitZAInstr(SMEOrigInstr, AArch64::ZAS0, MI, BB);
31163113
case (AArch64::SMEMatrixTileD):

0 commit comments

Comments
 (0)