gccのオプション

かなり個人的なメモになってしまうけど、gccでアセンブラにオプションを渡すには -Waを使うらしい。例えばsparcでv8plusの命令セットを 使いたい場合には-Wa,-xarch=v8plusを つけてコンパイルすればいい。

これは何に使うかというと、UltraSparcでクロックカウンタを読み出す命令 rdtickがv8plusだと使えるのだ。 ついでにコードも載せておくとこんな感じ。

  static inline unsigned long rdtick ()
  {
    unsigned long x;
    asm volatile ("rd %%tick, %0" : "=r" (x));
    return x;
  }