Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
8287139: aarch64 intrinsic for unsignedMultiplyHigh
Reviewed-by: aph, ngasson
  • Loading branch information
rgiulietti authored and nick-arm committed May 24, 2022
1 parent 8f0eb5d commit fdc147e
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion src/hotspot/cpu/aarch64/aarch64.ad
Expand Up @@ -11132,7 +11132,7 @@ instruct mulHiL_rReg(iRegLNoSp dst, iRegL src1, iRegL src2, rFlagsReg cr)
match(Set dst (MulHiL src1 src2));

ins_cost(INSN_COST * 7);
format %{ "smulh $dst, $src1, $src2, \t# mulhi" %}
format %{ "smulh $dst, $src1, $src2\t# mulhi" %}

ins_encode %{
__ smulh(as_Register($dst$$reg),
Expand All @@ -11143,6 +11143,22 @@ instruct mulHiL_rReg(iRegLNoSp dst, iRegL src1, iRegL src2, rFlagsReg cr)
ins_pipe(lmul_reg_reg);
%}

instruct umulHiL_rReg(iRegLNoSp dst, iRegL src1, iRegL src2, rFlagsReg cr)
%{
match(Set dst (UMulHiL src1 src2));

ins_cost(INSN_COST * 7);
format %{ "umulh $dst, $src1, $src2\t# umulhi" %}

ins_encode %{
__ umulh(as_Register($dst$$reg),
as_Register($src1$$reg),
as_Register($src2$$reg));
%}

ins_pipe(lmul_reg_reg);
%}

// Combined Integer Multiply & Add/Sub

instruct maddI(iRegINoSp dst, iRegIorL2I src1, iRegIorL2I src2, iRegIorL2I src3) %{
Expand Down

1 comment on commit fdc147e

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.