Home | History | Annotate | Download | only in AArch64

Lines Matching refs:Cmp

34 //     cmp      w8, #4
38 // cmp w8, #6
45 // cmp w8, #5
49 // cmp w8, #5 // <-- CSE pass removes this instruction
55 // TODO: maybe handle TBNZ/TBZ the same way as CMP when used instead for "a < 0"
102 CmpInfo adjustCmp(MachineInstr *CmpMI, AArch64CC::CondCode Cmp);
104 bool adjustTo(MachineInstr *CmpMI, AArch64CC::CondCode Cmp, MachineInstr *To,
152 // cmp is an alias for subs with a dead destination register.
160 DEBUG(dbgs() << "Immediate of cmp is symbolic, " << *I << '\n');
163 DEBUG(dbgs() << "Immediate of cmp may be out of range, " << *I << '\n');
166 DEBUG(dbgs() << "Destination of cmp is not dead, " << *I << '\n');
172 // cmp w19, #0
211 static AArch64CC::CondCode getAdjustedCmp(AArch64CC::CondCode Cmp) {
212 switch (Cmp) {
225 MachineInstr *CmpMI, AArch64CC::CondCode Cmp) {
232 int Correction = (Cmp == AArch64CC::GT) ? 1 : -1;
248 return CmpInfo(NewImm, Opc, getAdjustedCmp(Cmp));
256 AArch64CC::CondCode Cmp;
257 std::tie(Imm, Opc, Cmp) = Info;
275 .addImm(Cmp)
297 // Adjusts one cmp instruction to another one if result of adjustment will allow
301 AArch64CC::CondCode Cmp, MachineInstr *To, int ToImm)
303 CmpInfo Info = adjustCmp(CmpMI, Cmp);
321 // cmp-conversions from the same head block.