--- a/src/hotspot/cpu/x86/x86_64.ad Wed Dec 12 15:35:20 2018 -0500
+++ b/src/hotspot/cpu/x86/x86_64.ad Wed Dec 12 14:48:34 2018 -0800
@@ -8175,6 +8175,16 @@
ins_pipe(ialu_reg_mem_alu0);
%}
+instruct mulAddS2I_rReg(rRegI dst, rRegI src1, rRegI src2, rRegI src3, rFlagsReg cr)
+%{
+ match(Set dst (MulAddS2I (Binary dst src1) (Binary src2 src3)));
+ effect(KILL cr, KILL src2);
+
+ expand %{ mulI_rReg(dst, src1, cr);
+ mulI_rReg(src2, src3, cr);
+ addI_rReg(dst, src2, cr); %}
+%}
+
instruct mulL_rReg(rRegL dst, rRegL src, rFlagsReg cr)
%{
match(Set dst (MulL dst src));