[Git][ghc/ghc][master] MachRegs.h: Don't define NO_ARG_REGS when a XMM register is defined

Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC Commits: e64b3f16 by ARATA Mizuki at 2025-06-17T10:13:42+09:00 MachRegs.h: Don't define NO_ARG_REGS when a XMM register is defined On i386, MAX_REAL_VANILLA_REG is 1, but MAX_REAL_XMM_REG is 4. If we define NO_ARG_REGS on i386, programs that use SIMD vectors may segfault. Closes #25985 A couple of notes on the BROKEN_TESTS field: * This fixes the segfault from T25062_V16. * The failure from T22187_run was fixed in an earlier commit (see #25561), but BROKEN_TESTS was missed at that time. Now should be a good time to mark it fixed. - - - - - 3 changed files: - .gitlab/generate-ci/gen_ci.hs - .gitlab/jobs.yaml - rts/include/stg/MachRegs.h Changes: ===================================== .gitlab/generate-ci/gen_ci.hs ===================================== @@ -490,7 +490,7 @@ alpineVariables arch = mconcat $ , brokenTest "encoding004" "due to lack of locale support" , brokenTest "T10458" "#17869" ] ++ - [ mconcat [ brokenTest test "#25498" | test <- ["simd009", "T25062_V16", "T25169", "T22187_run"] ] + [ mconcat [ brokenTest test "#25498" | test <- ["simd009", "T25169"] ] | I386 <- [arch] ] ++ [ brokenTest "T22033" "#25497" | I386 <- [arch] ] ++ ===================================== .gitlab/jobs.yaml ===================================== @@ -532,7 +532,7 @@ "variables": { "BIGNUM_BACKEND": "gmp", "BIN_DIST_NAME": "ghc-i386-linux-alpine3_20-validate", - "BROKEN_TESTS": "encoding004 T10458 simd009 T25062_V16 T25169 T22187_run T22033", + "BROKEN_TESTS": "encoding004 T10458 simd009 T25169 T22033", "BUILD_FLAVOUR": "validate", "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check", "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check", @@ -1203,7 +1203,7 @@ "variables": { "BIGNUM_BACKEND": "gmp", "BIN_DIST_NAME": "ghc-i386-linux-alpine3_20-validate", - "BROKEN_TESTS": "encoding004 T10458 simd009 T25062_V16 T25169 T22187_run T22033", + "BROKEN_TESTS": "encoding004 T10458 simd009 T25169 T22033", "BUILD_FLAVOUR": "validate", "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check", "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check", @@ -4087,7 +4087,7 @@ "variables": { "BIGNUM_BACKEND": "gmp", "BIN_DIST_NAME": "ghc-i386-linux-alpine3_20-release+no_split_sections", - "BROKEN_TESTS": "encoding004 T10458 simd009 T25062_V16 T25169 T22187_run T22033", + "BROKEN_TESTS": "encoding004 T10458 simd009 T25169 T22033", "BUILD_FLAVOUR": "release+no_split_sections", "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check", "IGNORE_PERF_FAILURES": "all", ===================================== rts/include/stg/MachRegs.h ===================================== @@ -222,7 +222,7 @@ /* define NO_ARG_REGS if we have no argument registers at all (we can * optimise certain code paths using this predicate). */ -#if MAX_REAL_VANILLA_REG < 2 +#if MAX_REAL_VANILLA_REG < 2 && MAX_REAL_XMM_REG == 0 #define NO_ARG_REGS #else #undef NO_ARG_REGS View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/e64b3f1641564c339c913b48f9e4179c... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/e64b3f1641564c339c913b48f9e4179c... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Marge Bot (@marge-bot)