Lines Matching refs:imm64
550 static Int emit_li64 ( UInt* code, Int ix, UInt rd, ULong imm64 ) {
551 if (imm64 >= 0xFFFFFFFF80000000ULL || imm64 < 0x80000000ULL) {
553 // addis rd,r0,(imm64>>16) => lis rd, (imm64>>16)
554 code[ix++] = mkFormD(15, rd, 0, (imm64>>16) & 0xFFFF);
555 // ori rd, rd, (imm64 & 0xFFFF)
556 code[ix++] = mkFormD(24, rd, rd, imm64 & 0xFFFF);
559 // lis rd, (imm64>>48) & 0xFFFF
560 code[ix++] = mkFormD(15, rd, 0, (imm64>>48) & 0xFFFF);
561 // ori rd, rd, (imm64>>32) & 0xFFFF
562 code[ix++] = mkFormD(24, rd, rd, (imm64>>32) & 0xFFFF);
566 // oris rd, rd, (imm64>>16) & 0xFFFF
567 code[ix++] = mkFormD(25, rd, rd, (imm64>>16) & 0xFFFF);
568 // ori rd, rd, (imm64) & 0xFFFF
569 code[ix++] = mkFormD(24, rd, rd, imm64 & 0xFFFF);