Lines Matching defs:imm
1255 uint32_t imm = x.immediate();
1264 int trailing_zeroes = base::bits::CountTrailingZeros(imm) & ~1u;
1266 add(rd, rd, Operand(imm & mask), LeaveCC, cond);
1267 imm = imm & ~mask;
1268 } while (!ImmediateFitsAddrMode1Instruction(imm));
1269 add(rd, rd, Operand(imm), LeaveCC, cond);
2698 static void WriteVmovIntImmEncoding(uint8_t imm, uint32_t* encoding) {
2700 *encoding = ((imm & 0x80) << (24 - 7)); // a
2701 *encoding |= ((imm & 0x70) << (16 - 4)); // bcd
2702 *encoding |= (imm & 0x0f); // efgh
2705 // This checks if imm can be encoded into an immediate for vmov.
2708 static bool FitsVmovIntImm(uint64_t imm, uint32_t* encoding, uint8_t* cmode) {
2709 uint32_t lo = imm & 0xFFFFFFFF;
2710 uint32_t hi = imm >> 32;
2712 WriteVmovIntImmEncoding(imm & 0xff, encoding);
2717 // Check that all bytes in imm are the same.
2718 WriteVmovIntImmEncoding(imm & 0xff, encoding);
2726 void Assembler::vmov(const DwVfpRegister dst, uint64_t imm) {
2730 if (CpuFeatures::IsSupported(NEON) && FitsVmovIntImm(imm, &enc, &cmode)) {
2744 void Assembler::vmov(const QwNeonRegister dst, uint64_t imm) {
2748 if (CpuFeatures::IsSupported(NEON) && FitsVmovIntImm(imm, &enc, &cmode)) {
2810 void Assembler::vmov(const SwVfpRegister dst, Float32 imm) {
2813 FitsVmovFPImmediate(base::Double(imm.get_scalar()), &enc)) {
2827 mov(scratch, Operand(imm.get_bits()));
2832 void Assembler::vmov(const DwVfpRegister dst, base::Double imm,
2836 if (CpuFeatures::IsSupported(VFPv3) && FitsVmovFPImmediate(imm, &enc)) {
2851 DoubleAsTwoUInt32(imm, &lo, &hi);
4728 int imm) {
4730 // Dd = vsra(Dm, imm) SIMD shift right and accumulate.
4733 dst.code(), src.code(), imm));