Skip to content

Instantly share code, notes, and snippets.

; 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]>
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
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:
using BenchmarkDotNet.Attributes;
using System;
using System.Linq;
using System.Buffers;
using System.Text;
using MicroBenchmarks;
namespace StringSearcher;
[BenchmarkCategory(Categories.Libraries)]
****** START compiling System.Text.Tests.Demo:IndexOfAnyLookupCombined(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] (MethodHash=2430e072)
Generating code for Unix arm64
OPTIONS: compCodeOpt = BLENDED_CODE
OPTIONS: compDbgCode = false
OPTIONS: compDbgInfo = true
OPTIONS: compDbgEnC = false
OPTIONS: compProcedureSplitting = false
OPTIONS: compProcedureSplittingEH = false
OPTIONS: optimizer should use profile data
IL to import:
; Assembly listing for method System.Text.Tests.AsciiUtilityTests:GetIndexOfFirstNonAsciiChar_Intrinsifed(long,long):long
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 2 inlinees with PGO data; 9 single block inlinees; 5 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 34, 35.50) long -> rbx
; Assembly listing for method System.Text.Tests.AsciiUtilityTests:GetIndexOfFirstNonAsciiChar_Sse2(long,long):long
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 2 inlinees with PGO data; 9 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 34, 35.50) long -> rbx
; Assembly listing for method System.Text.Tests.AsciiUtilityTests:GetIndexOfFirstNonAsciiChar_Intrinsifed(long,long):long
; Emitting BLENDED_CODE for generic ARM64 CPU - Unix
; optimized code
; fp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 9 single block inlinees; 7 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T04] ( 3, 2.50) long -> x0 single-def
; Assembly listing for method System.Text.Tests.AsciiUtilityTests:GetIndexOfFirstNonAsciiChar_Intrinsifed(long,long):long
; Emitting BLENDED_CODE for generic ARM64 CPU - Unix
; optimized code
; fp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 9 single block inlinees; 7 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 34, 35.50) long -> x19
; Assembly listing for method System.Text.Tests.AsciiUtilityTests:GetIndexOfFirstNonAsciiChar_Default(long,long):long
; Emitting BLENDED_CODE for generic ARM64 CPU - Unix
; optimized code
; fp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 10 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 24, 42 ) long -> x19