equal
deleted
inserted
replaced
1889 int encode = prefix_and_encode(src->encoding()); |
1889 int encode = prefix_and_encode(src->encoding()); |
1890 emit_int8((unsigned char)0xF7); |
1890 emit_int8((unsigned char)0xF7); |
1891 emit_int8((unsigned char)(0xF0 | encode)); |
1891 emit_int8((unsigned char)(0xF0 | encode)); |
1892 } |
1892 } |
1893 |
1893 |
|
1894 void Assembler::imull(Register src) { |
|
1895 int encode = prefix_and_encode(src->encoding()); |
|
1896 emit_int8((unsigned char)0xF7); |
|
1897 emit_int8((unsigned char)(0xE8 | encode)); |
|
1898 } |
|
1899 |
1894 void Assembler::imull(Register dst, Register src) { |
1900 void Assembler::imull(Register dst, Register src) { |
1895 int encode = prefix_and_encode(dst->encoding(), src->encoding()); |
1901 int encode = prefix_and_encode(dst->encoding(), src->encoding()); |
1896 emit_int8(0x0F); |
1902 emit_int8(0x0F); |
1897 emit_int8((unsigned char)0xAF); |
1903 emit_int8((unsigned char)0xAF); |
1898 emit_int8((unsigned char)(0xC0 | encode)); |
1904 emit_int8((unsigned char)(0xC0 | encode)); |
4110 NOT_LP64(assert(dst->has_byte_register(), "must have byte register")); |
4116 NOT_LP64(assert(dst->has_byte_register(), "must have byte register")); |
4111 (void) prefix_and_encode(dst->encoding(), true); |
4117 (void) prefix_and_encode(dst->encoding(), true); |
4112 emit_arith_b(0xF6, 0xC0, dst, imm8); |
4118 emit_arith_b(0xF6, 0xC0, dst, imm8); |
4113 } |
4119 } |
4114 |
4120 |
|
4121 void Assembler::testb(Address dst, int imm8) { |
|
4122 InstructionMark im(this); |
|
4123 prefix(dst); |
|
4124 emit_int8((unsigned char)0xF6); |
|
4125 emit_operand(rax, dst, 1); |
|
4126 emit_int8(imm8); |
|
4127 } |
|
4128 |
4115 void Assembler::testl(Register dst, int32_t imm32) { |
4129 void Assembler::testl(Register dst, int32_t imm32) { |
4116 // not using emit_arith because test |
4130 // not using emit_arith because test |
4117 // doesn't support sign-extension of |
4131 // doesn't support sign-extension of |
4118 // 8bit operands |
4132 // 8bit operands |
4119 int encode = dst->encoding(); |
4133 int encode = dst->encoding(); |