< prev index next >

src/hotspot/cpu/x86/assembler_x86.cpp

Print this page




3333     case 4:
3334       emit_int8(0x66);
3335     case 3:
3336       emit_int8(0x66);
3337     case 2:
3338       emit_int8(0x66);
3339     case 1:
3340       emit_int8((unsigned char)0x90);
3341       break;
3342     default:
3343       assert(i == 0, " ");
3344   }
3345 }
3346 
3347 void Assembler::notl(Register dst) {
3348   int encode = prefix_and_encode(dst->encoding());
3349   emit_int8((unsigned char)0xF7);
3350   emit_int8((unsigned char)(0xD0 | encode));
3351 }
3352 


















3353 void Assembler::orl(Address dst, int32_t imm32) {
3354   InstructionMark im(this);
3355   prefix(dst);
3356   emit_arith_operand(0x81, rcx, dst, imm32);
3357 }
3358 
3359 void Assembler::orl(Register dst, int32_t imm32) {
3360   prefix(dst);
3361   emit_arith(0x81, 0xC8, dst, imm32);
3362 }
3363 
3364 void Assembler::orl(Register dst, Address src) {
3365   InstructionMark im(this);
3366   prefix(src, dst);
3367   emit_int8(0x0B);
3368   emit_operand(dst, src);
3369 }
3370 
3371 void Assembler::orl(Register dst, Register src) {
3372   (void) prefix_and_encode(dst->encoding(), src->encoding());




3333     case 4:
3334       emit_int8(0x66);
3335     case 3:
3336       emit_int8(0x66);
3337     case 2:
3338       emit_int8(0x66);
3339     case 1:
3340       emit_int8((unsigned char)0x90);
3341       break;
3342     default:
3343       assert(i == 0, " ");
3344   }
3345 }
3346 
3347 void Assembler::notl(Register dst) {
3348   int encode = prefix_and_encode(dst->encoding());
3349   emit_int8((unsigned char)0xF7);
3350   emit_int8((unsigned char)(0xD0 | encode));
3351 }
3352 
3353 void Assembler::btsl(Address dst, Register idx) {
3354   InstructionMark im(this);
3355 
3356   prefix(dst, idx);
3357   emit_int8(0x0F);
3358   emit_int8(0xAB);
3359   emit_operand(idx, dst);
3360 }
3361 
3362 void Assembler::btrl(Address dst, Register idx) {
3363   InstructionMark im(this);
3364 
3365   prefix(dst, idx);
3366   emit_int8(0x0F);
3367   emit_int8(0xB3);
3368   emit_operand(idx, dst);
3369 }
3370 
3371 void Assembler::orl(Address dst, int32_t imm32) {
3372   InstructionMark im(this);
3373   prefix(dst);
3374   emit_arith_operand(0x81, rcx, dst, imm32);
3375 }
3376 
3377 void Assembler::orl(Register dst, int32_t imm32) {
3378   prefix(dst);
3379   emit_arith(0x81, 0xC8, dst, imm32);
3380 }
3381 
3382 void Assembler::orl(Register dst, Address src) {
3383   InstructionMark im(this);
3384   prefix(src, dst);
3385   emit_int8(0x0B);
3386   emit_operand(dst, src);
3387 }
3388 
3389 void Assembler::orl(Register dst, Register src) {
3390   (void) prefix_and_encode(dst->encoding(), src->encoding());


< prev index next >