1110 emit_int8((unsigned char)0xBC); |
1110 emit_int8((unsigned char)0xBC); |
1111 emit_int8((unsigned char)(0xC0 | encode)); |
1111 emit_int8((unsigned char)(0xC0 | encode)); |
1112 } |
1112 } |
1113 |
1113 |
1114 void Assembler::bsrl(Register dst, Register src) { |
1114 void Assembler::bsrl(Register dst, Register src) { |
1115 assert(!VM_Version::supports_lzcnt(), "encoding is treated as LZCNT"); |
|
1116 int encode = prefix_and_encode(dst->encoding(), src->encoding()); |
1115 int encode = prefix_and_encode(dst->encoding(), src->encoding()); |
1117 emit_int8(0x0F); |
1116 emit_int8(0x0F); |
1118 emit_int8((unsigned char)0xBD); |
1117 emit_int8((unsigned char)0xBD); |
1119 emit_int8((unsigned char)(0xC0 | encode)); |
1118 emit_int8((unsigned char)(0xC0 | encode)); |
1120 } |
1119 } |
4936 emit_int8((unsigned char)0xBC); |
4935 emit_int8((unsigned char)0xBC); |
4937 emit_int8((unsigned char)(0xC0 | encode)); |
4936 emit_int8((unsigned char)(0xC0 | encode)); |
4938 } |
4937 } |
4939 |
4938 |
4940 void Assembler::bsrq(Register dst, Register src) { |
4939 void Assembler::bsrq(Register dst, Register src) { |
4941 assert(!VM_Version::supports_lzcnt(), "encoding is treated as LZCNT"); |
|
4942 int encode = prefixq_and_encode(dst->encoding(), src->encoding()); |
4940 int encode = prefixq_and_encode(dst->encoding(), src->encoding()); |
4943 emit_int8(0x0F); |
4941 emit_int8(0x0F); |
4944 emit_int8((unsigned char)0xBD); |
4942 emit_int8((unsigned char)0xBD); |
4945 emit_int8((unsigned char)(0xC0 | encode)); |
4943 emit_int8((unsigned char)(0xC0 | encode)); |
4946 } |
4944 } |