Home | History | Annotate | Download | only in config

Lines Matching defs:iif

29 #define IIF_ENTRIES 13		/* Number of entries in iif.  */
36 #define IIF(ptr,a1,c1,e1,g1,i1,k1,m1,o1,q1,s1,u1) \
37 iif.iifP[ptr].type = a1; \
38 iif.iifP[ptr].size = c1; \
39 iif.iifP[ptr].object = e1; \
40 iif.iifP[ptr].object_adjust = g1; \
41 iif.iifP[ptr].pcrel = i1; \
42 iif.iifP[ptr].pcrel_adjust = k1; \
43 iif.iifP[ptr].im_disp = m1; \
44 iif.iifP[ptr].relax_substate = o1; \
45 iif.iifP[ptr].bit_fixP = q1; \
46 iif.iifP[ptr].addr_mode = s1; \
47 iif.iifP[ptr].bsr = u1;
95 /* UPPERCASE denotes live names when an instruction is built, IIF is
99 appropriate PART get an assignment. When an IIF has been completed
123 iif-entry. */
133 struct int_ins_form iif;
137 /* Description of the PARTs in IIF
139 0 total length in bytes of entries in iif
899 /* Convert operands to iif-format and adds bitfields to the opcode.
903 Be careful not to put to objects in the same iif-slot. */
959 IIF (j,
965 iif.instr_size,
976 iif.iifP[1].object |= ((long) addr_modeP.mode) << opcode_bit_ptr;
981 IIF (j, 1, 1, (unsigned long) addr_modeP.index_byte,
997 iif.instr_size += suffixP[i] ? suffixP[i] : 4;
998 IIF (12, 2, suffixP[i], (unsigned long) argv[i], 0,
1004 iif.instr_size += suffixP[i] ? suffixP[i] : 4;
1005 IIF (12, 2, suffixP[i], (unsigned long) argv[i], 0,
1010 IIF (11, 2, 42, (unsigned long) argv[i], 0, 0, 0, 0, 0,
1016 iif.iifP[1].object |= tmp << opcode_bit_ptr;
1021 iif.iifP[1].object |= tmp << 15;
1026 iif.iifP[1].object |= tmp << 15; /* Insert the regtype in opcode. */
1031 iif.iifP[1].object |= tmp << 15;
1035 IIF (10, 1, 1, 0, 0, 0, 0, 0, 0, NULL, -1, 0);
1039 optlist (argv[i], opt1, &iif.iifP[10].object);
1042 optlist (argv[i], opt2, &iif.iifP[10].object);
1045 iif.instr_size += 1;
1050 iif.iifP[1].object |= tmp << opcode_bit_ptr;
1055 iif.iifP[1].object |= tmp << opcode_bit_ptr;
1058 iif.instr_size += 1; /* 1 byte is allocated after the opcode. */
1059 IIF (10, 2, 1,
1067 IIF (11, 2, 42,
1073 iif.instr_size += 1;
1075 IIF (b, 2, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0);
1089 /* Build iif of one assembly text line. */
1234 iif.iifP[i].type = 0;
1236 /* Build opcode iif-entry. */
1237 iif.instr_size = desc->opcode_size / 8;
1238 IIF (1, 1, iif.instr_size, desc->opcode_seed, 0, 0, 0, 0, 0, 0, -1, 0);
1240 /* This call encodes operands to iif format. */
1596 /* Convert iif to fragments. From this point we start to dribble with
1598 possible to make an iif for an other CPU, you don't need to know
1601 cpu-instruction to iif-format (takes some work) and adopt the other
1602 md_? parts according to given instructions Note that iif was
1634 frag_grow (iif.instr_size); /* This is important. */
1642 if ((type = iif.iifP[i].type))
1645 switch (size = iif.iifP[i].size)
1650 if (iif.iifP[i].bit_fixP->fx_bit_base)
1652 iif.iifP[i].bit_fixP->fx_bit_base = (long) inst_opcode;
1662 j = iif.iifP[i].bit_fixP;
1670 else if (iif.iifP[i].pcrel)
1675 iif.iifP[i].object,
1676 iif.iifP[i].pcrel,
1677 iif.iifP[i].im_disp,
1679 iif.iifP[i].bsr, /* Sequent hack. */
1684 switch (iif.iifP[i].im_disp)
1687 md_number_to_chars (memP, iif.iifP[i].object, size);
1690 md_number_to_disp (memP, iif.iifP[i].object, size);
1693 as_fatal (_("iif convert internal pcrel/binary"));
1702 evaluate_expr (&exprP, (char *) iif.iifP[i].object);
1757 iif.iifP[i].pcrel)
1762 exprP.X_add_number += iif.iifP[i].object_adjust;
1767 iif.iifP[i].pcrel,
1768 iif.iifP[i].im_disp,
1770 iif.iifP[i].bsr,
1778 switch (iif.iifP[i].im_disp)
1787 as_fatal (_("iif convert internal pcrel/pointer"));
1792 as_fatal (_("Internal logic error in iif.iifP[n].type"));
1803 evaluate_expr (&exprP, (char *) iif.iifP[i].object);
1806 !iif.iifP[i].pcrel)
1815 0, /* never iif.iifP[i].pcrel, */
1816 1, /* always iif.iifP[i].im_disp */
1848 frag_bsr (old_frag) = iif.iifP[i].bsr;
1882 as_fatal (_("Internal logic error in iif.iifP[].type"));
1893 parse (line, 0); /* Explode line to more fix form in iif. */
1894 convert_iif (); /* Convert iif to frags, fix's etc. */