[JitDiff X64] [EgorBo] JIT: don't kill FP/SIMD/mask regs across x64 write ba ...
For all the logs, see here.
Tracking issue: https://github.com/MihuBot/runtime-utils/issues/1950
Started at 2026-05-29 17-54-02 UTC, ran for 3 minutes 28 seconds.
[00:00:00] [Setup runtime] Already on 'main'
[00:00:00] [Setup runtime] Your branch is up to date with 'origin/main'.
[00:00:00] [Setup runtime] + git pull origin
[00:00:00] First hardware info: CpuCoresAvailable=32 MemoryAvailableGB=30.458030700683594
[00:00:00] [Setup zip & wget] Reading package lists...
[00:00:01] [Setup zip & wget] Building dependency tree...
[00:00:01] [Setup zip & wget] Reading state information...
[00:00:01] [Setup zip & wget] zip is already the newest version (3.0-13ubuntu0.2).
[00:00:01] [Setup zip & wget] wget is already the newest version (1.21.4-1ubuntu4.1).
[00:00:01] [Setup zip & wget] ninja-build is already the newest version (1.11.1-2).
[00:00:01] [Setup zip & wget] 0 upgraded, 0 newly installed, 0 to remove and 40 not upgraded.
[00:00:01] [Setup runtime] Already up to date.
[00:00:01] [Setup runtime] + git log -1
[00:00:01] [Setup runtime] commit 32f2c3324e1f3f1da93b6f394abd2e893327e4a5
[00:00:01] [Setup runtime] Author: Copilot <198982749+Copilot@users.noreply.github.com>
[00:00:01] [Setup runtime] Date: Fri May 29 09:57:49 2026 -0700
[00:00:01] [Setup runtime]
[00:00:01] [Setup runtime] Disable TpaLoadFailureTest cases on mobile platforms (#128417)
[00:00:01] [Setup runtime]
[00:00:01] [Setup runtime] `TpaLoadFailureTest.NotFound_ExceptionContainsAssemblyPath` and
[00:00:01] [Setup runtime] `TpaLoadFailureTest.Corrupt_ExceptionContainsPathAndHResult` fail on
[00:00:01] [Setup runtime] iossimulator-arm64 (AllSubsets_CoreCLR) because the expected
[00:00:01] [Setup runtime] `FileNotFoundException` is not thrown. The tests do some deleting of
[00:00:01] [Setup runtime] files before running, which doesn't mesh with packaging/bundling on
[00:00:01] [Setup runtime] mobile. The scenarios are not interesting to test specifically on
[00:00:01] [Setup runtime] mobile.
[00:00:01] [Setup runtime]
[00:00:01] [Setup runtime] Add `PlatformDetection.IsNotMobile` to the `ConditionalFact` conditions
[00:00:01] [Setup runtime] on both tests so they are skipped on mobile targets.
[00:00:01] [Setup runtime]
[00:00:01] [Setup runtime] ---------
[00:00:01] [Setup runtime]
[00:00:01] [Setup runtime] Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
[00:00:01] [Setup runtime] Co-authored-by: elinor-fung <47805090+elinor-fung@users.noreply.github.com>
[00:00:01] [Setup runtime] + chmod 777 build.sh
[00:00:01] [Setup runtime] + git config --global user.email build@build.foo
[00:00:01] [Setup runtime] + git config --global user.name build
[00:00:01] [Setup runtime] + git branch -D pr
[00:00:01] [Setup runtime] Deleted branch pr (was 32f2c3324e1).
[00:00:01] [Setup runtime] + git switch -c pr
[00:00:01] [Setup runtime] Switched to a new branch 'pr'
[00:00:01] [Setup runtime] + git remote remove combineWith1
[00:00:01] [Setup runtime] + git remote add combineWith1 https://github.com/EgorBo/runtime-1
[00:00:01] [Setup runtime] + git fetch combineWith1 jit-wb-preserve-fp
[00:00:02] [Setup runtime] From https://github.com/EgorBo/runtime-1
[00:00:02] [Setup runtime] * branch jit-wb-preserve-fp -> FETCH_HEAD
[00:00:02] [Setup runtime] * [new branch] jit-wb-preserve-fp -> combineWith1/jit-wb-preserve-fp
[00:00:02] [Setup runtime] + git log combineWith1/jit-wb-preserve-fp -1
[00:00:02] [Setup runtime] commit 0df8be9eff39bbc2c25d79fd2e5aa99845503825
[00:00:02] [Setup runtime] Author: Egor Bogatov <egorbo@gmail.com>
[00:00:02] [Setup runtime] Date: Fri May 29 18:56:34 2026 +0200
[00:00:02] [Setup runtime]
[00:00:02] [Setup runtime] JIT: don't kill FP/SIMD/mask regs across x64 write barriers
[00:00:02] [Setup runtime]
[00:00:02] [Setup runtime] The x64 JIT_WriteBarrier / JIT_CheckedWriteBarrier helpers (and all the
[00:00:02] [Setup runtime] patched-slot variants: PreGrow/PostGrow/SVR/Region + WriteWatch flavors)
[00:00:02] [Setup runtime] never execute any SSE/AVX/AVX-512/EVEX-mask instruction. So XMM/YMM/ZMM
[00:00:02] [Setup runtime] and K mask registers can stay live across a write barrier call.
[00:00:02] [Setup runtime]
[00:00:02] [Setup runtime] Narrow RBM_CALLEE_TRASH_WRITEBARRIER (and the matching GCTRASH mask)
[00:00:02] [Setup runtime] from the full RBM_CALLEE_TRASH down to RBM_INT_CALLEE_TRASH_INIT on
[00:00:02] [Setup runtime] amd64. Integer callee-trash regs remain conservatively in the kill set
[00:00:02] [Setup runtime] to keep _DEBUG runtime builds and DOTNET_UseGCWriteBarrierCopy=0 working.
[00:00:02] [Setup runtime]
[00:00:02] [Setup runtime] Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
[00:00:02] [Setup runtime] + git merge --no-edit combineWith1/jit-wb-preserve-fp
[00:00:02] [Setup runtime] Merge made by the 'ort' strategy.
[00:00:02] [Setup runtime] src/coreclr/jit/targetamd64.h | 31 ++++++++++++++++++++++++++-----
[00:00:02] [Setup runtime] 1 file changed, 26 insertions(+), 5 deletions(-)
[00:00:02] [Setup runtime] + git log -1
[00:00:02] [Setup runtime] commit e84310a9eac0f1be90349d2ebde90901ed8f5e89
[00:00:02] [Setup runtime] Merge: 32f2c3324e1 0df8be9eff3
[00:00:02] [Setup runtime] Author: build <build@build.foo>
[00:00:02] [Setup runtime] Date: Fri May 29 17:54:01 2026 +0000
[00:00:02] [Setup runtime]
[00:00:02] [Setup runtime] Merge remote-tracking branch 'combineWith1/jit-wb-preserve-fp' into pr
[00:00:02] [Setup runtime] + git switch main
[00:00:02] [Setup runtime] Switched to branch 'main'
[00:00:02] [Setup runtime] Your branch is up to date with 'origin/main'.
[00:00:02] main commit: 32f2c3324e1f3f1da93b6f394abd2e893327e4a5
[00:00:02] pr commit: 0df8be9eff39bbc2c25d79fd2e5aa99845503825
[00:00:02] Running 'git switch pr' from 'runtime'
[00:00:02] Switched to branch 'pr'
[00:00:02] [pr release] Running 'bash build.sh clr -c Release -p:RunAnalyzers=false -p:ApiCompatValidateAssemblies=false' from 'runtime'
[00:00:03] [pr release]
[00:00:03] [pr release] Determining projects to restore...
[00:00:03] [pr release] Tool 'coverlet.console' (version '6.0.4') was restored. Available commands: coverlet
[00:00:03] [pr release] Tool 'dotnet-reportgenerator-globaltool' (version '5.4.3') was restored. Available commands: reportgenerator
[00:00:03] [pr release] Tool 'microsoft.dotnet.xharness.cli' (version '11.0.0-prerelease.26204.1') was restored. Available commands: xharness
[00:00:03] [pr release] Tool 'microsoft.visualstudio.slngen.tool' (version '12.0.15') was restored. Available commands: slngen
[00:00:03] [pr release]
[00:00:03] [pr release] Restore was successful.
[00:00:03] [pr release] All projects are up-to-date for restore.
[00:00:03] [pr release] Determining projects to restore...
[00:00:05] [pr release] Restored /runner/runtime/src/tasks/HelixTestTasks/HelixTestTasks.csproj (in 137 ms).
[00:00:05] [pr release] Restored /runner/runtime/eng/analyzers/PlatformDocAnalyzer/PlatformDocAnalyzer.csproj (in 106 ms).
[00:00:05] [pr release] Restored /runner/runtime/src/tasks/Crossgen2Tasks/Crossgen2Tasks.csproj (in 103 ms).
[00:00:05] [pr release] 66 of 69 projects are up-to-date for restore.
[00:00:07] [pr release] PlatformDocAnalyzer -> /runner/runtime/artifacts/bin/PlatformDocAnalyzer/Release/netstandard2.0/PlatformDocAnalyzer.dll
[00:00:07] [pr release] HelixTestTasks -> /runner/runtime/artifacts/bin/HelixTestTasks/Release/net11.0/HelixTestTasks.dll
[00:00:08] [pr release] Crossgen2Tasks -> /runner/runtime/artifacts/bin/Crossgen2Tasks/Release/Crossgen2Tasks.dll
[00:00:08] [pr release] installer.tasks -> /runner/runtime/artifacts/bin/installer.tasks/Release/installer.tasks.dll
[00:00:08] [pr release] ILLink.RoslynAnalyzer -> /runner/runtime/artifacts/bin/ILLink.RoslynAnalyzer/Release/netstandard2.0/ILLink.RoslynAnalyzer.dll
[00:00:08] [pr release] ILLink.CodeFixProvider -> /runner/runtime/artifacts/bin/ILLink.CodeFixProvider/Release/netstandard2.0/ILLink.CodeFixProvider.dll
[00:00:08] [pr release] PlatformDocAnalyzer -> /runner/runtime/artifacts/bin/PlatformDocAnalyzer/Release/netstandard2.0/PlatformDocAnalyzer.dll
[00:00:08] [pr release] Mono.Linker -> /runner/runtime/artifacts/bin/Mono.Linker/ref/Release/net11.0/illink.dll
[00:00:10] [pr release] Mono.Linker -> /runner/runtime/artifacts/bin/Mono.Linker/Release/net11.0/illink.dll
[00:00:10] [pr release] ILLink.Tasks -> /runner/runtime/artifacts/bin/ILLink.Tasks/Release/net/ILLink.Tasks.dll
[00:00:10] [pr release] System.Private.CoreLib.Generators -> /runner/runtime/artifacts/bin/System.Private.CoreLib.Generators/Release/netstandard2.0/System.Private.CoreLib.Generators.dll
[00:00:10] [pr release] System.Private.CoreLib -> /runner/runtime/artifacts/bin/System.Private.CoreLib/ref/Release/net11.0/System.Private.CoreLib.dll
[00:00:10] [pr release] EventSourceGenerator -> /runner/runtime/artifacts/bin/EventSourceGenerator/Release/netstandard2.0/EventSourceGenerator.dll
[00:00:10] [pr release] Microsoft.Interop.SourceGeneration -> /runner/runtime/artifacts/bin/Microsoft.Interop.SourceGeneration/Release/netstandard2.0/Microsoft.Interop.SourceGeneration.dll
[00:00:10] [pr release] LibraryImportGenerator -> /runner/runtime/artifacts/bin/LibraryImportGenerator/Release/netstandard2.0/Microsoft.Interop.LibraryImportGenerator.dll
[00:00:25] [pr release] System.Private.CoreLib -> /runner/runtime/artifacts/bin/coreclr/linux.x64.Release/IL/System.Private.CoreLib.dll
[00:00:25] [pr release] PlatformDocAnalyzer -> /runner/runtime/artifacts/bin/PlatformDocAnalyzer/Release/netstandard2.0/PlatformDocAnalyzer.dll
[00:00:25] [pr release] cdac-build-tool -> /runner/runtime/artifacts/bin/coreclr/linux.x64.Release/cdac-build-tool/cdac-build-tool.dll
[00:00:26] [pr release] Executing "/runner/runtime/src/coreclr/build-runtime.sh" -x64 -release -os linux -ninja -pgodatapath "/root/.nuget/packages/optimization.linux-x64.pgo.coreclr/1.0.0-prerelease.26180.1" -targetrid linux-x64 -cmakeargs "-DCLR_DOTNET_RID=linux-x64" -cmakeargs "-DCLR_DOTNET_HOST_PATH='/usr/lib/dotnet/dotnet'" -cmakeargs "-DCDAC_BUILD_TOOL_BINARY_PATH=/runner/runtime/artifacts/bin/coreclr/linux.x64.Release/cdac-build-tool/cdac-build-tool.dll" -cmakeargs "-DFEATURE_DYNAMI ...
[00:00:26] [pr release] Commencing CoreCLR Repo build
[00:00:26] [pr release] __TargetRid: linux-x64
[00:00:26] [pr release] Setting up directories for build
[00:00:26] [pr release] Checking prerequisites...
[00:00:26] [pr release] /usr/bin/ninja
[00:00:26] [pr release] Commencing build of "install" target in "CoreCLR component" for linux.x64.Release in /runner/runtime/artifacts/obj/coreclr/linux.x64.Release
[00:00:26] [pr release] Invoking "/runner/runtime/eng/native/gen-buildsys.sh" "/runner/runtime/src/coreclr" "/runner/runtime/artifacts/obj/coreclr/linux.x64.Release" x64 linux clang Release "ninja" -DCLR_CMAKE_PGO_INSTRUMENT=0 -DCLR_CMAKE_OPTDATA_PATH=/root/.nuget/packages/optimization.linux-x64.pgo.coreclr/1.0.0-prerelease.26180.1 -DCLR_CMAKE_PGO_OPTIMIZE=1 -DCLI_CMAKE_FALLBACK_OS="linux" -DFEATURE_DISTRO_AGNOSTIC_SSL=1 -DFEATURE_DYNAMIC_CODE_COMPILED=1 -DCDAC_BUILD_TOOL_BINARY_PATH=/run ...
[00:00:26] [pr release] Not searching for unused variables given on the command line.
[00:00:26] [pr release] -- The linker identification is Ubuntu LLD 18.1.3 (compatible with GNU linkers)
[00:00:26] [pr release] Detected Linux x86_64
[00:00:26] [pr release] -- Using CMake version 3.28.3
[00:00:26] [pr release] -- ZLIB_HEADER_VERSION: 1.3.1
[00:00:26] [pr release] -- ZLIBNG_HEADER_VERSION: 2.2.5
[00:00:26] [pr release] -- Arch detected: 'x86_64'
[00:00:26] [pr release] -- Basearch of 'x86_64' has been detected as: 'x86'
[00:00:26] [pr release] -- Architecture-specific source files: arch/x86/x86_features.c;arch/x86/chunkset_sse2.c;arch/x86/compare256_sse2.c;arch/x86/slide_hash_sse2.c;arch/x86/adler32_ssse3.c;arch/x86/chunkset_ssse3.c;arch/x86/adler32_sse42.c;arch/x86/crc32_pclmulqdq.c;arch/x86/slide_hash_avx2.c;arch/x86/chunkset_avx2.c;arch/x86/compare256_avx2.c;arch/x86/adler32_avx2.c;arch/x86/adler32_avx512.c;arch/x86/chunkset_avx512.c;arch/x86/adler32_avx512_vnni.c;arch/x86/crc32_vpclmulqdq.c
[00:00:26] [pr release] -- The following features have been enabled:
[00:00:26] [pr release]
[00:00:26] [pr release] * CMAKE_BUILD_TYPE, Build type: RELEASE (selected)
[00:00:26] [pr release] * XSAVE, Support XSAVE intrinsics using "-mxsave"
[00:00:26] [pr release] * SSSE3_ADLER32, Support SSSE3-accelerated adler32, using "-mssse3"
[00:00:26] [pr release] * SSE42_CRC, Support SSE4.2 optimized adler32 hash generation, using "-msse4.2"
[00:00:26] [pr release] * PCLMUL_CRC, Support CRC hash generation using PCLMULQDQ, using "-msse4.2 -mpclmul"
[00:00:26] [pr release] * AVX2_SLIDEHASH, Support AVX2 optimized slide_hash, using "-mavx2 -mbmi2"
[00:00:26] [pr release] * AVX2_CHUNKSET, Support AVX2 optimized chunkset, using "-mavx2 -mbmi2"
[00:00:26] [pr release] * AVX2_COMPARE256, Support AVX2 optimized compare256, using "-mavx2 -mbmi2"
[00:00:26] [pr release] * AVX2_ADLER32, Support AVX2-accelerated adler32, using "-mavx2 -mbmi2"
[00:00:26] [pr release] * AVX512_ADLER32, Support AVX512-accelerated adler32, using "-mavx512f -mavx512dq -mavx512bw -mavx512vl -mbmi2 -mtune=cascadelake"
[00:00:26] [pr release] * AVX512_CHUNKSET, Support AVX512 optimized chunkset, using "-mavx512f -mavx512dq -mavx512bw -mavx512vl -mbmi2 -mtune=cascadelake"
[00:00:26] [pr release] * AVX512VNNI_ADLER32, Support AVX512VNNI adler32, using "-mavx512f -mavx512dq -mavx512bw -mavx512vl -mavx512vnni -mbmi2 -mtune=cascadelake"
[00:00:26] [pr release] * VPCLMUL_CRC, Support CRC hash generation using VPCLMULQDQ, using "-mpclmul -mvpclmulqdq -mavx512f -mavx512f -mavx512dq -mavx512bw -mavx512vl -mbmi2 -mtune=cascadelake"
[00:00:26] [pr release] * WITH_GZFILEOP, Compile with support for gzFile related functions
[00:00:26] [pr release] * ZLIB_COMPAT, Compile with zlib compatible API