< prev index next >

src/hotspot/cpu/x86/x86_64.ad

Print this page

        

@@ -8173,10 +8173,20 @@
   ins_encode(REX_reg_mem(dst, src),
              OpcSE(imm), reg_mem(dst, src), Con8or32(imm));
   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));
   effect(KILL cr);
 
< prev index next >