タグ

関連タグで絞り込む (3)

タグの絞り込みを解除

gccとassemblerに関するmasterqのブックマーク (2)

  • めくるめくマシン記述の世界 - .mjtの日記復帰計画

    prev: http://d.hatena.ne.jp/mjt/20100811/p1 コンパイラやJITCを作る上で、マシン記述(MachineDescription)は現代的には必須のテクニックになっている。例えば、IA32やARMの世界ではCPUのモデル毎に使用できる命令が大幅に異なり、Xtensaのように生成的なプロセサも存在する。コンパイラを特定のCPUにべったり依存する形で書くことは殆んどなく、何らかのかたちで、 CPUにはどのようなレジスタが有るのか CPUの使える命令は何か CPU命令が利用/破壊するレジスタは何か といったことを統一的なフォーマットで記述し、可能なかぎりマシン依存部を減らす努力が求められている。 http://wiki.osdev.info/?MachineDescription gccのケース: CGENと.md GCCは.mdという形で、CPUが利用で

    めくるめくマシン記述の世界 - .mjtの日記復帰計画
    masterq
    masterq 2010/10/07
    gccのcgen。llvmのtblgen。
  • GCC Inline Assembler

    "asm"と"__asm__"は、基的には同じであるが、"__asm__"は使用している言語の予約語/関数等とぶつかる場合使用します。またはANSI C互換のコードをつくっている場合、"asm"キーワードが使用できなくなるので"__asm__"を使います。 /* keyword asm と同じ関数*/ function asm(void){ } /* asmが使用できないので__asm__を使用 */ function inline(){ __asm__("asm code"); }

    masterq
    masterq 2009/04/24
    GCCのインラインアセンブラの使い方。 例が多くてわかりやすいです。
  • 1