[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 11 commits: Add VecSlot for unboxed sums of SIMD vectors

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Wed Oct 19 04:03:10 UTC 2022



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
e6037c7a by Dai at 2022-10-19T00:02:31-04:00
Add VecSlot for unboxed sums of SIMD vectors

This patch adds the missing `VecRep` case to `primRepSlot` function and
all the necessary machinery to carry this new `VecSlot` through code
generation. This allows programs involving unboxed sums of SIMD vectors
to be written and compiled.

Fixes #22187

- - - - -
31d76a58 by sheaf at 2022-10-19T00:02:31-04:00
Remove SIMD conversions

This patch makes it so that packing/unpacking SIMD
vectors always uses the right sized types, e.g.
unpacking a Word16X4# will give a tuple of Word16#s.

As a result, we can get rid of the conversion instructions
that were previously required.

Fixes #22296

- - - - -
31ffad9b by sheaf at 2022-10-19T00:02:31-04:00
Cmm Lint: relax SIMD register assignment check

As noted in #22297, SIMD vector registers can be used
to store different kinds of values, e.g. xmm1 can be used
both to store integer and floating point values.
The Cmm type system doesn't properly account for this, so
we weaken the Cmm register assignment lint check to only
compare widths when comparing a vector type with its
allocated vector register.

- - - - -
f248c05b by sheaf at 2022-10-19T00:02:31-04:00
Disable some SIMD tests on non-X86 architectures

- - - - -
eb6a9194 by M Farkas-Dyck at 2022-10-19T00:02:36-04:00
Scrub various partiality involving lists (again).

Lets us avoid some use of `head` and `tail`, and some panics.

- - - - -
1e0f3495 by M Farkas-Dyck at 2022-10-19T00:02:42-04:00
Enforce invariant of `ListBag` constructor.

- - - - -
a430ff40 by Bodigrim at 2022-10-19T00:02:44-04:00
More precise types for fields of OverlappingInstances and UnsafeOverlap in TcSolverReportMsg

It's clear from asserts in `GHC.Tc.Errors` that `overlappingInstances_matches`
and `unsafeOverlapped` are supposed to be non-empty, and `unsafeOverlap_matches`
contains a single instance, but these invariants are immediately lost afterwards
and not encoded in types. This patch enforces the invariants by pattern matching
and makes types more precise, avoiding asserts and partial functions such as `head`.

- - - - -
f8d0ef02 by sheaf at 2022-10-19T00:02:44-04:00
Rename unsafeOverlap_matches -> unsafeOverlap_match in UnsafeOverlap
- - - - -
31e28b18 by Matthew Pickering at 2022-10-19T00:02:45-04:00
Add SpliceTypes test for hie files

This test checks that typed splices and quotes get the right type
information when used in hiefiles.

See #21619

- - - - -
ccde070a by Jan Hrček at 2022-10-19T00:02:47-04:00
Small language fixes in 'Using GHC'

- - - - -
3196bc4a by Gergő Érdi at 2022-10-19T00:02:50-04:00
Fix typo in `Opt_WriteIfSimplifiedCore`'s name

- - - - -


30 changed files:

- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/Cmm/Info/Build.hs
- compiler/GHC/Cmm/Lint.hs
- compiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Utils.hs
- compiler/GHC/CmmToAsm/BlockLayout.hs
- compiler/GHC/CmmToAsm/PPC/Instr.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/Core/InstEnv.hs
- compiler/GHC/Core/Lint.hs
- compiler/GHC/Core/Opt/Monad.hs
- compiler/GHC/Core/Opt/OccurAnal.hs
- compiler/GHC/Core/Utils.hs
- compiler/GHC/Data/Bag.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Hs/Decls.hs
- compiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Pmc/Solver/Types.hs
- compiler/GHC/HsToCore/Utils.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Iface/Make.hs
- compiler/GHC/Parser/PostProcess/Haddock.hs
- compiler/GHC/Rename/Names.hs
- compiler/GHC/Rename/Unbound.hs
- compiler/GHC/Runtime/Heap/Inspect.hs
- compiler/GHC/Stg/Unarise.hs
- compiler/GHC/StgToByteCode.hs
- compiler/GHC/StgToCmm/Prim.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5464d5eff832cf56ed2f5638c2f8765e1f1e4ec9...3196bc4a426c06866ee6d4666332269685a6e79a

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5464d5eff832cf56ed2f5638c2f8765e1f1e4ec9...3196bc4a426c06866ee6d4666332269685a6e79a
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20221019/0fd4d3ca/attachment.html>


More information about the ghc-commits mailing list