--- a/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp Thu Sep 01 16:47:53 2016 +0200
+++ b/hotspot/src/cpu/x86/vm/macroAssembler_x86.cpp Fri Aug 26 12:17:50 2016 -0700
@@ -3147,6 +3147,24 @@
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)) {