嵌入在 Python 的 x86-64 汇编器 PeachPy

码农软件 · 软件分类 · 代码生成工具 · 2019-03-06 12:14:13

软件介绍

PeachPy 是一个用于编写高性能汇编内核的 Python 框架,可在汇编中编写模块。 它自动化了一些细节,并允许使用 Python 生成重复的汇编代码序列。

PeachPy 旨在简化编写优化的汇编内核,同时保留传统的汇编所有优化机会。一些特性:

  • 用于 Windows,Unix 和 Golang 程序集的通用汇编语法.

    • PeachPy 可以直接生成 ELF,MS COFF 和 Mach-O 对象文件以及 Golang 工具链的汇编列表

  • 自动适应不同的调用约定和 ABIs

    • 用于不同平台的功能可以从汇编相同的源生成

    • 支持 Microsoft x64 ABI, System V x86-64 ABI (Linux 和 OS X), Linux x32 ABI, Native Client x86-64 SFI ABI, Golang AMD64 ABI, Golang AMD64p32 ABI

  • 自动分配寄存器

    • PeachPy 是灵活的,而且允许在同一代码中混合自动分配寄存器和硬编码寄存器

  • 汇编编程中常规任务的自动化:

    • 函数 prolog 和 epilog 由 PeachPy 生成

    • 数据常量的重复数据删除 (e.g. Constant.float32x4(1.0))

    • 分析在函数中使用的 ISA 扩展

  • 支持 x86-64 指令,最高可达 AVX-512 和 SHA

    • 包含 3dnow!+, XOP, FMA3, FMA4, TBM 和 BMI2.

    • 不包括 x87 FPU 和大多数系统指令

    • 使用自动生成的测试 auto-generated tests 进行严格测试,以生成与 binutils 相同的操作码

  • 自动生成元数据文件

    • 具有模块依赖性的Makefile (-MMD 和-MF 选项)

    • C 头文件生成的函数

    • JSON 格式的函数元数据

  • 基于 Python 的元编程和代码生成

  • 多个指令流的复用(有助于软件流水线)

  • 兼容 Python 2 和 Python 3,CPython 和 PyPy

在线 DEMO: PeachPy.IO

本文地址:https://codercto.com/soft/d/746.html

JavaScript Patterns

JavaScript Patterns

Stoyan Stefanov / O'Reilly Media, Inc. / 2010-09-21 / USD 29.99

What's the best approach for developing an application with JavaScript? This book helps you answer that question with numerous JavaScript coding patterns and best practices. If you're an experienced d......一起来看看 《JavaScript Patterns》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试