Andreas Klebinger pushed to branch wip/andreask/enable_ghci_opt at Glasgow Haskell Compiler / GHC Commits: 2a218737 by ARATA Mizuki at 2026-03-23T11:11:39-04:00 Add 128-bit SIMD support to AArch64 NCG Changes: - Add `Format` field to vector-capable instructions. These instructions will emit `vN.4s` (for example) as a operand. - Additional constructors for `Operand`: `OpVecLane` represents a vector lane and will be emitted as `vN.<width>[<index>]` (`vN.s[3]` for example). `OpScalarAsVec` represents a scalar, but printed as a vector lane like `vN.<width>[0]` (`vN.s[0]` for example). - Integer quot/rem are implemented in C, like x86. Closes #26536 Metric Increase: T3294 - - - - - 5d6e2be9 by ARATA Mizuki at 2026-03-23T11:11:39-04:00 AArch64 NCG: Improve code generation for floating-point and vector constants Some floating-point constants can be directly encoded using the FMOV instruction. Similarly, a class of vectors with same values can be encoded using FMOV, MOVI, or MVNI. - - - - - c6d262aa by Simon Jakobi at 2026-03-23T11:12:22-04:00 Add regression test for #13729 Closes #13729. - - - - - 1f9c041e by Andreas Klebinger at 2026-03-25T07:31:04+01:00 Turn -fno-unoptimied-core-for-interpreter off by default. Even if it's still somewhat experimental it's better in most cases now if the execution performance matters. And it's still easy to disable using -O0 Fixes #25955. - - - - - 45 changed files: - compiler/CodeGen.Platform.h - compiler/GHC/CmmToAsm/AArch64/CodeGen.hs - compiler/GHC/CmmToAsm/AArch64/Instr.hs - compiler/GHC/CmmToAsm/AArch64/Ppr.hs - compiler/GHC/CmmToAsm/AArch64/Regs.hs - compiler/GHC/CmmToAsm/Reg/Graph/TrivColorable.hs - compiler/GHC/Driver/Backend.hs - compiler/GHC/Driver/Config/StgToCmm.hs - compiler/GHC/Driver/DynFlags.hs - compiler/GHC/Driver/Session.hs - docs/users_guide/9.16.1-notes.rst - docs/users_guide/debugging.rst - docs/users_guide/extending_ghc.rst - docs/users_guide/ghci.rst - rts/include/stg/Prim.h - rts/prim/vectorQuotRem.c - + testsuite/tests/driver/T13729/A/A.cabal - + testsuite/tests/driver/T13729/A/Setup.hs - + testsuite/tests/driver/T13729/A/TH.hs - + testsuite/tests/driver/T13729/A/Types1.hs - + testsuite/tests/driver/T13729/A/Types2.hs - + testsuite/tests/driver/T13729/B/B.cabal - + testsuite/tests/driver/T13729/B/Main.hs - + testsuite/tests/driver/T13729/B/Setup.hs - + testsuite/tests/driver/T13729/Makefile - + testsuite/tests/driver/T13729/Setup.hs - + testsuite/tests/driver/T13729/all.T - − testsuite/tests/ghc-api/T10052/T10052.stderr - testsuite/tests/ghci/prog-mhu002/prog-mhu002c.stdout - − testsuite/tests/ghci/should_fail/T10549.stderr - + testsuite/tests/simd/should_run/FloatConstant.hs - + testsuite/tests/simd/should_run/FloatConstant.stdout - + testsuite/tests/simd/should_run/IntConstant.hs - + testsuite/tests/simd/should_run/IntConstant.stdout - testsuite/tests/simd/should_run/all.T - testsuite/tests/simd/should_run/int16x8_shuffle.hs - testsuite/tests/simd/should_run/int16x8_shuffle.stdout - testsuite/tests/simd/should_run/int16x8_shuffle_baseline.hs - testsuite/tests/simd/should_run/int16x8_shuffle_baseline.stdout - testsuite/tests/simd/should_run/int8x16_shuffle.hs - testsuite/tests/simd/should_run/int8x16_shuffle.stdout - testsuite/tests/simd/should_run/int8x16_shuffle_baseline.hs - testsuite/tests/simd/should_run/int8x16_shuffle_baseline.stdout - testsuite/tests/simd/should_run/simd013C.c - − testsuite/tests/th/T8333.stderr The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/1b5c5dc356bc5c446e2cbadb6d0bda4... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/1b5c5dc356bc5c446e2cbadb6d0bda4... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Andreas Klebinger (@AndreasK)