Skip to content

[API Proposal]: Arm64: FEAT_SVE2: fp #94018

Open
@a74nh

Description

@a74nh
namespace System.Runtime.Intrinsics.Arm;

/// VectorT Summary
public abstract partial class Sve2 : AdvSimd /// Feature: FEAT_SVE2  Category: fp
{

  /// T: sbyte, short, int, long, byte, ushort, uint, ulong
  public static unsafe Vector<T> AddRotateComplex(Vector<T> left, Vector<T> right, [ConstantExpected] byte rotation); // CADD // MOVPRFX

  public static unsafe Vector<float> DownConvertNarrowingUpper(Vector<double> value); // FCVTNT // predicated

  public static unsafe Vector<float> DownConvertRoundingOdd(Vector<double> value); // FCVTX // predicated, MOVPRFX

  public static unsafe Vector<float> DownConvertRoundingOddUpper(Vector<double> value); // FCVTXNT // predicated

  /// T: [int, float], [long, double]
  public static unsafe Vector<T> Log2(Vector<T2> value); // FLOGB // predicated, MOVPRFX

  /// T: sbyte, short, int, long, byte, ushort, uint, ulong
  public static unsafe Vector<T> MultiplyAddRotateComplex(Vector<T> addend, Vector<T> left, Vector<T> right, [ConstantExpected] byte rotation); // CMLA // MOVPRFX

  /// T: short, int, ushort, uint
  public static unsafe Vector<T> MultiplyAddRotateComplexBySelectedScalar(Vector<T> addend, Vector<T> left, Vector<T> right, [ConstantExpected] byte rightIndex, [ConstantExpected] byte rotation); // CMLA // MOVPRFX

  public static unsafe Vector<uint> ReciprocalEstimate(Vector<uint> value); // URECPE // predicated, MOVPRFX

  public static unsafe Vector<uint> ReciprocalSqrtEstimate(Vector<uint> value); // URSQRTE // predicated, MOVPRFX

  /// T: sbyte, short, int, long
  public static unsafe Vector<T> SaturatingComplexAddRotate(Vector<T> op1, Vector<T> op2, [ConstantExpected] byte rotation); // SQCADD // MOVPRFX

  /// T: sbyte, short, int, long
  public static unsafe Vector<T> SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector<T> op1, Vector<T> op2, Vector<T> op3, [ConstantExpected] byte rotation); // SQRDCMLAH // MOVPRFX

  /// T: short, int
  public static unsafe Vector<T> SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector<T> op1, Vector<T> op2, Vector<T> op3, ulong imm_index, [ConstantExpected] byte rotation); // SQRDCMLAH // MOVPRFX

  public static unsafe Vector<double> UpConvertWideningUpper(Vector<float> value); // FCVTLT // predicated

  /// total method signatures: 13

}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions