Skip to content

Commit

Permalink
Merge pull request easybuilders#19180 from Flamefire/20231109105147_n…
Browse files Browse the repository at this point in the history
…ew_pr_GCCcore1210

fix regression in GCC 12+ on AVX512 systems
  • Loading branch information
branfosj authored Nov 10, 2023
2 parents 08a35ed + ca3323e commit d3c06ee
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 0 deletions.
3 changes: 3 additions & 0 deletions easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ patches = [
'GCCcore-9.3.0_gmp-c99.patch',
'GCCcore-12.1.0_allow-pragma-wself-init.patch',
'GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch',
'GCCcore-12.2.0_fix-avx512-misoptimization.patch',
'GCCcore-12.2.0_fix-vectorizer.patch',
]
checksums = [
Expand All @@ -51,6 +52,8 @@ checksums = [
'464f5faa9b23e805995d10dcdacca83df6321cac70826e9a3bc5bc9cd737f6a1'},
{'GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch':
'0ea675960795e238a43ae7d685a0082b21f0b63cf2fe499f6d55e89e0aaee392'},
{'GCCcore-12.2.0_fix-avx512-misoptimization.patch':
'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'},
{'GCCcore-12.2.0_fix-vectorizer.patch': '0b76fc379308fd189ee39c4a3a49facacf8ede08dbec4280f289341083f1632b'},
]

Expand Down
3 changes: 3 additions & 0 deletions easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ patches = [
'GCCcore-9.3.0_gmp-c99.patch',
'GCCcore-12.1.0_allow-pragma-wself-init.patch',
'GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch',
'GCCcore-12.2.0_fix-avx512-misoptimization.patch',
'GCCcore-12.2.0_fix-vectorizer.patch',
'GCCcore-12.2.0_improve-cuda-compatibility.patch',
]
Expand All @@ -52,6 +53,8 @@ checksums = [
'464f5faa9b23e805995d10dcdacca83df6321cac70826e9a3bc5bc9cd737f6a1'},
{'GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch':
'0ea675960795e238a43ae7d685a0082b21f0b63cf2fe499f6d55e89e0aaee392'},
{'GCCcore-12.2.0_fix-avx512-misoptimization.patch':
'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'},
{'GCCcore-12.2.0_fix-vectorizer.patch': '0b76fc379308fd189ee39c4a3a49facacf8ede08dbec4280f289341083f1632b'},
{'GCCcore-12.2.0_improve-cuda-compatibility.patch':
'91d00122554b56381592229398540e63baa26d03633292a7fdf338407a4a62d5'},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Fix a typo causing inverted semantics when (even AVX2) code is compiled for AVX512 systems, e.g. via -march=native
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112443 where the changeset is from.

diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 2ce1aed4ad9..d7e058c2517 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -16350,7 +16350,7 @@
(match_dup 4))]
UNSPEC_BLENDV))]
{
- if (INTVAL (operands[5]) == 1)
+ if (INTVAL (operands[5]) == 5)
std::swap (operands[1], operands[2]);
operands[3] = gen_lowpart (<MODE>mode, operands[3]);
})
@@ -16380,7 +16380,7 @@
(match_dup 4))]
UNSPEC_BLENDV))]
{
- if (INTVAL (operands[5]) == 1)
+ if (INTVAL (operands[5]) == 5)
std::swap (operands[1], operands[2]);
})

3 changes: 3 additions & 0 deletions easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ sources = [
patches = [
'GCCcore-6.2.0-fix-find-isl.patch',
'GCCcore-9.3.0_gmp-c99.patch',
'GCCcore-12.2.0_fix-avx512-misoptimization.patch',
'GCCcore-12.2.0_improve-cuda-compatibility.patch',
]
checksums = [
Expand All @@ -45,6 +46,8 @@ checksums = [
{'nvptx-tools-20230122.tar.gz': 'af05fac26e9a83d337758a5495dc35f7a7bbfd90cd09f4a5d3242d059f235e08'},
{'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'},
{'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'},
{'GCCcore-12.2.0_fix-avx512-misoptimization.patch':
'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'},
{'GCCcore-12.2.0_improve-cuda-compatibility.patch':
'91d00122554b56381592229398540e63baa26d03633292a7fdf338407a4a62d5'},
]
Expand Down
3 changes: 3 additions & 0 deletions easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ sources = [
patches = [
'GCCcore-6.2.0-fix-find-isl.patch',
'GCCcore-9.3.0_gmp-c99.patch',
'GCCcore-12.2.0_fix-avx512-misoptimization.patch',
]
checksums = [
{'gcc-13.1.0.tar.gz': 'bacd4c614d8bd5983404585e53478d467a254249e0f1bb747c8bc6d787bd4fa2'},
Expand All @@ -44,6 +45,8 @@ checksums = [
{'nvptx-tools-20230122.tar.gz': 'af05fac26e9a83d337758a5495dc35f7a7bbfd90cd09f4a5d3242d059f235e08'},
{'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'},
{'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'},
{'GCCcore-12.2.0_fix-avx512-misoptimization.patch':
'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'},
]

builddependencies = [
Expand Down
3 changes: 3 additions & 0 deletions easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ sources = [
patches = [
'GCCcore-6.2.0-fix-find-isl.patch',
'GCCcore-9.3.0_gmp-c99.patch',
'GCCcore-12.2.0_fix-avx512-misoptimization.patch',
]
checksums = [
{'gcc-13.2.0.tar.gz': '8cb4be3796651976f94b9356fa08d833524f62420d6292c5033a9a26af315078'},
Expand All @@ -44,6 +45,8 @@ checksums = [
{'nvptx-tools-20230725.tar.gz': '17ce1f2c64f09c6f1cb709e3af869bb90b0102c412f25da55f338e35bc74b2e2'},
{'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'},
{'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'},
{'GCCcore-12.2.0_fix-avx512-misoptimization.patch':
'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'},
]

builddependencies = [
Expand Down

0 comments on commit d3c06ee

Please sign in to comment.