FT32: define macros for instruction recognition.

Other places (e.g. the gdb stack unwinder) can use these instead of
hard-coded patterns.

[include/Changelog]

2015-09-26  James Bowman  <james.bowman@ftdichip.com>

	* opcode/ft32.h: Add instruction macros FT32_*()
This commit is contained in:
jamesbowman 2015-09-28 11:22:06 -07:00
parent b08b78e7d4
commit 71f4ed30fe
2 changed files with 10 additions and 0 deletions

View file

@ -1,3 +1,7 @@
2015-09-26 James Bowman <james.bowman@ftdichip.com>
* opcode/ft32.h: Add instruction macros FT32_*()
2015-09-20 Rich Felker <dalias@libc.org>
* bfdlink.h (struct bfd_link_info): Add "nointerp" field.

View file

@ -96,5 +96,11 @@ typedef struct ft32_opc_info_t
#define FT32_FLD_AL_BIT 0
#define FT32_FLD_AL_SIZ 4
#define FT32_IS_CALL(inst) (((inst) & 0xfffc0000) == 0x00340000)
#define FT32_IS_PUSH(inst) (((inst) & 0xfff00000) == 0x84000000)
#define FT32_PUSH_REG(inst) (((inst) >> 15) & 0x1f)
#define FT32_IS_LINK(inst) (((inst) & 0xffff0000) == 0x95d00000)
#define FT32_LINK_SIZE(inst) ((inst) & 0xffff)
#define FT32_FLD_R_D_POST (1 << 17)
#define FT32_FLD_R_1_POST (1 << 18)