llvm-extension: Processor specific intrinsics for the llvm interface
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
The Low-Level Virtual-Machine is a compiler back-end with optimizer. You may also call it a high-level portable assembler. LLVM provides processor specific instructions via so-called intrinsics. This package allows you to use such instructions, while also defining fallbacks for older versions of a processor and different architectures.
We provide an auto-generated list of intrinsics for special SSE+AVX instructions on the X86 target. On x86 architectures we depend on the cpuid package for automatic detection of available features. This works when using JIT or native compilation, but it fails for cross-compilation.
Formerly, this package was part of the llvm-extra
package.
But the names of intrinsics change between LLVM versions without notification.
Intrinsics for processor specific instructions are considered a last resort.
In current LLVM versions all functions I needed so far
are available as generic intrinsics.
Properties
Versions | 0.0, 0.0 |
---|---|
Change log | None available |
Dependencies | base (>=3 && <5), containers (>=0.1 && <0.7), cpuid (>=0.2.3 && <0.3), llvm-extra (>=0.9 && <0.10), llvm-tf (>=9.0 && <9.1), non-empty (>=0.2.1 && <0.4), parsec (>=2.1 && <3.2), prelude-compat (>=0.0 && <0.0.1), tfp (>=1.0 && <1.1), transformers (>=0.1.1 && <0.6), unsafe (>=0.0 && <0.1), utility-ht (>=0.0.11 && <0.1) [details] |
License | BSD-3-Clause |
Author | Henning Thielemann <haskell@henning-thielemann.de> |
Maintainer | Henning Thielemann <haskell@henning-thielemann.de> |
Category | Compilers/Interpreters, Code Generation |
Home page | https://wiki.haskell.org/LLVM |
Source repo | this: darcs get http://hub.darcs.net/thielema/llvm-extension/ --tag 0.0 head: darcs get http://hub.darcs.net/thielema/llvm-extension/ |
Uploaded | by HenningThielemann at 2020-01-05T16:26:49Z |
Modules
- LLVM
- Extra
- LLVM.Extra.Extension
- LLVM.Extra.Extension.X86
- ExtensionCheck
- LLVM.Extra.ExtensionCheck.X86
- LLVM.Extra.Extension
- Extra
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
buildtools | Build intrinsic translator | Disabled |
cpuid | Use CPUID for host feature detection if available on the architecture | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- llvm-extension-0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees