Názor k článku
Linus relaxuje psaním assembleru od cc - Paradoxně v asm těch chyb člověk moc neudělá....

  • Článek je starý, nové názory již nelze přidávat.
  • 2. 7. 2023 12:28

    cc

    Paradoxně v asm těch chyb člověk moc neudělá. Prostor pro chyby je minimální - sebemenší překlep nebo použití jiného registru/instrukce vyprodukuje přinejhorším špatný výsledek (SIMD) nebo crash (scalar kód). Odhalí to i úplně minimální testovací korpus. Takže základ je mít testy, nejlépe hodně hodně testů...

    Já nedávno dělal na projektu, kde bylo asi 20k řádků AVX-512 kódu přímo v asm. Jeden z důvodů bylo použití speciální calling convention pro subrutiny, které ten AVX-512 kód volal (parametry v ZMM registrech, atd...) , což nebylo možné udělat v C++. A výsledek? Většina chyb byla v high-level kódu kolem toho. Pak se přešlo na JIT kompilaci pro některé části, a to bylo zase o něco zajímavější :)