Skip to content

Commit 2414dc9

Browse files
authored
YMM embedded rounding breaking change (#46598)
1 parent 8539262 commit 2414dc9

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed

docs/core/compatibility/10.0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
3333
| [LDAP DirectoryControl parsing is now more stringent](core-libraries/10.0/ldap-directorycontrol-parsing.md) | Behavioral change | Preview 1 |
3434
| [MacCatalyst version normalization](core-libraries/10.0/maccatalyst-version-normalization.md) | Behavioral change | Preview 1 |
3535
| [System.Linq.AsyncEnumerable included in core libraries](core-libraries/10.0/asyncenumerable.md) | Source incompatible | Preview 1 |
36+
| [YMM embedded rounding removed from AVX10.2](core-libraries/10.0/ymm-embedded-rounding.md) | Behavioral change | Preview 5 |
3637

3738
## Extensions
3839

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: "Breaking change: YMM embedded rounding removed from AVX10.2"
3+
description: Learn about the .NET 10 breaking change in core .NET libraries where support for YMM embedded rounding was removed from AVX10.2.
4+
ms.date: 06/06/2025
5+
---
6+
7+
# YMM embedded rounding removed from AVX10.2
8+
9+
Support for YMM embedded rounding has been removed from the <xref:System.Runtime.Intrinsics.X86.Avx10v2> type.
10+
11+
## Previous behavior
12+
13+
In previous .NET 10 Preview versions, the [affected APIs](#affected-apis) in <xref:System.Runtime.Intrinsics.X86.Avx10v2> were available.
14+
15+
## New behavior
16+
17+
Starting in Preview 5, the [affected APIs](#affected-apis) in <xref:System.Runtime.Intrinsics.X86.Avx10v2> are removed and no longer available.
18+
19+
## Version introduced
20+
21+
.NET 10 Preview 5
22+
23+
## Type of breaking change
24+
25+
This change can affect [binary compatibility](../../categories.md#binary-compatibility) and [source compatibility](../../categories.md#source-compatibility).
26+
27+
## Reason for change
28+
29+
Intel pivoted direction and now requires that AVX10.2 also implement AVX512. Since ZMM embedded rounding is always available, the YMM embedded rounding feature isn't necessary.
30+
31+
## Recommended action
32+
33+
Because the hardware isn't yet available, no users should be affected by this change.
34+
35+
## Affected APIs
36+
37+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToSByteWithSaturationAndZeroExtendToInt32`
38+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToByteWithSaturationAndZeroExtendToInt32`
39+
- `System.Runtime.Intrinsics.X86.Avx10v2.Add`
40+
- `System.Runtime.Intrinsics.X86.Avx10v2.Divide`
41+
- `System.Runtime.Intrinsics.X86.Avx10v2.Multiply`
42+
- `System.Runtime.Intrinsics.X86.Avx10v2.Scale`
43+
- `System.Runtime.Intrinsics.X86.Avx10v2.Sqrt`
44+
- `System.Runtime.Intrinsics.X86.Avx10v2.Subtract`
45+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToVector128Int32`
46+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToVector128Single`
47+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToVector128UInt32`
48+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToVector256Double`
49+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToVector256Int32`
50+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToVector256Int64`
51+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToVector256Single`
52+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToVector256UInt32`
53+
- `System.Runtime.Intrinsics.X86.Avx10v2.ConvertToVector256UInt64`

docs/core/compatibility/toc.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ items:
3030
href: core-libraries/10.0/maccatalyst-version-normalization.md
3131
- name: System.Linq.AsyncEnumerable included in core libraries
3232
href: core-libraries/10.0/asyncenumerable.md
33+
- name: YMM embedded rounding removed from AVX10.2
34+
href: core-libraries/10.0/ymm-embedded-rounding.md
3335
- name: Cryptography
3436
items:
3537
- name: X500DistinguishedName validation is stricter
@@ -1334,6 +1336,16 @@ items:
13341336
href: aspnet-core/5.0/static-files-csv-content-type-changed.md
13351337
- name: .NET Core 3.0-3.1
13361338
href: aspnetcore.md
1339+
- name: .NET Aspire
1340+
items:
1341+
- name: Aspire 9.3
1342+
href: /dotnet/aspire/compatibility/9.3/?toc=/dotnet/core/compatibility/toc.json&bc=/dotnet/breadcrumb/toc.json
1343+
- name: Aspire 9.2
1344+
href: /dotnet/aspire/compatibility/9.2/?toc=/dotnet/core/compatibility/toc.json&bc=/dotnet/breadcrumb/toc.json
1345+
- name: Aspire 9.1
1346+
href: /dotnet/aspire/compatibility/9.1/?toc=/dotnet/core/compatibility/toc.json&bc=/dotnet/breadcrumb/toc.json
1347+
- name: Aspire 9.0
1348+
href: /dotnet/aspire/compatibility/9.0/?toc=/dotnet/core/compatibility/toc.json&bc=/dotnet/breadcrumb/toc.json
13371349
- name: Code analysis
13381350
items:
13391351
- name: .NET 5
@@ -1414,6 +1426,8 @@ items:
14141426
href: core-libraries/10.0/maccatalyst-version-normalization.md
14151427
- name: System.Linq.AsyncEnumerable included in core libraries
14161428
href: core-libraries/10.0/asyncenumerable.md
1429+
- name: YMM embedded rounding removed from AVX10.2
1430+
href: core-libraries/10.0/ymm-embedded-rounding.md
14171431
- name: .NET 9
14181432
items:
14191433
- name: Adding a ZipArchiveEntry sets header general-purpose bit flags
@@ -1736,6 +1750,8 @@ items:
17361750
href: deployment/7.0/x86-host-path.md
17371751
- name: Entity Framework Core
17381752
items:
1753+
- name: EF Core 10
1754+
href: /ef/core/what-is-new/ef-core-10.0/breaking-changes?toc=/dotnet/core/compatibility/toc.json&bc=/dotnet/breadcrumb/toc.json
17391755
- name: EF Core 9
17401756
href: /ef/core/what-is-new/ef-core-9.0/breaking-changes?toc=/dotnet/core/compatibility/toc.json&bc=/dotnet/breadcrumb/toc.json
17411757
- name: EF Core 8

0 commit comments

Comments
 (0)