Skip to content

Instantly share code, notes, and snippets.

using BenchmarkDotNet.Attributes;
using System;
using System.Linq;
using System.Buffers;
using System.Text;
using MicroBenchmarks;
namespace StringSearcher;
[BenchmarkCategory(Categories.Libraries)]
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.Arm;
using Xunit;
/*
* Step to execute this example:
Beginning scenario: RunBasicScenario_UnsafeRead
****** START compiling System.Runtime.Intrinsics.Arm.Sve:DuplicateSelectedScalarToVector(System.Numerics.Vector`1[short],ubyte):System.Numerics.Vector`1[short] (MethodHash=3d7d92ae)
Generating code for Unix arm64
OPTIONS: Tier-0 compilation (set DOTNET_TieredCompilation=0 to disable)
OPTIONS: compCodeOpt = BLENDED_CODE
OPTIONS: compDbgCode = false
OPTIONS: compDbgInfo = true
OPTIONS: compDbgEnC = false
OPTIONS: compProcedureSplitting = false
OPTIONS: compProcedureSplittingEH = false
; Assembly listing for method JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long:RunBasicScenario_LoadFirstFaulting():this (Instrumented Tier0)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; Instrumented Tier0 code
; fp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [fp+0x1B8] do-not-enreg[] this class-hnd <JIT.HardwareIntrinsics.Arm._Sve.SveGatherVectorIndices__Sve_GatherVectorByteZeroExtendFirstFaulting_Indices_ulong_long>
; V01 loc0 [V01 ] ( 1, 1 ) simd16 -> [fp+0x1A0] HFA(simd16) do-not-enreg[S] must-init <System.Numerics.Vector`1[long]>
; V02 loc1 [V02 ] ( 1, 1 ) simd16 -> [fp+0x190] HFA(simd16) do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Numerics.Vector`1[ulong]>