The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Дрю ДеВолт представил язык системного программирования Hare"
Отправлено Аноним84701, 28-Апр-22 17:42 
> А че, LLVM может эффективнее генерить?


#include <stdio.h>
#include <stdint.h>
struct tuple {
  uint8_t val1;
  int32_t val2;
};

struct tuple ret(void) {
    struct tuple vals = {1,2};
    return vals;
}
int main(void) {
  const struct tuple t = ret();
  printf("%d %d", t.val1, t.val2);
  return 0;
}

% clang -O2 -S ret.c && more ret.s

ret:                                    # @ret
        .cfi_startproc
# %bb.0:
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset %rbp, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register %rbp
        movabsq $8589934593, %rax       # imm = 0x200000001
        popq    %rbp
        .cfi_def_cfa %rsp, 8
        retq

...
main:                                   # @main
        .cfi_startproc
# %bb.0:
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset %rbp, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register %rbp
        movl    $.L.str, %edi
        movl    $1, %esi
        movl    $2, %edx
        xorl    %eax, %eax
        callq   printf


gcc -O2:

ret:
.LFB1:
        .cfi_startproc
        movabsq $8589934593, %rax
        ret
        .cfi_endproc

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру