Lines Matching full:aarch64
1 //===-- AArch64CondBrTuning.cpp --- Conditional branch tuning for AArch64 -===//
28 #include "AArch64.h"
43 #define DEBUG_TYPE "aarch64-cond-br-tuning"
44 #define AARCH64_CONDBR_TUNING_NAME "AArch64 Conditional Branch Tuning"
73 INITIALIZE_PASS(AArch64CondBrTuning, "aarch64-cond-br-tuning",
94 if (MO.isReg() && MO.isDead() && MO.getReg() == AArch64::NZCV) in convertToFlagSetting()
101 NewDestReg = Is64Bit ? AArch64::XZR : AArch64::WZR; in convertToFlagSetting()
118 case AArch64::CBZW: in convertToCondBr()
119 case AArch64::CBZX: in convertToCondBr()
122 case AArch64::CBNZW: in convertToCondBr()
123 case AArch64::CBNZX: in convertToCondBr()
126 case AArch64::TBZW: in convertToCondBr()
127 case AArch64::TBZX: in convertToCondBr()
130 case AArch64::TBNZW: in convertToCondBr()
131 case AArch64::TBNZX: in convertToCondBr()
135 return BuildMI(*MI.getParent(), MI, MI.getDebugLoc(), TII->get(AArch64::Bcc)) in convertToCondBr()
152 case AArch64::ADDWri: in tryToTuneBranch()
153 case AArch64::ADDWrr: in tryToTuneBranch()
154 case AArch64::ADDWrs: in tryToTuneBranch()
155 case AArch64::ADDWrx: in tryToTuneBranch()
156 case AArch64::ANDWri: in tryToTuneBranch()
157 case AArch64::ANDWrr: in tryToTuneBranch()
158 case AArch64::ANDWrs: in tryToTuneBranch()
159 case AArch64::BICWrr: in tryToTuneBranch()
160 case AArch64::BICWrs: in tryToTuneBranch()
161 case AArch64::SUBWri: in tryToTuneBranch()
162 case AArch64::SUBWrr: in tryToTuneBranch()
163 case AArch64::SUBWrs: in tryToTuneBranch()
164 case AArch64::SUBWrx: in tryToTuneBranch()
167 case AArch64::ADDSWri: in tryToTuneBranch()
168 case AArch64::ADDSWrr: in tryToTuneBranch()
169 case AArch64::ADDSWrs: in tryToTuneBranch()
170 case AArch64::ADDSWrx: in tryToTuneBranch()
171 case AArch64::ANDSWri: in tryToTuneBranch()
172 case AArch64::ANDSWrr: in tryToTuneBranch()
173 case AArch64::ANDSWrs: in tryToTuneBranch()
174 case AArch64::BICSWrr: in tryToTuneBranch()
175 case AArch64::BICSWrs: in tryToTuneBranch()
176 case AArch64::SUBSWri: in tryToTuneBranch()
177 case AArch64::SUBSWrr: in tryToTuneBranch()
178 case AArch64::SUBSWrs: in tryToTuneBranch()
179 case AArch64::SUBSWrx: in tryToTuneBranch()
184 case AArch64::CBZW: in tryToTuneBranch()
185 case AArch64::CBNZW: in tryToTuneBranch()
186 case AArch64::TBZW: in tryToTuneBranch()
187 case AArch64::TBNZW: in tryToTuneBranch()
189 if ((MIOpc == AArch64::TBZW || MIOpc == AArch64::TBNZW) && in tryToTuneBranch()
208 case AArch64::ADDXri: in tryToTuneBranch()
209 case AArch64::ADDXrr: in tryToTuneBranch()
210 case AArch64::ADDXrs: in tryToTuneBranch()
211 case AArch64::ADDXrx: in tryToTuneBranch()
212 case AArch64::ANDXri: in tryToTuneBranch()
213 case AArch64::ANDXrr: in tryToTuneBranch()
214 case AArch64::ANDXrs: in tryToTuneBranch()
215 case AArch64::BICXrr: in tryToTuneBranch()
216 case AArch64::BICXrs: in tryToTuneBranch()
217 case AArch64::SUBXri: in tryToTuneBranch()
218 case AArch64::SUBXrr: in tryToTuneBranch()
219 case AArch64::SUBXrs: in tryToTuneBranch()
220 case AArch64::SUBXrx: in tryToTuneBranch()
223 case AArch64::ADDSXri: in tryToTuneBranch()
224 case AArch64::ADDSXrr: in tryToTuneBranch()
225 case AArch64::ADDSXrs: in tryToTuneBranch()
226 case AArch64::ADDSXrx: in tryToTuneBranch()
227 case AArch64::ANDSXri: in tryToTuneBranch()
228 case AArch64::ANDSXrr: in tryToTuneBranch()
229 case AArch64::ANDSXrs: in tryToTuneBranch()
230 case AArch64::BICSXrr: in tryToTuneBranch()
231 case AArch64::BICSXrs: in tryToTuneBranch()
232 case AArch64::SUBSXri: in tryToTuneBranch()
233 case AArch64::SUBSXrr: in tryToTuneBranch()
234 case AArch64::SUBSXrs: in tryToTuneBranch()
235 case AArch64::SUBSXrx: in tryToTuneBranch()
240 case AArch64::CBZX: in tryToTuneBranch()
241 case AArch64::CBNZX: in tryToTuneBranch()
242 case AArch64::TBZX: in tryToTuneBranch()
243 case AArch64::TBNZX: { in tryToTuneBranch()
245 if ((MIOpc == AArch64::TBZX || MIOpc == AArch64::TBNZX) && in tryToTuneBranch()
286 dbgs() << "********** AArch64 Conditional Branch Tuning **********\n" in runOnMachineFunction()
300 case AArch64::CBZW: in runOnMachineFunction()
301 case AArch64::CBZX: in runOnMachineFunction()
302 case AArch64::CBNZW: in runOnMachineFunction()
303 case AArch64::CBNZX: in runOnMachineFunction()
304 case AArch64::TBZW: in runOnMachineFunction()
305 case AArch64::TBZX: in runOnMachineFunction()
306 case AArch64::TBNZW: in runOnMachineFunction()
307 case AArch64::TBNZX: in runOnMachineFunction()