Skip to content

[Arm64] MultiplyHigh #43106

@echesakov

Description

@echesakov

Exposing smulh/umulh as intrinsics on Arm64

class ArmBase.Arm64
{
  /// <summary>
  ///   A64: SMULH Xd, Xn, Xm
  /// </summary>
  public static long MultiplyHigh(long left, long right);

  /// <summary>
  ///   A64: UMULH Xd, Xn, Xm
  /// </summary>
  public static ulong MultiplyHigh(ulong left, ulong right);
}

would allow to implement System.Math.BigMul as

  low = a * b;
  return ArmBase.Arm64.MultiplyHigh(a, b);

cc @CarolEidt @tannergooding @TamarChristinaArm

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions