Home | History | Annotate | Download | only in priv

Lines Matching defs:mreg

2887    UInt mreg = get_neon_m_regno(theInstr);
2894 putQReg(dreg, triop(Iop_SliceV128, /*hiV128*/getQReg(mreg),
2897 putDRegI64(dreg, triop(Iop_Slice64, /*hiI64*/getDRegI64(mreg),
2901 reg_t, mreg, imm4);
2937 UInt mreg = get_neon_m_regno(theInstr & ~(1 << 6));
2947 if (dreg >= 0x100 || mreg >= 0x100 || nreg >= 0x100)
2959 assign(old_arg, getDRegI64(mreg));
3006 DIP("}, d%u\n", mreg);
3016 UInt mreg = ((theInstr >> 1) & 0x10) | (theInstr & 0xF);
3031 assign(arg_m, getDRegI64(mreg));
3060 DIP("vdup.%u %c%u, d%u[%u]\n", size, Q ? 'q' : 'd', dreg, mreg, index);
3077 UInt mreg = get_neon_m_regno(theInstr);
3093 assign(arg_m, getQReg(mreg));
3099 assign(arg_m, getDRegI64(mreg));
3175 dreg, regType, nreg, regType, mreg);
3234 8 << size, reg_t, dreg, reg_t, nreg, reg_t, mreg);
3345 8 << size, reg_t, dreg, reg_t, nreg, reg_t, mreg);
3360 reg_t, dreg, reg_t, nreg, reg_t, mreg);
3374 reg_t, dreg, reg_t, nreg, reg_t, mreg);
3378 if ( nreg != mreg) {
3389 reg_t, dreg, reg_t, nreg, reg_t, mreg);
3394 DIP("vmov %c%u, %c%u\n", reg_t, dreg, reg_t, mreg);
3408 reg_t, dreg, reg_t, nreg, reg_t, mreg);
3426 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
3454 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
3481 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
3508 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
3591 mreg);
3649 mreg);
3677 mreg);
3690 mreg);
3751 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, Q ? 'q' : 'd',
3875 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, Q ? 'q' : 'd',
4015 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, Q ? 'q' : 'd',
4172 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, Q ? 'q' : 'd',
4202 mreg);
4227 mreg);
4296 mreg);
4375 mreg);
4392 dreg, Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4404 dreg, Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4423 dreg, Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4433 dreg, Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4487 mreg);
4513 mreg);
4543 Q ? 'q' : 'd', mreg);
4581 dreg, Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4615 dreg, Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4633 dreg, Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4652 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4658 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4666 DIP("vpadd.f32 d%u, d%u, d%u\n", dreg, nreg, mreg);
4683 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4720 dreg, Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4730 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4746 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4760 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4770 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4792 Q ? 'q' : 'd', mreg);
4808 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4812 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4824 DIP("vpmin.f32 d%u, d%u, d%u\n", dreg, nreg, mreg);
4827 DIP("vpmax.f32 d%u, d%u, d%u\n", dreg, nreg, mreg);
4842 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4852 Q ? 'q' : 'd', nreg, Q ? 'q' : 'd', mreg);
4887 UInt mreg = get_neon_m_regno(theInstr);
4929 assign(arg_m, unop(cvt, getDRegI64(mreg)));
4934 (A & 1) ? 'q' : 'd', nreg, mreg);
4938 if (mreg & 1)
4940 mreg >>= 1;
4974 assign(tmp, binop(op, getQReg(nreg), getQReg(mreg)));
4985 nreg, mreg);
5027 assign(arg_m, unop(cvt, getDRegI64(mreg)));
5029 getDRegI64(mreg))));
5041 nreg, mreg);
5045 if (mreg & 1)
5047 mreg >>= 1;
5084 assign(tmp, binop(op, getQReg(nreg), getQReg(mreg)));
5095 nreg, mreg);
5134 assign(arg_m, unop(cvt, getDRegI64(mreg)));
5136 getDRegI64(mreg))));
5146 nreg, mreg);
5174 assign(res, binop(op, getDRegI64(nreg),getDRegI64(mreg)));
5177 8 << size, dreg, nreg, mreg);
5213 assign(res, binop(op, getDRegI64(nreg), getDRegI64(mreg)));
5219 binop(cmp, getDRegI64(mreg), mkU64(imm))),
5224 nreg, mreg);
5253 getDRegI64(mreg)), condT);
5255 8 << size, dreg, nreg, mreg);
5285 putQReg(dreg, binop(op, getDRegI64(nreg), getDRegI64(mreg)),
5289 binop(op2, getDRegI64(mreg), mkU64(imm))),
5292 DIP("vqdmull.s%d q%u, d%u, d%u\n", 8 << size, dreg, nreg, mreg);
5308 UInt mreg = get_neon_m_regno(theInstr & ~(1 << 6));
5334 index = mreg >> 3;
5335 mreg &= 7;
5340 index = mreg >> 4;
5341 mreg &= 0xf;
5349 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5359 index = mreg >> 3;
5360 mreg &= 7;
5365 index = mreg >> 4;
5366 mreg &= 0xf;
5374 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5419 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', nreg, mreg, index);
5438 index = mreg >> 3;
5439 mreg &= 7;
5444 index = mreg >> 4;
5445 mreg &= 0xf;
5453 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5476 8 << size, dreg, nreg, mreg, index);
5497 index = mreg >> 3;
5498 mreg &= 7;
5503 index = mreg >> 4;
5504 mreg &= 0xf;
5512 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5550 dreg, nreg, mreg, index);
5571 index = mreg >> 3;
5572 mreg &= 7;
5577 index = mreg >> 4;
5578 mreg &= 0xf;
5586 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5596 index = mreg >> 3;
5597 mreg &= 7;
5602 index = mreg >> 4;
5603 mreg &= 0xf;
5611 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5647 Q ? 'q' : 'd', nreg, mreg, index);
5666 index = mreg >> 3;
5667 mreg &= 7;
5672 index = mreg >> 4;
5673 mreg &= 0xf;
5681 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5691 nreg, mreg, index);
5710 index = mreg >> 3;
5711 mreg &= 7;
5716 index = mreg >> 4;
5717 mreg &= 0xf;
5725 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5753 DIP("vqdmull.s%d q%u, d%u, d%u[%u]\n", 8 << size, dreg, nreg, mreg,
5776 index = mreg >> 3;
5777 mreg &= 7;
5782 index = mreg >> 4;
5783 mreg &= 0xf;
5791 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5801 index = mreg >> 3;
5802 mreg &= 7;
5807 index = mreg >> 4;
5808 mreg &= 0xf;
5816 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5852 Q ? 'q' : 'd', nreg, mreg, index);
5874 index = mreg >> 3;
5875 mreg &= 7;
5880 index = mreg >> 4;
5881 mreg &= 0xf;
5889 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5899 index = mreg >> 3;
5900 mreg &= 7;
5905 index = mreg >> 4;
5906 mreg &= 0xf;
5914 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5950 Q ? 'q' : 'd', nreg, mreg, index);
5971 UInt mreg = get_neon_m_regno(theInstr);
6024 assign(reg_m, getQReg(mreg));
6049 assign(reg_m, getDRegI64(mreg));
6084 assign(res, getQReg(mreg));
6087 assign(res, getDRegI64(mreg));
6100 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, shift_imm);
6108 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, shift_imm);
6116 assign(reg_m, getQReg(mreg));
6120 assign(reg_m, getDRegI64(mreg));
6176 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, shift_imm);
6184 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, shift_imm);
6216 getQReg(mreg),
6228 getDRegI64(mreg),
6234 Q ? 'q' : 'd', mreg, shift_imm);
6265 getQReg(mreg),
6277 getDRegI64(mreg),
6283 Q ? 'q' : 'd', mreg, shift_imm);
6300 assign(res, binop(op, Q ? getQReg(mreg) : getDRegI64(mreg),
6309 Q ? 'q' : 'd', mreg, shift_imm);
6341 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, shift_imm);
6365 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, shift_imm);
6392 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg, shift_imm);
6398 assign(reg_m, getQReg(mreg));
6403 assign(reg_m, getDRegI64(mreg));
6419 mreg = ((theInstr >> 1) & 0x10) | (theInstr & 0xF);
6420 if (mreg & 1)
6422 mreg >>= 1;
6427 assign(reg_m, getQReg(mreg));
6450 DIP("vshrn.i%d d%u, q%u, #%u\n", 8 << size, dreg, mreg,
6458 assign(reg_m, getQReg(mreg));
6500 DIP("vmov%d d%u, q%u, #%u\n", 8 << size, dreg, mreg,
6503 DIP("vrshrn.i%d d%u, q%u, #%u\n", 8 << size, dreg, mreg,
6513 mreg = ((theInstr >> 1) & 0x10) | (theInstr & 0xF);
6514 if (mreg & 1)
6516 mreg >>= 1;
6539 U ? 'u' : 's', 8 << size, dreg, mreg, shift_imm);
6562 8 << size, dreg, mreg, shift_imm);
6583 assign(reg_m, getQReg(mreg));
6629 assign(res, binop(op, unop(cvt, getDRegI64(mreg)), mkU8(shift_imm)));
6633 dreg, mreg);
6636 dreg, mreg, shift_imm);
6649 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg,
6658 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg,
6664 putQReg(dreg, binop(op, getQReg(mreg),
6667 putDRegI64(dreg, binop(op, getDRegI64(mreg),
6688 UInt mreg = get_neon_m_regno(theInstr);
6698 assign(arg_m, getQReg(mreg));
6702 assign(arg_m, getDRegI64(mreg));
6725 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
6746 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
6765 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
6794 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
6812 Q ? 'q' : 'd', mreg);
6827 Q ? 'q' : 'd', mreg);
6834 mreg);
6843 mreg);
6899 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
6961 Q ? 'q' : 'd', mreg);
6995 Q ? 'q' : 'd', mreg);
7011 assign(arg_m, getQReg(mreg));
7015 assign(arg_m, getDRegI64(mreg));
7044 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7075 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7106 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7137 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7167 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7190 Q ? 'q' : 'd', mreg);
7221 Q ? 'q' : 'd', mreg);
7238 assign(arg_m, getQReg(mreg));
7239 putQReg(mreg, getQReg(dreg), condT);
7243 assign(arg_m, getDRegI64(mreg));
7244 putDRegI64(mreg, getDRegI64(dreg), condT);
7248 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7259 assign(old_m, getQReg(mreg));
7266 assign(old_m, getDRegI64(mreg));
7312 putQReg(mreg, mkexpr(new_m), condT);
7315 putDRegI64(mreg, mkexpr(new_m), condT);
7318 8 << size, Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7331 assign(old_m, getQReg(mreg));
7338 assign(old_m, getDRegI64(mreg));
7363 putQReg(mreg, mkexpr(new_m), condT);
7366 putDRegI64(mreg, mkexpr(new_m), condT);
7369 8 << size, Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7382 assign(old_m, getQReg(mreg));
7389 assign(old_m, getDRegI64(mreg));
7414 putQReg(mreg, mkexpr(new_m), condT);
7417 putDRegI64(mreg, mkexpr(new_m), condT);
7420 8 << size, Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7425 mreg >>= 1;
7433 putDRegI64(dreg, unop(op, getQReg(mreg)), condT);
7434 DIP("vmovn.i%d d%u, q%u\n", 16 << size, dreg, mreg);
7441 mreg = ((theInstr >> 1) & 0x10) | (theInstr & 0xF);
7442 if (mreg & 1)
7444 mreg >>= 1;
7463 DIP("vqmovun.s%d d%u, q%u\n", 16 << size, dreg, mreg);
7473 DIP("vqmovn.s%d d%u, q%u\n", 16 << size, dreg, mreg);
7483 DIP("vqmovn.u%d d%u, q%u\n", 16 << size, dreg, mreg);
7490 assign(res, unop(op, getQReg(mreg)));
7491 assign(tmp, unop(op2, getQReg(mreg)));
7513 assign(res, binop(op, unop(cvt, getDRegI64(mreg)),
7516 DIP("vshll.i%d q%u, d%u, #%d\n", 8 << size, dreg, mreg, 8 << size);
7528 putQReg(dreg, unop(Iop_F16toF32x4, getDRegI64(mreg)),
7530 DIP("vcvt.f32.f16 q%u, d%u\n", dreg, mreg);
7532 if (mreg & 1)
7534 mreg >>= 1;
7535 putDRegI64(dreg, unop(Iop_F32toF16x4, getQReg(mreg)),
7537 DIP("vcvt.f16.f32 d%u, q%u\n", dreg, mreg);
7554 putQReg(dreg, unop(op, getQReg(mreg)), condT);
7555 DIP("vrecpe.%c32 q%u, q%u\n", F ? 'f' : 'u', dreg, mreg);
7558 putDRegI64(dreg, unop(op, getDRegI64(mreg)), condT);
7559 DIP("vrecpe.%c32 d%u, d%u\n", F ? 'f' : 'u', dreg, mreg);
7576 putQReg(dreg, unop(op, getQReg(mreg)), condT);
7577 DIP("vrsqrte.%c32 q%u, q%u\n", F ? 'f' : 'u', dreg, mreg);
7579 putDRegI64(dreg, unop(op, getDRegI64(mreg)), condT);
7580 DIP("vrsqrte.%c32 d%u, d%u\n", F ? 'f' : 'u', dreg, mreg);
7592 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7597 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7602 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7607 Q ? 'q' : 'd', dreg, Q ? 'q' : 'd', mreg);
7613 putQReg(dreg, unop(op, getQReg(mreg)), condT);
7615 putDRegI64(dreg, unop(op, getDRegI64(mreg)), condT);