Lines Matching defs:immediate
45 return rt.immediate() == 0;
342 if (is_int16(rt.immediate()) && !MustUseReg(rt.rmode())) {
343 addiu(rd, rs, static_cast<int32_t>(rt.immediate()));
359 if (is_int16(rt.immediate()) && !MustUseReg(rt.rmode())) {
360 daddiu(rd, rs, static_cast<int32_t>(rt.immediate()));
376 DCHECK(is_int32(rt.immediate()));
377 if (is_int16(-rt.immediate()) && !MustUseReg(rt.rmode())) {
380 -rt.immediate())); // No subiu instr, use addiu(x, y, -imm).
385 if (-rt.immediate() >> 16 == 0 && !MustUseReg(rt.rmode())) {
387 li(scratch, -rt.immediate());
401 } else if (is_int16(-rt.immediate()) && !MustUseReg(rt.rmode())) {
404 -rt.immediate())); // No dsubiu instr, use daddiu(x, y, -imm).
407 int li_count = InstrCountForLi64Bit(rt.immediate());
408 int li_neg_count = InstrCountForLi64Bit(-rt.immediate());
411 DCHECK(rt.immediate() != std::numeric_limits<int32_t>::min());
414 li(scratch, Operand(-rt.immediate()));
838 if (is_uint16(rt.immediate()) && !MustUseReg(rt.rmode())) {
839 andi(rd, rs, static_cast<int32_t>(rt.immediate()));
855 if (is_uint16(rt.immediate()) && !MustUseReg(rt.rmode())) {
856 ori(rd, rs, static_cast<int32_t>(rt.immediate()));
872 if (is_uint16(rt.immediate()) && !MustUseReg(rt.rmode())) {
873 xori(rd, rs, static_cast<int32_t>(rt.immediate()));
906 if (is_int16(rt.immediate()) && !MustUseReg(rt.rmode())) {
907 slti(rd, rs, static_cast<int32_t>(rt.immediate()));
925 if (is_uint15(rt.immediate()) && !MustUseReg(rt.rmode())) {
927 sltiu(rd, rs, static_cast<int32_t>(rt.immediate()));
928 } else if (is_uint15(rt.immediate() - int16_min) &&
931 sltiu(rd, rs, static_cast<uint16_t>(rt.immediate()));
1016 int64_t ror_value = rt.immediate() % 32;
1028 int64_t dror_value = rt.immediate() % 64;
1561 if (is_int16(static_cast<int32_t>(j.immediate()))) {
1562 daddiu(rd, zero_reg, (j.immediate() & kImm16Mask));
1563 } else if (!(j.immediate() & kUpper16MaskOf64)) {
1564 ori(rd, zero_reg, j.immediate() & kImm16Mask);
1566 lui(rd, j.immediate() >> kLuiShift & kImm16Mask);
1567 if (j.immediate() & kImm16Mask) {
1568 ori(rd, rd, j.immediate() & kImm16Mask);
1684 // Normal load of an immediate value which does not need Relocation Info.
1685 if (is_int32(j.immediate())) {
1688 int bit31 = j.immediate() >> 31 & 0x1;
1689 if ((j.immediate() & kUpper16MaskOf64) == 0 &&
1690 is_int16(j.immediate() >> 32) && kArchVariant == kMips64r6) {
1694 ori(rd, zero_reg, j.immediate() & kImm16Mask);
1695 dahi(rd, j.immediate() >> 32 & kImm16Mask);
1696 } else if ((j.immediate() & (kHigher16MaskOf64 | kUpper16MaskOf64)) == 0 &&
1701 ori(rd, zero_reg, j.immediate() & kImm16Mask);
1702 dati(rd, j.immediate() >> 48 & kImm16Mask);
1703 } else if ((j.immediate() & kImm16Mask) == 0 &&
1704 is_int16((j.immediate() >> 32) + bit31) &&
1708 lui(rd, j.immediate() >> kLuiShift & kImm16Mask);
1709 dahi(rd, ((j.immediate() >> 32) + bit31) & kImm16Mask);
1710 } else if ((j.immediate() & kImm16Mask) == 0 &&
1711 ((j.immediate() >> 31) & 0x1FFFF) ==
1717 lui(rd, j.immediate() >> kLuiShift & kImm16Mask);
1718 dati(rd, ((j.immediate() >> 48) + bit31) & kImm16Mask);
1719 } else if (is_int16(static_cast<int32_t>(j.immediate())) &&
1720 is_int16((j.immediate() >> 32) + bit31) &&
1724 daddiu(rd, zero_reg, j.immediate() & kImm16Mask);
1725 dahi(rd, ((j.immediate() >> 32) + bit31) & kImm16Mask);
1726 } else if (is_int16(static_cast<int32_t>(j.immediate())) &&
1727 ((j.immediate() >> 31) & 0x1FFFF) ==
1732 daddiu(rd, zero_reg, j.immediate() & kImm16Mask);
1733 dati(rd, ((j.immediate() >> 48) + bit31) & kImm16Mask);
1734 } else if (base::bits::IsPowerOfTwo(j.immediate() + 1) ||
1735 j.immediate() == std::numeric_limits<int64_t>::max()) {
1738 int shift_cnt = 64 - base::bits::CountTrailingZeros64(j.immediate() + 1);
1746 int shift_cnt = base::bits::CountTrailingZeros64(j.immediate());
1747 int rep32_count = InstrCountForLoadReplicatedConst32(j.immediate());
1748 int64_t tmp = j.immediate() >> shift_cnt;
1785 shift_cnt = 16 + base::bits::CountTrailingZeros64(j.immediate() >> 16);
1786 tmp = j.immediate() >> shift_cnt;
1796 ori(rd, rd, j.immediate() & kImm16Mask);
1806 ori(rd, rd, j.immediate() & kImm16Mask);
1816 int64_t imm = j.immediate();
1827 if (is_int48(j.immediate())) {
1828 Operand k = Operand(j.immediate() >> 16);
1831 if (j.immediate() & kImm16Mask) {
1832 ori(rd, rd, j.immediate() & kImm16Mask);
1835 Operand k = Operand(j.immediate() >> 32);
1837 if ((j.immediate() >> 16) & kImm16Mask) {
1839 ori(rd, rd, (j.immediate() >> 16) & kImm16Mask);
1841 if (j.immediate() & kImm16Mask) {
1842 ori(rd, rd, j.immediate() & kImm16Mask);
1846 if (j.immediate() & kImm16Mask) {
1847 ori(rd, rd, j.immediate() & kImm16Mask);
1861 int li_count = InstrCountForLi64Bit(j.immediate());
1862 int li_neg_count = InstrCountForLi64Bit(-j.immediate());
1863 int li_not_count = InstrCountForLi64Bit(~j.immediate());
1867 DCHECK(j.immediate() != std::numeric_limits<int64_t>::min());
1868 li_optimized(rd, Operand(-j.immediate()), mode);
1871 DCHECK(j.immediate() != std::numeric_limits<int64_t>::min());
1872 li_optimized(rd, Operand(~j.immediate()), mode);
1878 int64_t immediate;
1881 immediate = 0;
1883 immediate = j.immediate();
1886 RecordRelocInfo(j.rmode(), immediate);
1887 lui(rd, (immediate >> 32) & kImm16Mask);
1888 ori(rd, rd, (immediate >> 16) & kImm16Mask);
1890 ori(rd, rd, immediate & kImm16Mask);
1894 lui(rd, (j.immediate() >> 32) & kImm16Mask);
1895 ori(rd, rd, (j.immediate() >> 16) & kImm16Mask);
1897 ori(rd, rd, j.immediate() & kImm16Mask);
1901 int64_t imm = j.immediate();
1909 lui(rd, (j.immediate() >> 48) & kImm16Mask);
1910 ori(rd, rd, (j.immediate() >> 32) & kImm16Mask);
1912 ori(rd, rd, (j.immediate() >> 16) & kImm16Mask);
1914 ori(rd, rd, j.immediate() & kImm16Mask);
3044 if (rt.immediate() == 0) {
3062 if (rt.immediate() != 0) {