Sassy is a portable assembler for x86 processors written in R5RS Scheme with the addition of a few SRFIs.
Xbyak - x86, x64 JIT assembler - .frame(English) .frame(x86の究極の最適化手法?) Xbyak(カイビャック)はx86(IA32), x64(AMD64, x86-64)のマシン語命令を生成するC++のクラスライブラリです. プログラム実行時に動的にアセンブルすることが可能なため, 柔軟な最適化(動的コード生成)が可能となります(利用シーン:量子化の高速化, 式の計算). 暗号ライブラリに使って高速な実装をしてみた(very fast etaT pairing for Core 2 Duo) ヘッダファイルオンリー xbyak.hをインクルードするだけですぐ利用することができます(32bit, 64bit両対応). Windows Xp(32bit, 64bit), Vista/Linux(32bit, 64bit)/Intel
alternativeマクロについて シーケンスロック その3 において > alternativeマクロは興味深い動作をするので、回を改めて詳しく説明しますが、 などと書いておいて すっかり忘れていた alternativeマクロですがいい機会なので解説しましょう。 いつものように lxr.linux.no あたりからソースを引っ張ってきている。 linux/include/asm-i386/system.h より 288 /* 289 * Alternative instructions for different CPU types or capabilities. 290 * 291 * This allows to use optimized instructions even on generic binary 292 * kernels. 293 * 294 * length
再入不可能な関数を C で実装する 一度実行したら二度と中身を実行できなくなる再入不可能な関数を C で実装してみます。通常、このような関数はシングルトンなどの静的なデータの初期化に使いますが、ここではデータについては考えないことにします。 static 変数をフラグに使う まずは最も単純な方法から見ていきます。次の関数は static 変数をフラグに使って再入を防いでいます。厳密に言えば関数そのものには入ってしまっていますが、ここで気にしないことにします。 void once(void) { static int entered; // 最初は 0 if (entered == 1) { // すでに入ったことがある場合は return; // すぐ出る } entered = 1; // 初回の場合のみ、何かを実行する } この方法はシングルスレッドのプログラムではうまく動きますが、マ
Contents Optimization manuals Vector class library ForwardCom: An open standard instruction set for high performance microprocessors Test programs for measuring clock cycles in C++ and assembly code Object file converter and disassembler Assembly function library Floating point exception tracking and NaN propagation CPUID manipulation program Links My blog on optimization Optimization manuals This
作者ホームページサービス(hp.vector)は終了いたしました。 長らくのご利用、ありがとうございます。 ご不明な点があれば、お問い合わせページをご覧の上、お問い合わせください。 ※15秒後にトップページに戻ります。 (c) Vector HOLDINGS Inc.All Rights Reserved.
Introduction Jasmin is an assembler for the Java Virtual Machine. It takes ASCII descriptions of Java classes, written in a simple assembler-like syntax using the Java Virtual Machine instruction set. It converts them into binary Java class files, suitable for loading by a Java runtime system. Jasmin was originally created as a companion to the book "Java Virtual Machine", written by Jon Meyer and
GCCでインラインアセンブリを使用 する方法と留意点等 for x86 (1999〜2006年10回改訂、2006年1月22日注意を追加、最終更新日2006年5月27日) 文: A. SAITOH <s-akira at users.sourceforge.net> home ※システム名、CPU名は一般に開発会社の登録商標です。 以下の情報はあまり過度に信用しないで下さい。より正確な情報は、asやgccのinfoから得て下さい。 個々のプロセッサ命令の解説はここでは述べません。そのような技術資料は、インテルやAMDのウェブ サイトのdeveloper向けのページからpdf形式で入手できます。 以下の文及びプログラム例の運用結果に関して、筆者は一切責任を負いません。 参考文献 [0] D. Stancevic, K. Scheibler, J. Leto, Linux Assembly
GNU Cは、 ANSIの標準Cにはない特徴的な言語機能をいくつか提供しています (`-pedantic'オプションは、 これらの機能が使われた場合に 警告メッセージを出力するようGNU CCに対して指示するものです)。 条件コンパイルにおいて、 これらの機能が利用可能であるかどうかをテストするためには、 __GNUC__というマクロが事前に定義されているかどうかをチェックします。 この__GNUC__というマクロは、 GNU CCでは常に定義されています。 これらの拡張機能はCとObjective Cで利用可能です。 また、 そのほとんどはC++でも利用可能です。 C++にのみ適用可能な拡張機能については、 C++言語に対する拡張機能を参照してください。 式の中の文と宣言 GNU Cにおいては、 丸括弧()で囲まれた複文を1つの式とみなすことができます。 これによって、 1つの式の中でル
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く