Andrey
работаешь на авиацию
Anonymous
когда упомянули твой город
Anonymous
о чём тут у вас?
Andrey
у вас есть офис фирмы, где я работаю
Andrey
ул. Дзержинского, д.7
Berkus
даже в seL4 fastpath IPC закодирован на си
Anonymous
Andrey
Berkus
ящитаю что овца врёт
Berkus
АЗ?
Andrey
аппаратно зависимая часть
Berkus
там тоже асм не нужен
Andrey
да?
Andrey
правда?
Anonymous
Anonymous
Andrey
у тебя есть x86, у тебя есть mips
Berkus
вот пролог какого-нибудь IRQ хендлера - там может понадобиться, но это буквально десяток инструкций
Berkus
Andrey
и как ты на них будешь выполнять команды?
Andrey
как ни странно, работают они иначе
Berkus
Berkus
СИДЕТЬ, ЛЕЖАТЬ
Berkus
такие команды понятны и мипсу и арму и фидо
Andrey
окей, тебе нужно послать прерывание на процессор, пошли его с помощью c
Berkus
Berkus
вот пролог какого-нибудь IRQ хендлера - там может понадобиться, но это буквально десяток инструкций
Berkus
Я ПРЯМО НАПИСАЛ ПРО ЭТО БУКВАМИ
Andrey
энивей, операции со стеком, операции с диском
Berkus
это очень performance critical прерывание, IPI какой-нибудь
Andrey
тот же самый log10 быстрее так:
fldlg2
fldl 4(%esp)
fyl2x
ret
🦥Alex Fails
Berkus
как и примерно 100% остального периферийного железа
Berkus
Anonymous
O3 не советую категорически. Только O2.
Pavel
загадочный русский госзаказ. может они и не умеют по другому, чо пристали?
Matwey
Это же инструкции из 387?
Berkus
Berkus
Pavel
Anonymous
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
Pavel
хорошо когда много умных людей на канале — вбросил и читаешь
Pavel
О3 в старых компиляторах плохо работало. щас вроде норм, как мне казалось
🦥Alex Fails
Anonymous
Официальный man gcc говорит, что в O2 входят все стабильно работающие оптимизации, а в O3 те, которые ещё таковыми официально не признаны.
Berkus
Berkus
так что O3 только в генту
Anonymous
Disregard strict standards compliance. -Ofast enables all -O3 optimizations. It also enables optimizations that are not valid for all standard-compliant programs. It turns on -ffast-math and the Fortran-specific -fstack-arrays, unless -fmax-stack-var-size is specified, and -fno-protect-parens.
Aidar
я использую Ofast в pkgbuild
Berkus
да пожалуйста
Pavel
Aidar
а не у меня O3
Aidar
fast math дичь
Berkus
зато быстро
Andrey
Andrey
передачи управления на asm
Andrey
атомарные операции
Andrey
1 раз, но частенько используется
Andrey
ну и потоки в разных режимах использования
Aidar
Aidar
тут с тобой никто не согласен
Matwey
Бывшие школьники...
Kirill
Evgenii
Kirill
Так что да,я тоже по дефолту считаю что компилятор умнее
Ioann_
Я не за свое. Глупое утверждение просто. Ну не согласны и не согласны. Возникает ощущение что новые версии компилятора просто так выпускают
Anonymous
Я вас удивлю, некоторые вещи компилятор делает намного лучше людей.
Например, страшно представить, сколько времени надо асм профессионалу, чтобы оптимально реализовать
int foo(int i) { return i % 3; }
А вот компилятор делает это за микросекунды:
movsxd rax, edi
imul rcx, rax, 1431655766
mov rdx, rcx
shr rdx, 63
shr rcx, 32
add ecx, edx
lea ecx, [rcx + 2*rcx]
sub eax, ecx
ret
И я не поверю, что есть асм мастера, которые помнят все подобные константы и хитрости наизусть
Ioann_
Я не устверждал что помню. Но утверждаю что код писанный мною на асме в 2010 году рвал и метал 2008 студию и гцц
Олександр
Семь лет прошло