UniSIMD-assembler Icon

UniSIMD-assembler

SIMD macro assembler unified for ARM, MIPS, PPC and x86

Add a Review
5 Downloads (This Week)
Last Update:
Download UniSIMD-assembler-0.9.1.zip
Browse All Files
Windows BSD Linux

Description

UniSIMD assembler is a high-level C/C++ macro assembler framework unified across
ARM, MIPS, Power and x86 architectures. It establishes a subset of both BASE and
SIMD instruction sets with clearly defined common API, so that application logic
can be written and maintained in one place without code replication.
The assembler itself isn't a separate tool, but rather a collection of C/C++
header files, which applications need to include directly in order to use.

At present, Intel SSE/SSE2/SSE4 and AVX/AVX2/AVX-512 (32/64-bit x86 ISAs),
ARMv7 NEON/NEONv2, ARMv8 AArch32/AArch64 NEON (32/64-bit ARM ISAs),
MIPS 32/64-bit r5/r6 MSA and Power 32/64-bit VMX/VSX (little/big-endian ISAs)
are mostly implemented, although scalar improvements, horizontal reductions,
wider SIMD vectors with zeroing/merging predicates in 3/4-operand instructions,
are planned as extensions to current 2/3-operand SPMD-driven vertical SIMD ISA.

See README file.

UniSIMD-assembler Web Site

Categories

Assemblers

License

MIT License

Features

  • ======= UniSIMD core features =======
  • Unified, Universal, Portable, Compatible code
  • Explicit register-allocation, predictable performance
  • Three register-sets for code: 8, 16, 32 (free: 8, 15, 30)
  • High-level SIMD registers/ops as singles, pairs or quads
  • SIMD-aligned backend structures with offsets/factors
  • Vector-length agnostic vertical SIMD ISA, configurable
  • Simultaneous scalar+128/256-bit+configurable SIMD ops
  • ISA reservation for fp16/fp128 (half/quad) SIMD ops
  • C/C++, Compute, SPMD on 4 major archs
  • Intel SSE/SSE2/SSE4 and AVX/AVX2/AVX-512
  • ARMv7 NEON/NEONv2, ARMv8 AArch32/AArch64 NEON
  • MIPS r5/r6 MSA (Warrior P5600, I6400/P6600)
  • Power VMX/VSX (PowerPC G4/G5, POWER6/7/8)
  • CISC, RISC, CISC on RISC, little/big-endian ISA
  • Support for reg-reg, load/store, load-op instructions
  • FMA3 support (native or higher-precision emulation)
  • 32/64-bit hybrid mode for native 64-bit ABI
  • 32/64-bit addressing for BASE and SIMD ops
  • 32/64-bit configurable SIMD elements (fp+int)
  • Simultaneous 32/64-bit BASE (with rules) and SIMD ops
  • ISA reservation for int8/int16 (byte/half) BASE ops
  • Full control over code, compiler steps out of the way
  • Potential for bit-exact fp-compute across modern targets
  • Used in QuadRay engine

KEEP ME UPDATED

Other Useful Business Software

Avoid hiccups: deliver native mobile apps seamlessly Icon

Feel confident that you're keeping your apps and customers safe and secure. See how far you can take your apps with a free 30-day trial. Start today.

Avoid hiccups: deliver native mobile apps seamlessly Icon
Ninety percent of Fortune 500 companies trust the Microsoft Cloud, and so can you. Azure helps protect your assets through a rigorous methodology and focus on security, privacy, compliance, and transparency. Azure has been recognized as the most trusted cloud for U.S government institutions, including FedRAMP High authorization that covers 18 Azure services.
Write a Review

User Reviews

Be the first to post a review of UniSIMD-assembler!

Additional Project Details

Intended Audience

Developers

Programming Language

C++, Assembly, C

Registered

2013-07-17

Thanks for helping keep SourceForge clean.

Screenshot instructions:
Windows
Mac
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies
X

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

No, thanks