#include #include "glib.h" int main (int argc, char *argv []) { guint8 buf [4096]; guint8 *code; int i; code = buf; arm_nop (code); arm_brx (code, ARMREG_R1); arm_blrx (code, ARMREG_R1); arm_retx (code, ARMREG_R1); arm_nop (code); arm_b (code, code + 4); arm_b (code, code); arm_b (code, code - 4); arm_bl (code, code + 4); arm_bl (code, code); arm_bl (code, code - 4); arm_nop (code); arm_bcc (code, ARMCOND_NE, code + 4); arm_bcc (code, ARMCOND_NE, code); arm_bcc (code, ARMCOND_NE, code - 4); arm_cbzx (code, ARMREG_R1, code + 4); arm_cbzx (code, ARMREG_R1, code); arm_cbzx (code, ARMREG_R1, code - 4); arm_cbzw (code, ARMREG_R1, code + 4); arm_cbzw (code, ARMREG_R1, code); arm_cbzw (code, ARMREG_R1, code - 4); arm_cbnzx (code, ARMREG_R1, code + 4); arm_cbnzx (code, ARMREG_R1, code); arm_cbnzx (code, ARMREG_R1, code - 4); arm_cbnzw (code, ARMREG_R1, code + 4); arm_cbnzw (code, ARMREG_R1, code); arm_cbnzw (code, ARMREG_R1, code - 4); arm_tbz (code, ARMREG_R1, 1, code + 4); arm_tbz (code, ARMREG_R1, 1, code); arm_tbz (code, ARMREG_R1, 1, code - 4); arm_tbz (code, ARMREG_R1, 33, code + 4); arm_tbz (code, ARMREG_R1, 33, code); arm_tbz (code, ARMREG_R1, 33, code - 4); arm_tbnz (code, ARMREG_R1, 1, code + 4); arm_tbnz (code, ARMREG_R1, 1, code); arm_tbnz (code, ARMREG_R1, 1, code - 4); arm_tbnz (code, ARMREG_R1, 33, code + 4); arm_tbnz (code, ARMREG_R1, 33, code); arm_tbnz (code, ARMREG_R1, 33, code - 4); arm_nop (code); arm_ldrx (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrx (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrw (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrw (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrb (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrb (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrh (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrh (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrsbx (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrsbx (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrsbw (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrsbw (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrshx (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrshx (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrshw (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrshw (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrswx (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrswx (code, ARMREG_R1, ARMREG_R2, 16); arm_strx (code, ARMREG_R1, ARMREG_R2, 0); arm_strx (code, ARMREG_R1, ARMREG_R2, 16); arm_strw (code, ARMREG_R1, ARMREG_R2, 0); arm_strw (code, ARMREG_R1, ARMREG_R2, 16); arm_strh (code, ARMREG_R1, ARMREG_R2, 0); arm_strh (code, ARMREG_R1, ARMREG_R2, 16); arm_strb (code, ARMREG_R1, ARMREG_R2, 0); arm_strb (code, ARMREG_R1, ARMREG_R2, 16); arm_nop (code); arm_ldrx_post (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrx_post (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrx_post (code, ARMREG_R1, ARMREG_R2, -16); arm_ldrw_post (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrw_post (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrw_post (code, ARMREG_R1, ARMREG_R2, -16); arm_strx_post (code, ARMREG_R1, ARMREG_R2, 0); arm_strx_post (code, ARMREG_R1, ARMREG_R2, 16); arm_strx_post (code, ARMREG_R1, ARMREG_R2, -16); arm_strw_post (code, ARMREG_R1, ARMREG_R2, 0); arm_strw_post (code, ARMREG_R1, ARMREG_R2, 16); arm_strw_post (code, ARMREG_R1, ARMREG_R2, -16); arm_nop (code); arm_ldrx_pre (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrx_pre (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrx_pre (code, ARMREG_R1, ARMREG_R2, -16); arm_ldrw_pre (code, ARMREG_R1, ARMREG_R2, 0); arm_ldrw_pre (code, ARMREG_R1, ARMREG_R2, 16); arm_ldrw_pre (code, ARMREG_R1, ARMREG_R2, -16); arm_strx_pre (code, ARMREG_R1, ARMREG_R2, 0); arm_strx_pre (code, ARMREG_R1, ARMREG_R2, 16); arm_strx_pre (code, ARMREG_R1, ARMREG_R2, -16); arm_strw_pre (code, ARMREG_R1, ARMREG_R2, 0); arm_strw_pre (code, ARMREG_R1, ARMREG_R2, 16); arm_strw_pre (code, ARMREG_R1, ARMREG_R2, -16); arm_nop (code); arm_ldrx_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ldrw_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ldrb_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ldrh_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ldrsbx_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ldrsbw_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ldrshx_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ldrshw_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ldrswx_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_strx_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_strw_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_strh_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_strb_reg (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_nop (code); arm_ldrx_lit (code, ARMREG_R1, code + 4); arm_ldrx_lit (code, ARMREG_R1, code); arm_ldrx_lit (code, ARMREG_R1, code - 4); arm_ldrw_lit (code, ARMREG_R1, code + 4); arm_ldrw_lit (code, ARMREG_R1, code); arm_ldrw_lit (code, ARMREG_R1, code - 4); arm_ldrswx_lit (code, ARMREG_R1, code + 4); arm_ldrswx_lit (code, ARMREG_R1, code); arm_ldrswx_lit (code, ARMREG_R1, code - 4); arm_nop (code); arm_ldpx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_ldpx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_ldpx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_ldpw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_ldpw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_ldpw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_ldpsw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_ldpsw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_ldpsw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_stpx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_stpx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_stpx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_stpw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_stpw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_stpw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_nop (code); arm_ldpx_pre (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_ldpx_pre (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_ldpx_pre (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_ldpw_pre (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_ldpw_pre (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_ldpw_pre (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_ldpsw_pre (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_ldpsw_pre (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_ldpsw_pre (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_nop (code); arm_ldpx_post (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_ldpx_post (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_ldpx_post (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_ldpw_post (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_ldpw_post (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_ldpw_post (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_ldpsw_post (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 0); arm_ldpsw_post (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_ldpsw_post (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, -16); arm_nop (code); arm_ldxrx (code, ARMREG_R1, ARMREG_R2); arm_ldxrw (code, ARMREG_R1, ARMREG_R2); arm_ldxrh (code, ARMREG_R1, ARMREG_R2); arm_ldxrb (code, ARMREG_R1, ARMREG_R2); arm_ldxpx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ldxpw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_stxrx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_stxrw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_stxrh (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_stxrb (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_stxpx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMREG_R4); arm_stxpw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMREG_R4); // fixme: immeditate tests arm_nop (code); arm_addx_imm (code, ARMREG_R1, ARMREG_R2, 16); arm_addw_imm (code, ARMREG_R1, ARMREG_R2, 16); arm_addsx_imm (code, ARMREG_R1, ARMREG_R2, 16); arm_addsw_imm (code, ARMREG_R1, ARMREG_R2, 16); arm_subx_imm (code, ARMREG_R1, ARMREG_R2, 16); arm_subw_imm (code, ARMREG_R1, ARMREG_R2, 16); arm_subsx_imm (code, ARMREG_R1, ARMREG_R2, 16); arm_subsw_imm (code, ARMREG_R1, ARMREG_R2, 16); arm_cmpx_imm (code, ARMREG_R1, 16); arm_cmpw_imm (code, ARMREG_R1, 16); arm_cmnx_imm (code, ARMREG_R1, 16); arm_cmnw_imm (code, ARMREG_R1, 16); #if 0 // fixme: bitmasks // fixme: bitmask tests arm_nop (code); arm_andx_imm (code, ARMREG_R1, ARMREG_R2, 1); arm_andw_imm (code, ARMREG_R1, ARMREG_R2, 1); arm_andsx_imm (code, ARMREG_R1, ARMREG_R2, 1); arm_andsw_imm (code, ARMREG_R1, ARMREG_R2, 1); arm_eorx_imm (code, ARMREG_R1, ARMREG_R2, 1); arm_eorw_imm (code, ARMREG_R1, ARMREG_R2, 1); arm_orrx_imm (code, ARMREG_R1, ARMREG_R2, 1); arm_orrw_imm (code, ARMREG_R1, ARMREG_R2, 1); arm_tstx_imm (code, ARMREG_R1, 1); arm_tstw_imm (code, ARMREG_R1, 1); #endif arm_nop (code); arm_movzx (code, ARMREG_R1, 16, 0); arm_movzx (code, ARMREG_R1, 16, 16); arm_movzx (code, ARMREG_R1, 16, 32); arm_movzx (code, ARMREG_R1, 16, 48); arm_movzw (code, ARMREG_R1, 16, 0); arm_movzw (code, ARMREG_R1, 16, 16); arm_movzw (code, ARMREG_R1, 16, 32); arm_movzw (code, ARMREG_R1, 16, 48); arm_movnx (code, ARMREG_R1, 16, 0); arm_movnx (code, ARMREG_R1, 16, 16); arm_movnx (code, ARMREG_R1, 16, 32); arm_movnx (code, ARMREG_R1, 16, 48); arm_movnw (code, ARMREG_R1, 16, 0); arm_movnw (code, ARMREG_R1, 16, 16); arm_movnw (code, ARMREG_R1, 16, 32); arm_movnw (code, ARMREG_R1, 16, 48); arm_movkx (code, ARMREG_R1, 16, 0); arm_movkx (code, ARMREG_R1, 16, 16); arm_movkx (code, ARMREG_R1, 16, 32); arm_movkx (code, ARMREG_R1, 16, 48); arm_movkw (code, ARMREG_R1, 16, 0); arm_movkw (code, ARMREG_R1, 16, 16); arm_movkw (code, ARMREG_R1, 16, 32); arm_movkw (code, ARMREG_R1, 16, 48); arm_nop (code); arm_adrpx (code, ARMREG_R1, code); arm_adrx (code, ARMREG_R1, code + 4); arm_adrx (code, ARMREG_R1, code + 16); arm_adrx (code, ARMREG_R1, code); arm_adrx (code, ARMREG_R1, code - 4); // fixme: bitfield encodings arm_nop (code); arm_bfmx (code, ARMREG_R1, ARMREG_R2, 0, 5); arm_bfmw (code, ARMREG_R1, ARMREG_R2, 0, 5); arm_sbfmx (code, ARMREG_R1, ARMREG_R2, 0, 5); arm_sbfmw (code, ARMREG_R1, ARMREG_R2, 0, 5); arm_ubfmx (code, ARMREG_R1, ARMREG_R2, 0, 5); arm_ubfmw (code, ARMREG_R1, ARMREG_R2, 0, 5); arm_asrx (code, ARMREG_R1, ARMREG_R2, 11); arm_asrw (code, ARMREG_R1, ARMREG_R2, 11); arm_sxtbx (code, ARMREG_R1, ARMREG_R2); arm_sxtbw (code, ARMREG_R1, ARMREG_R2); arm_sxthx (code, ARMREG_R1, ARMREG_R2); arm_sxthw (code, ARMREG_R1, ARMREG_R2); arm_sxtwx (code, ARMREG_R1, ARMREG_R2); arm_uxtbw (code, ARMREG_R1, ARMREG_R2); arm_uxthw (code, ARMREG_R1, ARMREG_R2); arm_lslx (code, ARMREG_R1, ARMREG_R2, 16); arm_lslw (code, ARMREG_R1, ARMREG_R2, 16); arm_lsrx (code, ARMREG_R1, ARMREG_R2, 16); arm_lsrw (code, ARMREG_R1, ARMREG_R2, 16); arm_extrx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_extrw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, 16); arm_rorx (code, ARMREG_R1, ARMREG_R2, 16); arm_rorw (code, ARMREG_R1, ARMREG_R2, 16); arm_nop (code); arm_adcx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_adcw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_adcsx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_adcsw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_sbcx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_sbcw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_sbcsx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_sbcsw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_ngcx (code, ARMREG_R1, ARMREG_R2); arm_ngcw (code, ARMREG_R1, ARMREG_R2); arm_ngcsx (code, ARMREG_R1, ARMREG_R2); arm_ngcsw (code, ARMREG_R1, ARMREG_R2); arm_nop (code); arm_addx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_addx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSR, 4); arm_addx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_ASR, 4); arm_addw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_ASR, 4); arm_addsx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_ASR, 4); arm_addsw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_ASR, 4); arm_subx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_ASR, 4); arm_subw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_ASR, 4); arm_subsx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_ASR, 4); arm_subsw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_ASR, 4); arm_cmpx_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_ASR, 4); arm_cmpw_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_ASR, 4); arm_cmnx_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_ASR, 4); arm_cmnw_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_ASR, 4); arm_negx_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_ASR, 4); arm_negw_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_ASR, 4); arm_negsx_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_ASR, 4); arm_negsw_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_ASR, 4); arm_nop (code); arm_andx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_andw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_andsx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_andsw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_bicx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_bicw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_bicsx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_bicsw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_eonx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_eonw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_eorx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_eorw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_orrx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_orrw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_ornx_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_ornw_shift (code, ARMREG_R1, ARMREG_R2, ARMREG_R3, ARMSHIFT_LSL, 4); arm_mvnx_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_LSL, 4); arm_mvnw_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_LSL, 4); arm_tstx_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_LSL, 4); arm_tstw_shift (code, ARMREG_R1, ARMREG_R2, ARMSHIFT_LSL, 4); arm_nop (code); arm_movx (code, ARMREG_R1, ARMREG_R2); arm_movw (code, ARMREG_R1, ARMREG_R2); arm_nop (code); arm_asrvx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_asrvw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_lslvx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_lslvw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_lsrvx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_lsrvw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_rorvx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_rorvw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_nop (code); arm_sdivx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_sdivw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_udivx (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_udivw (code, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_nop (code); arm_cselx (code, ARMCOND_NE, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_cselw (code, ARMCOND_NE, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_csincx (code, ARMCOND_NE, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_csincw (code, ARMCOND_NE, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_csinvx (code, ARMCOND_NE, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_csinvw (code, ARMCOND_NE, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_csnegx (code, ARMCOND_NE, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_csnegw (code, ARMCOND_NE, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_brk (code, 0x1); arm_maddx (code, ARMREG_R0, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_maddw (code, ARMREG_R0, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_msubx (code, ARMREG_R0, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_msubw (code, ARMREG_R0, ARMREG_R1, ARMREG_R2, ARMREG_R3); arm_mnegx (code, ARMREG_R0, ARMREG_R1, ARMREG_R2); arm_mnegw (code, ARMREG_R0, ARMREG_R1, ARMREG_R2); arm_nop (code); arm_fmovd (code, ARMREG_D1, ARMREG_D2); arm_fmov_rx_to_double (code, ARMREG_D1, ARMREG_R2); arm_strfpx (code, ARMREG_D1, ARMREG_R2, 16); arm_ldrfpx (code, ARMREG_D1, ARMREG_R2, 16); arm_strfpw (code, ARMREG_D1, ARMREG_R2, 16); arm_ldrfpw (code, ARMREG_D1, ARMREG_R2, 16); arm_fcmpd (code, ARMREG_D1, ARMREG_D2); arm_fcvtzs_dx (code, ARMREG_R1, ARMREG_D2); arm_fcvtzs_dw (code, ARMREG_R1, ARMREG_D2); arm_fcvtzu_dx (code, ARMREG_R1, ARMREG_D2); arm_fcvtzu_dw (code, ARMREG_R1, ARMREG_D2); arm_fcvt_sd (code, ARMREG_D1, ARMREG_D2); arm_fcvt_ds (code, ARMREG_D1, ARMREG_D2); arm_scvtf_d (code, ARMREG_D1, ARMREG_D2); arm_scvtf_s (code, ARMREG_D1, ARMREG_D2); arm_scvtf_rx_to_d (code, ARMREG_D1, ARMREG_R2); arm_scvtf_rw_to_d (code, ARMREG_D1, ARMREG_R2); arm_ucvtf_d (code, ARMREG_D1, ARMREG_D2); arm_ucvtf_s (code, ARMREG_D1, ARMREG_D2); arm_ucvtf_rx_to_d (code, ARMREG_D1, ARMREG_R2); arm_ucvtf_rw_to_d (code, ARMREG_D1, ARMREG_R2); arm_fadd_d (code, ARMREG_D1, ARMREG_D2, ARMREG_D3); arm_fsub_d (code, ARMREG_D1, ARMREG_D2, ARMREG_D3); arm_fmul_d (code, ARMREG_D1, ARMREG_D2, ARMREG_D3); arm_fdiv_d (code, ARMREG_D1, ARMREG_D2, ARMREG_D3); arm_fmsub_d (code, ARMREG_D1, ARMREG_D2, ARMREG_D3, ARMREG_D4); arm_fneg_d (code, ARMREG_D1, ARMREG_D2); arm_fabs_d (code, ARMREG_D1, ARMREG_D2); arm_nop (code); arm_dmb (code, 0x0); arm_dmb (code, 0xd); arm_nop (code); arm_mrs (code, ARMREG_R1, ARM_MRS_REG_TPIDR_EL0); arm_nop (code); arm_ldaxrx (code, ARMREG_R0, ARMREG_R1); arm_ldaxrw (code, ARMREG_R0, ARMREG_R1); arm_stlxrx (code, ARMREG_R0, ARMREG_R1, ARMREG_R2); arm_stlxrw (code, ARMREG_R0, ARMREG_R1, ARMREG_R2); for (i = 0; i < code - buf; ++i) printf (".byte %d\n", buf [i]); printf ("\n"); return 0; }