Mercurial > hg > graal-compiler
comparison src/cpu/x86/vm/assembler_x86.cpp @ 12972:59e8ad757e19
8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti
author | rbackman |
---|---|
date | Fri, 18 Oct 2013 10:41:56 +0200 |
parents | f2512d89ad0c |
children | 096c224171c4 9e9af3aa4278 |
comparison
equal
deleted
inserted
replaced
12971:3a04e444da6d | 12972:59e8ad757e19 |
---|---|
1403 emit_int8((unsigned char)(0xC0 | encode)); | 1403 emit_int8((unsigned char)(0xC0 | encode)); |
1404 emit_int32(value); | 1404 emit_int32(value); |
1405 } | 1405 } |
1406 } | 1406 } |
1407 | 1407 |
1408 void Assembler::imull(Register dst, Address src) { | |
1409 InstructionMark im(this); | |
1410 prefix(src, dst); | |
1411 emit_int8(0x0F); | |
1412 emit_int8((unsigned char) 0xAF); | |
1413 emit_operand(dst, src); | |
1414 } | |
1415 | |
1416 | |
1408 void Assembler::incl(Address dst) { | 1417 void Assembler::incl(Address dst) { |
1409 // Don't use it directly. Use MacroAssembler::increment() instead. | 1418 // Don't use it directly. Use MacroAssembler::increment() instead. |
1410 InstructionMark im(this); | 1419 InstructionMark im(this); |
1411 prefix(dst); | 1420 prefix(dst); |
1412 emit_int8((unsigned char)0xFF); | 1421 emit_int8((unsigned char)0xFF); |
5022 emit_int8((unsigned char)(0xC0 | encode)); | 5031 emit_int8((unsigned char)(0xC0 | encode)); |
5023 emit_int32(value); | 5032 emit_int32(value); |
5024 } | 5033 } |
5025 } | 5034 } |
5026 | 5035 |
5036 void Assembler::imulq(Register dst, Address src) { | |
5037 InstructionMark im(this); | |
5038 prefixq(src, dst); | |
5039 emit_int8(0x0F); | |
5040 emit_int8((unsigned char) 0xAF); | |
5041 emit_operand(dst, src); | |
5042 } | |
5043 | |
5027 void Assembler::incl(Register dst) { | 5044 void Assembler::incl(Register dst) { |
5028 // Don't use it directly. Use MacroAssembler::incrementl() instead. | 5045 // Don't use it directly. Use MacroAssembler::incrementl() instead. |
5029 // Use two-byte form (one-byte from is a REX prefix in 64-bit mode) | 5046 // Use two-byte form (one-byte from is a REX prefix in 64-bit mode) |
5030 int encode = prefix_and_encode(dst->encoding()); | 5047 int encode = prefix_and_encode(dst->encoding()); |
5031 emit_int8((unsigned char)0xFF); | 5048 emit_int8((unsigned char)0xFF); |