*参照元 [#n3db783b] *参照元 [#m6c2c2b1] #backlinks *説明 [#h67992a0] -パス: [[gcc-8.3/gcc/(build_dir)/insn-output.c]] *説明 [#c6daf7dd] -パス: 複数あり --riscv 版: [[gcc-8.3/gcc/insn_data(global)(riscv)]] -FIXME: これは何? --説明 -md ファイルから自動生成される struct insn_data_d 型の巨大な配列 --[[gcc-8.3/gcc/insn_data_d]] **参考 [#yb83bc1a] **参考 [#w37dd2db] -オペランドの定義 --[[gcc-8.3/gcc/operand_data(global)]] *実装 [#u1218565] -各アーキテクチャのページを参照してください。 *実装 [#xe450cea] *コメント [#hd842d39] RISC-V 向けにビルドしたとき。 const struct insn_data_d insn_data[] = { /* <internal>:0 */ { "*placeholder_for_nothing", #if HAVE_DESIGNATED_UNION_INITIALIZERS { 0 }, #else { 0, 0, 0 }, #endif { 0 }, &operand_data[0], 0, 0, 0, 0, 0 }, /* /home/katsuhiro/share/projects/oss/crosstool-builder-new/./gcc/gcc/config/riscv/riscv.md:403 */ { "addsf3", #if HAVE_DESIGNATED_UNION_INITIALIZERS { .single = #else { #endif "fadd.s\t%0,%1,%2", #if HAVE_DESIGNATED_UNION_INITIALIZERS }, #else 0, 0 }, #endif { (insn_gen_fn::stored_funcptr) gen_addsf3 }, &operand_data[1], 3, 3, 0, 1, 1 }, //... /* /home/katsuhiro/share/projects/oss/crosstool-builder-new/./gcc/gcc/config/riscv/riscv.md:412 */ { "addsi3", #if HAVE_DESIGNATED_UNION_INITIALIZERS { .function = output_3 }, #else { 0, 0, output_3 }, #endif { (insn_gen_fn::stored_funcptr) gen_addsi3 }, &operand_data[7], 3, 3, 0, 2, 3 }, // この後もずっと続く... *コメント [#c25d1169]