comparison src/cpu/x86/vm/assembler_x86.cpp @ 17786:eb6b3ac64f0e

Merge
author iveresov
date Tue, 25 Mar 2014 12:43:29 -0700
parents 606acabe7b5c bf20bec37f24
children 1eba0601f0dd
comparison
equal deleted inserted replaced
17783:85b20fdf2d24 17786:eb6b3ac64f0e
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 }
4975 emit_int8((unsigned char)0xBC); 4974 emit_int8((unsigned char)0xBC);
4976 emit_int8((unsigned char)(0xC0 | encode)); 4975 emit_int8((unsigned char)(0xC0 | encode));
4977 } 4976 }
4978 4977
4979 void Assembler::bsrq(Register dst, Register src) { 4978 void Assembler::bsrq(Register dst, Register src) {
4980 assert(!VM_Version::supports_lzcnt(), "encoding is treated as LZCNT");
4981 int encode = prefixq_and_encode(dst->encoding(), src->encoding()); 4979 int encode = prefixq_and_encode(dst->encoding(), src->encoding());
4982 emit_int8(0x0F); 4980 emit_int8(0x0F);
4983 emit_int8((unsigned char)0xBD); 4981 emit_int8((unsigned char)0xBD);
4984 emit_int8((unsigned char)(0xC0 | encode)); 4982 emit_int8((unsigned char)(0xC0 | encode));
4985 } 4983 }