Lines Matching defs:Ex
303 bool operator==(const ExtExpr &Ex) const {
304 return Rs == Ex.Rs && S == Ex.S && Neg == Ex.Neg;
306 bool operator!=(const ExtExpr &Ex) const {
307 return !operator==(Ex);
309 bool operator<(const ExtExpr &Ex) const {
310 if (Rs != Ex.Rs)
311 return Rs < Ex.Rs;
312 if (S != Ex.S)
313 return S < Ex.S;
314 return !Neg && Ex.Neg;
462 : Ex(E), HRI(I) {}
463 const HCE::ExtExpr &Ex;
469 OS << "## " << (P.Ex.Neg ? "- " : "+ ");
470 if (P.Ex.Rs.Reg != 0)
471 OS << printReg(P.Ex.Rs.Reg, &P.HRI, P.Ex.Rs.Sub);
474 OS << " << " << P.Ex.S;
1540 const ExtExpr &Ex = ExtI.second;
1543 if (Ex.Rs.isSlot()) {
1544 assert(Ex.S == 0 && "Cannot have a shift of a stack slot");
1545 assert(!Ex.Neg && "Cannot subtract a stack slot");
1548 .add(MachineOperand(Ex.Rs))
1551 assert((Ex.Rs.Reg == 0 || Ex.Rs.isVReg()) && "Expecting virtual register");
1552 if (Ex.trivial()) {
1556 } else if (Ex.S == 0) {
1557 if (Ex.Neg) {
1561 .add(MachineOperand(Ex.Rs));
1565 .add(MachineOperand(Ex.Rs))
1570 unsigned NewOpc = Ex.Neg ? Hexagon::S4_subi_asl_ri
1575 .add(MachineOperand(Ex.Rs))
1576 .addImm(Ex.S);
1583 .add(MachineOperand(Ex.Rs))
1584 .addImm(Ex.S);
1585 if (Ex.Neg)
1774 const ExtExpr &Ex = ExtI.second; (void)Ex;
1784 assert(Ex.Rs == RegOp && EV == ImmOp && Ex.Neg != IsAddi &&
1807 assert(EV == V && Rs == Ex.Rs && IsSub == Ex.Neg && "Initializer mismatch");