[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
define_insn
の例 以下は、命令パターンの実例である。68000/68020 向けである。
(define_insn "tstsi" [(set (cc0) (match_operand:SI 0 "general_operand" "rm"))] "" "* { if (TARGET_68020 || ! ADDRESS_REG_P (operands[0])) return \"tstl %0\"; return \"cmpl #0,%0\"; }") |
これは、汎用レジスタの値に基づいて条件コードをセットする命令である。
条件の指定がないので、RTL 記述が指定された形を持つ任意の命令が、
このパターンに従って扱われる。‘tstsi’ という名前は、
“test a SImode
value”(SImode
の値をテストする)という
意味で、RTL 生成パスに対して、SImode
の値をテストする必要が
あるときは、それを行う命令はこのパターンを使って構成せよということを
指示する。
出力制御文字列は、C コードの断片であり、どの出力テンプレートを 返すかを、オペランドの種類とコードを生成しようとしている CPU の 特定の型に基づいて選択する。
‘"rm"’ は、オペランド制約(constraint)である。この意味は以下で説明する。
This document was generated
using texi2html 1.78.