src/hotspot/cpu/x86/x86_64.ad
changeset 52992 4bb6e0871bf7
parent 52602 4ea75a606797
child 53086 026842c1809f
--- 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));