Похожие чаты

#X86_64 #GCC Good day, sorry for a bit trivial question. C code: extern

void test();

void my_function()
{
test();
}

Result:
my_function:
xorl %eax, %eax
jmp test

Godbolt link:
https://godbolt.org/z/vhWejE

Why does GCC generate xorl %eax, %eax before tail call to test?
What is exactly the purpose of zeroing %eax in this situation?
Is there an ABI requirement for doing this?

Thanks.

1 ответов

7 просмотров
Ammar-Faizi Автор вопроса

Ah okay, I figured it out. It turns out to be an ABI requirement for determining the number of vector registers used. I did realize it when working with printf, but was no idea when random function takes unspecified number of arguments like this.

Похожие вопросы

Обсуждают сегодня

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
А чем вам питонисты не угодили?😂
.
79
Hey guys, did you see the new announcement about $Fun? 🔥
Filip Murphy
55
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
пацаны, как-нибудь можно панель задач заблюрить, что она была похожа на kde или винду 7, 11?
В
16
or do they all have 240?
Ilnur Zaripov
9
HI. Just reviewd Planck website which looks undercooked and some menu is not leading to correct section of site. Also, the vesting is shown to be for 20 months starting next y...
Neo517
4
Дорогие любители Прекрасной Джулии! Есть кто-то имеющий практический опыт построения ML для Систем Управления? Нам нужно сделать нейросеть для автоматической подстройки пара...
Roman Timo
4
Карта сайта