| [ < ] | [ > ] | [ << ] | [ 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.