mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
8154122: Intrinsify fused mac operations
Added FMA intrinsics on x86 Reviewed-by: kvn, aph, darcy
This commit is contained in:
parent
474c035379
commit
d58e3e0324
42 changed files with 365 additions and 13 deletions
|
@ -3147,6 +3147,24 @@ void MacroAssembler::fremr(Register tmp) {
|
|||
fpop();
|
||||
}
|
||||
|
||||
// dst = c = a * b + c
|
||||
void MacroAssembler::fmad(XMMRegister dst, XMMRegister a, XMMRegister b, XMMRegister c) {
|
||||
Assembler::vfmadd231sd(c, a, b);
|
||||
if (dst != c) {
|
||||
movdbl(dst, c);
|
||||
}
|
||||
}
|
||||
|
||||
// dst = c = a * b + c
|
||||
void MacroAssembler::fmaf(XMMRegister dst, XMMRegister a, XMMRegister b, XMMRegister c) {
|
||||
Assembler::vfmadd231ss(c, a, b);
|
||||
if (dst != c) {
|
||||
movflt(dst, c);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void MacroAssembler::incrementl(AddressLiteral dst) {
|
||||
if (reachable(dst)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue