Home | History | Annotate | Download | only in opcodes

Lines Matching refs:given

3297 arm_decode_shift (long given, fprintf_ftype func, void *stream,
3300 func (stream, "%s", arm_regnames[given & 0xf]);
3302 if ((given & 0xff0) != 0)
3304 if ((given & 0x10) == 0)
3306 int amount = (given & 0xf80) >> 7;
3307 int shift = (given & 0x60) >> 5;
3325 else if ((given & 0x80) == 0x80)
3328 func (stream, ", %s %s", arm_shift[(given & 0x60) >> 5],
3329 arm_regnames[(given & 0xf00) >> 8]);
3331 func (stream, ", %s", arm_regnames[(given & 0xf00) >> 8]);
3340 #define WRITEBACK_BIT_SET (given & (1 << W_BIT))
3341 #define IMMEDIATE_BIT_SET (given & (1 << I_BIT))
3342 #define NEGATIVE_BIT_SET ((given & (1 << U_BIT)) == 0)
3343 #define PRE_BIT_SET (given & (1 << P_BIT))
3352 long given,
3400 cp_num = (given >> 8) & 0xf;
3418 if ((given & 0xf0000000) == 0xf0000000)
3425 cond = (given >> 28) & 0xf;
3431 if ((given & mask) != value)
3469 int rn = (given >> 16) & 0xf;
3470 bfd_vma offset = given & 0xff;
3472 func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
3535 int regno = ((given >> 12) & 0xf) | ((given >> (22 - 4)) & 0x10);
3536 int offset = (given >> 1) & 0x3f;
3567 imm = (given & 0xf) | ((given & 0xe0) >> 1);
3579 switch (given & 0x00408000)
3596 switch (given & 0x00080080)
3614 switch (given & 0x00408000)
3632 switch (given & 0x60)
3653 c = arm_decode_bitfield (c, given, &value, &width);
3718 int from = (given & (1 << 7)) ? 32 : 16;
3802 regno = given & 0x0000000f;
3806 regno += (given >> 5) & 1;
3809 regno += ((given >> 5) & 1) << 4;
3813 regno = (given >> 12) & 0x0000000f;
3817 regno += (given >> 22) & 1;
3820 regno += ((given >> 22) & 1) << 4;
3824 regno = (given >> 16) & 0x0000000f;
3828 regno += (given >> 7) & 1;
3831 regno += ((given >> 7) & 1) << 4;
3836 regno = (given >> 12) & 0x0000000f;
3840 regno += (given >> 22) & 1;
3843 regno += ((given >> 22) & 1) << 4;
3854 int count = given & 0xff;
3875 switch (given & 0x00400100)
3888 /* given (20, 23) | given (0, 3) */
3889 value = ((given >> 16) & 0xf0) | (given & 0xf);
3899 int offset = given & 0xff;
3900 int multiplier = (given & 0x00000100) ? 4 : 1;
3902 func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
3930 int imm4 = (given >> 4) & 0xf;
3931 int puw_bits = ((given >> 22) & 6) | ((given >> W_BIT) & 1);
3933 const char *rm = arm_regnames [given & 0xf];
3934 const char *rn = arm_regnames [(given >> 16) & 0xf];
3966 imm5 = ((given & 0x100) >> 4) | (given & 0xf);
3997 print_arm_address (bfd_vma pc, struct disassemble_info *info, long given)
4003 if (((given & 0x000f0000) == 0x000f0000)
4004 && ((given & 0x02000000) == 0))
4006 offset = given & 0xfff;
4043 arm_regnames[(given >> 16) & 0xf]);
4047 if ((given & 0x02000000) == 0)
4050 offset = given & 0xfff;
4057 arm_decode_shift (given, func, stream, TRUE);
4065 if ((given & 0x02000000) == 0)
4068 offset = given & 0xfff;
4076 arm_decode_shift (given, func, stream, TRUE);
4091 print_insn_neon (struct disassemble_info *info, long given, bfd_boolean thumb)
4099 if ((given & 0xef000000) == 0xef000000)
4102 unsigned long bit28 = given & (1 << 28);
4104 given &= 0x00ffffff;
4106 given |= 0xf3000000;
4108 given |= 0xf2000000;
4110 else if ((given & 0xff000000) == 0xf9000000)
4111 given ^= 0xf9000000 ^ 0xf4000000;
4118 if ((given & insn->mask) == insn->value)
4160 int rd = ((given >> 12) & 0xf) | (((given >> 22) & 1) << 4);
4161 int rn = ((given >> 16) & 0xf);
4162 int rm = ((given >> 0) & 0xf);
4163 int align = ((given >> 4) & 0x3);
4164 int type = ((given >> 8) & 0xf);
4190 int rd = ((given >> 12) & 0xf) | (((given >> 22) & 1) << 4);
4191 int rn = ((given >> 16) & 0xf);
4192 int rm = ((given >> 0) & 0xf);
4193 int idx_align = ((given >> 4) & 0xf);
4195 int size = ((given >> 10) & 0x3);
4197 int length = ((given >> 8) & 3) + 1;
4265 int rd = ((given >> 12) & 0xf) | (((given >> 22) & 1) << 4);
4266 int rn = ((given >> 16) & 0xf);
4267 int rm = ((given >> 0) & 0xf);
4268 int align = ((given >> 4) & 0x1);
4269 int size = ((given >> 6) & 0x3);
4270 int type = ((given >> 8) & 0x3);
4272 int stride = ((given >> 5) & 0x1);
4309 int raw_reg = (given & 0xf) | ((given >> 1) & 0x10);
4310 int size = (given >> 20) & 3;
4322 int cmode = (given >> 8) & 0xf;
4323 int op = (given >> 5) & 0x1;
4329 bits |= ((given >> 24) & 1) << 7;
4330 bits |= ((given >> 16) & 7) << 4;
4331 bits |= ((given >> 0) & 15) << 0;
4447 int regno = ((given >> 16) & 0xf) | ((given >> (7 - 4)) & 0x10);
4448 int num = (given >> 8) & 0x3;
4466 c = arm_decode_bitfield (c, given, &value, &width);
4507 if (given & (1 << 6))
4632 print_insn_arm (bfd_vma pc, struct disassemble_info *info, long given)
4639 if (print_insn_coprocessor (pc, info, given, FALSE))
4642 if (print_insn_neon (info, given, FALSE))
4647 if ((given & insn->mask) != insn->value)
4656 if ((given & 0xF0000000) != 0xF0000000
4679 value_in_comment = print_arm_address (pc, info, given);
4685 value_in_comment = print_arm_address (pc, info, given | (1 << P_BIT));
4691 if ((given & 0x004f0000) == 0x004f0000)
4694 bfd_vma offset = ((given & 0xf00) >> 4) | (given & 0xf);
4719 int offset = ((given & 0xf00) >> 4) | (given & 0xf);
4722 arm_regnames[(given >> 16) & 0xf]);
4745 arm_regnames[given & 0xf]);
4751 && ((given & 0xf) == ((given >> 12) & 0xf)))
4775 arm_regnames[given & 0xf]);
4780 && (given & 0xf) == ((given >> 12) & 0xf))
4792 || (! IMMEDIATE_BIT_SET && ((given & 0xf) == 0xf)))
4801 bfd_vma disp = (((given & 0xffffff) ^ 0x800000) - 0x800000);
4807 if (((given >> 28) & 0xf) != 0xe)
4809 arm_conditional [(given >> 28) & 0xf]);
4819 if ((given & (1 << reg)) != 0)
4833 arm_decode_shift (given, func, stream, FALSE);
4837 if ((given & 0x02000000) != 0)
4839 unsigned int rotate = (given & 0xf00) >> 7;
4840 unsigned int immed = (given & 0xff);
4858 arm_decode_shift (given, func, stream, TRUE);
4862 if ((given & 0x0000f000) == 0x0000f000)
4879 if ((given & 0x01200000) == 0x00200000)
4885 int offset = given & 0xff;
4891 func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
4931 offset += given & 0x00ffffff;
4935 if (given & 0x01000000)
4944 if ((given & 0x02000200) == 0x200)
4947 unsigned sysm = (given & 0x004f0000) >> 16;
4949 sysm |= (given & 0x300) >> 4;
4960 (given & 0x00400000) ? 'S' : 'C');
4961 if (given & 0x80000)
4963 if (given & 0x40000)
4965 if (given & 0x20000)
4967 if (given & 0x10000)
4973 if ((given & 0xf0) == 0x60)
4975 switch (given & 0xf)
4979 func (stream, "#%d", (int) given & 0xf);
4985 const char * opt = data_barrier_option (given & 0xf);
4989 func (stream, "#%d", (int) given & 0xf);
4999 c = arm_decode_bitfield (c, given, &value, &width);
5050 if ((given & 0x0fffffff) == 0x0FF00000)
5052 else if ((given & 0x0fffffff) == 0x0FF00001)
5082 imm = (given & 0xf) | ((given & 0xfff00) >> 4);
5092 long msb = (given & 0x001f0000) >> 16;
5093 long lsb = (given & 0x00000f80) >> 7;
5107 unsigned sysm = (given & 0x004f0000) >> 16;
5109 sysm |= (given & 0x300) >> 4;
5123 long hi = (given & 0x000f0000) >> 4;
5124 long lo = (given & 0x00000fff);
5156 print_insn_thumb16 (bfd_vma pc, struct disassemble_info *info, long given)
5163 if ((given & insn->mask) == insn->value)
5201 ifthen_next_state = given & 0xff;
5202 for (tmp = given << 1; tmp & 0xf; tmp <<= 1)
5203 func (stream, ((given ^ tmp) & 0x10) ? "e" : "t");
5204 func (stream, "\t%s", arm_conditional[(given >> 4) & 0xf]);
5223 reg = (given >> 3) & 0x7;
5224 if (given & (1 << 6))
5235 reg = given & 0x7;
5236 if (given & (1 << 7))
5244 if (given & (1 << 8))
5248 if (*c == 'O' && (given & (1 << 8)))
5261 if ((given & (1 << reg)) != 0)
5292 if ((given & (1 << ((given & 0x0700) >> 8))) == 0)
5300 + ((given & 0x00f8) >> 2)
5301 + ((given & 0x0200) >> 3));
5310 long imm = (given & 0x07c0) >> 6;
5337 reg = given >> bitstart;
5392 if ((given & (1 << bitstart)) != 0)
5398 if ((given & (1 << bitstart)) != 0)
5454 print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given)
5460 if (print_insn_coprocessor (pc, info, given, TRUE))
5463 if (print_insn_neon (info, given, TRUE))
5467 if ((given & insn->mask) == insn->value)
5507 imm12 |= (given & 0x000000ffu);
5508 imm12 |= (given & 0x00007000u) >> 4;
5509 imm12 |= (given & 0x04000000u) >> 15;
5519 bits |= (given & 0x000000ffu);
5520 bits |= (given & 0x00007000u) >> 4;
5521 bits |= (given & 0x04000000u) >> 15;
5544 imm |= (given & 0x000000ffu);
5545 imm |= (given & 0x00007000u) >> 4;
5546 imm |= (given & 0x04000000u) >> 15;
5547 imm |= (given & 0x000f0000u) >> 4;
5557 imm |= (given & 0x000f0000u) >> 16;
5558 imm |= (given & 0x00000ff0u) >> 0;
5559 imm |= (given & 0x0000000fu) << 12;
5569 imm |= (given & 0x000f0000u) >> 4;
5570 imm |= (given & 0x00000fffu) >> 0;
5580 imm |= (given & 0x00000fffu);
5581 imm |= (given & 0x000f0000u) >> 4;
5589 unsigned int reg = (given & 0x0000000fu);
5590 unsigned int stp = (given & 0x00000030u) >> 4;
5592 imm |= (given & 0x000000c0u) >> 6;
5593 imm |= (given & 0x00007000u) >> 10;
5626 unsigned int Rn = (given & 0x000f0000) >> 16;
5628 unsigned int op = (given & 0x00000f00) >> 8;
5629 unsigned int i12 = (given & 0x00000fff);
5630 unsigned int i8 = (given & 0x000000ff);
5711 unsigned int Rn = (given & 0x000f0000) >> 16;
5712 unsigned int off = (given & 0x000000ff);
5746 unsigned int Sbit = (given & 0x01000000) >> 24;
5747 unsigned int type = (given & 0x00600000) >> 21;
5771 if ((given & (1 << reg)) != 0)
5784 unsigned int msb = (given & 0x0000001f);
5787 lsb |= (given & 0x000000c0u) >> 6;
5788 lsb |= (given & 0x00007000u) >> 10;
5795 unsigned int width = (given & 0x0000001f) + 1;
5798 lsb |= (given & 0x000000c0u) >> 6;
5799 lsb |= (given & 0x00007000u) >> 10;
5806 unsigned int S = (given & 0x04000000u) >> 26;
5807 unsigned int J1 = (given & 0x00002000u) >> 13;
5808 unsigned int J2 = (given & 0x00000800u) >> 11;
5814 offset |= (given & 0x003f0000) >> 4;
5815 offset |= (given & 0x000007ff) << 1;
5824 unsigned int S = (given & 0x04000000u) >> 26;
5825 unsigned int I1 = (given & 0x00002000u) >> 13;
5826 unsigned int I2 = (given & 0x00000800u) >> 11;
5832 offset |= (given & 0x03ff0000u) >> 4;
5833 offset |= (given & 0x000007ffu) << 1;
5838 if ((given & 0x00001000u) == 0)
5849 shift |= (given & 0x000000c0u) >> 6;
5850 shift |= (given & 0x00007000u) >> 10;
5861 unsigned int rot = (given & 0x00000030) >> 4;
5869 if ((given & 0xf0) == 0x60)
5871 switch (given & 0xf)
5875 func (stream, "#%d", (int) given & 0xf);
5881 const char * opt = data_barrier_option (given & 0xf);
5885 func (stream, "#%d", (int) given & 0xf);
5890 if ((given & 0xff) == 0)
5892 func (stream, "%cPSR_", (given & 0x100000) ? 'S' : 'C');
5893 if (given & 0x800)
5895 if (given & 0x400)
5897 if (given & 0x200)
5899 if (given & 0x100)
5902 else if ((given & 0x20) == 0x20)
5905 unsigned sysm = (given & 0xf00) >> 8;
5907 sysm |= (given & 0x30);
5908 sysm |= (given & 0x00100000) >> 14;
5918 func (stream, "%s", psr_name (given & 0xff));
5923 if (((given & 0xff) == 0)
5924 || ((given & 0x20) == 0x20))
5927 unsigned sm = (given & 0xf0000) >> 16;
5929 sm |= (given & 0x30);
5930 sm |= (given & 0x00100000) >> 14;
5939 func (stream, "%s", psr_name (given & 0xff));
5948 c = arm_decode_bitfield (c, given, &val, &width);
6014 if (((given >> 16) & 0xf) == 0xf)
6016 bfd_vma offset = (given & 0xff) * 4;
6018 if ((given & (1 << 23)) == 0)
6048 long given)
6053 info->fprintf_func (info->stream, ".byte\t0x%02lx", given);
6056 info->fprintf_func (info->stream, ".short\t0x%04lx", given);
6059 info->fprintf_func (info->stream, ".word\t0x%08lx", given);
6368 /* Given a bfd_mach_arm_XXX value, this function fills in the fields
6423 long given;
6693 given = 0;
6696 given = b[i] | (given << 8);
6699 given = b[i] | (given << 8);
6711 given = (b[0]) | (b[1] << 8) | (b[2] << 16) | (b[3] << 24);
6713 given = (b[3]) | (b[2] << 8) | (b[1] << 16) | (b[0] << 24);
6727 given = (b[0]) | (b[1] << 8);
6729 given = (b[1]) | (b[0] << 8);
6735 if ((given & 0xF800) == 0xF800
6736 || (given & 0xF800) == 0xF000
6737 || (given & 0xF800) == 0xE800)
6741 given = (b[0]) | (b[1] << 8) | (given << 16);
6743 given = (b[1]) | (b[0] << 8) | (given << 16);
6776 printer (pc, info, given);