x86-64 相关问题

x86-64是Intel x86架构的64位扩展

如何修复 Musl x86_64 LibC 上对 PThread 的未定义引用?

一段时间以来,我一直在尝试针对 Musl 进行编译。我的目标是制作一个游戏引擎二进制文件,它可以使用相同的二进制文件在尽可能多的 x86_64 Linux 发行版上执行。 问题是,

回答 1 投票 0

llvm-mca 上的 ADX:它的倒数吞吐量是 1 还是 0.5?

intel.com:Skylake 吞吐量 (CPI) 0.5 但是 llvm-mca 返回 $ llvm-mca kkk -mcpu=skylake -timeline --timeline-max-iterations=10 --timeline-max-cycles=999 ... 时间轴视图:

回答 0 投票 0

如何让组件与 uica 兼容?

如何从与 uica 兼容的优化二进制文件中提取代码? 即使我摆脱了十六进制,我也不确定如何处理标签。我试过 objdump 和 gdb disassemble

回答 0 投票 0

完美的除法抛出浮点异常

我有一个神秘的浮点异常。 我通过这样做来抓住它: feenableexcept( FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW ); 然后是这段代码中的第二部分(最后一行): const float dx = oth...

回答 1 投票 0

组装,获取Intel PPIN值

每个英特尔处理器都应提供一个唯一的 PPIN(受保护处理器库存编号)值。我在这里读到这个值将从内核 5.18 开始在 Linux 中可用。呵呵……

回答 1 投票 0

加权 popcount 集合/集合位的总和索引

你知道任何聪明的方法来总结所有设置位的索引吗? 我知道代码 / 设置位索引的总和 int A073642(uint64_t n) { 返回 __popcnt64(n & 0xAAAAAAAAAAAAAAAA) + (__popcnt6...

回答 1 投票 0

破译简单的汇编代码:是strcpy还是strcat?

1.文本 2.全球之谜 3 .type 神秘,@function 4个谜: 5 movq %rdi,%rax 6 movq %rdi,%rdx 7 cmpb $0, (%rdi) 8je.L5 9.L3: 10 添加 1 美元,%rdx 11 美元 0, (%rdx) 12jne.L3 13.L...

回答 1 投票 0

nasm x86_64:尝试添加换行符时出错

在未分配的内存空间buff和numb中存储cpuid的结果后,我想为它们各自追加一个换行符。所以,我让未分配的空间比

回答 0 投票 0

`__meminit` 在 Linux 内核中是什么意思?

问题: 我经常在 Linux 源代码中看到 __meminit 装饰器放在函数前面。我想知道 __meminit 装饰器是什么意思。 例如。在 arch/x86/mm/init_64.c 中: 静态无效 __meminit

回答 1 投票 0

从 64 位 nasm 代码接收 32 位寄存器

我正在学习 64 位 nasm,我组装了 .nasm 文件,它只包含 64 位寄存器,通过执行以下操作 nasm -f elf64 HelloWorld.nasm -o HelloWorld.o 并链接它执行以下操作 老大

回答 1 投票 0

x86_64:什么时候 `movzbq` 优于 `movzbl`

在我的 x86_64 机器上, 我使用 objdump -d 检查以下两条指令的编码: movzbl (%rdi),%eax: 编码为 3 个字节 (0f b6 07) movzbq (%rdi),%rax: 编码为 4 个字节 (48 0f b6 ...

回答 1 投票 0

Linux 上的 x86_64 nasm:打印到标准输出寄存器的十六进制值

这是一个反复出现的问题,但我从来没有为我的案例找到完整的解决方案,只有零碎的信息和许多不同的实现。 我在带有 nasm 的 Linux (Ubuntu 22.04) 上有这段代码,

回答 0 投票 0

为每个 int8_t 元素添加两个具有饱和度的向量(uint64_t 类型)

我最近遇到了一个给定的问题: 向量中有 8 个元素,每个元素都用 int8_t 表示。 在 x86_64 中实现一个算法,该算法将添加两个向量(uint64_t 类型)。 添加元素...

回答 2 投票 0

如何在 x86-64 上划分无符号 128/64 位?

我需要在寄存器 rdx:rax 的 64 位处理器上用 rdi 中的 64 位除数除以一个无符号的 128 位数字。较低的位在 rax 中,较高的位在 rdx 中。 但是 DIV-Instruct...

回答 0 投票 0

为什么我不能在堆栈上正确存储数据?

我正在编写一个编译器,它为 Linux (x86-64) 发出了以下(英特尔语法)汇编代码: lea r13, _s1 mov qword ptr [rbp + -2*8], r13 mov r10, qword ptr [rbp + -2*8] lea r13, qword ptr ...

回答 0 投票 0

GCC:在代码的不同部分启用不同的指令集扩展

我在性能极其重要的闭源(二进制分布式)科学软件上工作。在许多情况下,启用 AVX 和类似的扩展会带来宝贵的性能优势......

回答 0 投票 0

我可以通过内联汇编获得 %rsp 吗?

这个问题与这个问题相关:How can I access arguments 7+ using inline assembly? 我知道自己访问指针是非标准的,可能不安全,而且不可移植......

回答 0 投票 0

使用 C 内在函数从一个 ZMM 寄存器中提取四个 XMM 寄存器,反之亦然

在 SSE 和 AVX512 寄存器之间移动数据有一个普遍的问题,但这个问题是关于 C 内在函数的。 有一个内在函数可以将两个 xmm 寄存器插入一个 ymm:__m256 _mm256_set_...

回答 2 投票 0

如何使用内联汇编访问参数 7+?

我想创建一个对其输入求和的可变函数。我已经设法编写了用于捕获参数 2-6 的内联汇编,但我正在努力从堆栈中检索其他参数...

回答 0 投票 0

如何在汇编语言中使用 long int 和 long int 数组

我写了一个程序,用一个 long int 和一个 int 数组进行除法和模运算。当我想写我的除法运算结果但我不能。我无法弄清楚问题所在,但我觉得...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.