llvm-extension: Processor specific intrinsics for the llvm interface

[ bsd3, code-generation, compilers-interpreters, library ] [ Propose Tags ]

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.

Flags

Automatic Flags
NameDescriptionDefault
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

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.0
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:28:21Z
Distributions
Executables prepare-intrinsics
Downloads 385 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]