hppa.pat.cpp File Reference

#include <assert.h>
#include "global.h"
#include "decoder.h"
#include "hppa.pat.h"
#include "ss.h"
#include "csr.h"

Go to the source code of this file.

Defines

#define sign_extend(N, SIZE)   (((int)((N) << (sizeof(unsigned)*8-(SIZE)))) >> (sizeof(unsigned)*8-(SIZE)))
#define VAL   false
#define VAR   true

Functions

bool InstructionPatterns::BL $c_br_nnull (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
bool InstructionPatterns::BL $c_br_null (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR)
bool InstructionPatterns::c_arith_w $c_c_nonneg (ADDRESS &lc, int &a, bool a_isVAR)
bool InstructionPatterns::OR
$c_arith_w 
$c_c_nonneg (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
bool InstructionPatterns::l_addr_16_old $c_l_addr_none (ADDRESS &lc, int &a, bool a_isVAR)
bool InstructionPatterns::LDW
$l_addr_16_old 
$c_l_addr_none (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
bool InstructionPatterns::s_addr_im_r $c_s_addr_ma (ADDRESS &lc, int &a, bool a_isVAR)
bool InstructionPatterns::FSTDS
$s_addr_im_r 
$c_s_addr_ma (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
bool InstructionPatterns::s_addr_im_r $c_s_addr_mb (ADDRESS &lc, int &a, bool a_isVAR)
bool InstructionPatterns::LDWS
$s_addr_im_r 
$c_s_addr_mb (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)
bool InstructionPatterns::s_addr_im_r $c_s_addr_notm (ADDRESS &lc, int &a, bool a_isVAR)
bool InstructionPatterns::LDWS
$s_addr_im_r 
$c_s_addr_notm (ADDRESS &lc, int &a, bool a_isVAR, int &b, bool b_isVAR, int &c, bool c_isVAR, int &d, bool d_isVAR)


Define Documentation

#define sign_extend N,
SIZE   )     (((int)((N) << (sizeof(unsigned)*8-(SIZE)))) >> (sizeof(unsigned)*8-(SIZE)))
 

Definition at line 1 of file hppa.pat.cpp.

#define VAL   false
 

Definition at line 19 of file hppa.pat.cpp.

Referenced by InstructionPatterns::bare_ret(), InstructionPatterns::bare_ret_anulled(), InstructionPatterns::call_add(), InstructionPatterns::gcc_frame(), InstructionPatterns::gcc_frameless(), InstructionPatterns::gcc_unframe(), InstructionPatterns::gcc_unframeless1(), InstructionPatterns::gcc_unframeless2(), InstructionPatterns::leaf_ret(), InstructionPatterns::link_save(), InstructionPatterns::link_save1(), InstructionPatterns::move_call_move(), InstructionPatterns::move_x_call_move(), InstructionPatterns::new_reg_win(), InstructionPatterns::new_reg_win_large(), InstructionPatterns::param_reloc1(), InstructionPatterns::pea_add_rts(), InstructionPatterns::pea_pea_add_rts(), InstructionPatterns::rest1_ret(), InstructionPatterns::rest_ret(), InstructionPatterns::ret_imm_val(), InstructionPatterns::ret_reg_val(), InstructionPatterns::same_reg_win(), InstructionPatterns::same_reg_win_large(), InstructionPatterns::std_call(), InstructionPatterns::std_link(), InstructionPatterns::std_ret(), and InstructionPatterns::trap_syscall().

#define VAR   true
 

Definition at line 18 of file hppa.pat.cpp.

Referenced by InstructionPatterns::call_add(), InstructionPatterns::call_restore_imm(), InstructionPatterns::call_restore_reg(), InstructionPatterns::call_rst_ui_imm(), InstructionPatterns::call_rst_ui_reg(), InstructionPatterns::clear_stack(), InstructionPatterns::gcc_frame(), InstructionPatterns::gcc_frameless(), InstructionPatterns::gcc_unframe(), InstructionPatterns::gcc_unframeless1(), InstructionPatterns::gcc_unframeless2(), InstructionPatterns::jmp_restore_imm(), InstructionPatterns::jmp_restore_reg(), InstructionPatterns::leaf_ret(), InstructionPatterns::link_save(), InstructionPatterns::link_save1(), InstructionPatterns::move_call_move(), InstructionPatterns::move_x_call_move(), InstructionPatterns::near_call(), InstructionPatterns::new_reg_win(), InstructionPatterns::new_reg_win_large(), InstructionPatterns::param_reloc1(), InstructionPatterns::pea_add_rts(), InstructionPatterns::pea_pea_add_rts(), InstructionPatterns::pop_ret(), InstructionPatterns::push_lea(), InstructionPatterns::rest1_ret(), InstructionPatterns::rest_ret(), InstructionPatterns::ret_imm_val(), InstructionPatterns::ret_reg_val(), InstructionPatterns::same_reg_win(), InstructionPatterns::same_reg_win_large(), InstructionPatterns::std_call(), InstructionPatterns::std_link(), InstructionPatterns::struct_call(), and InstructionPatterns::trap_syscall().


Function Documentation

bool InstructionPatterns::BL $c_br_nnull ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
 

Definition at line 24 of file hppa.pat.cpp.

References addressToPC, c_br_nnull(), getDword(), and sign_extend.

bool InstructionPatterns::BL $c_br_null ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR
 

Definition at line 96 of file hppa.pat.cpp.

References addressToPC, c_br_null(), getDword(), and sign_extend.

bool InstructionPatterns::c_arith_w $c_c_nonneg ADDRESS lc,
int &  a,
bool  a_isVAR
 

Definition at line 950 of file hppa.pat.cpp.

References addressToPC, and getDword().

bool InstructionPatterns::OR $c_arith_w $c_c_nonneg ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
 

Definition at line 751 of file hppa.pat.cpp.

References addressToPC, c_arith_w(), and getDword().

Referenced by $c_c_nonneg().

bool InstructionPatterns::l_addr_16_old $c_l_addr_none ADDRESS lc,
int &  a,
bool  a_isVAR
 

Definition at line 1532 of file hppa.pat.cpp.

References getDword(), and sign_extend.

bool InstructionPatterns::LDW $l_addr_16_old $c_l_addr_none ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
 

Definition at line 457 of file hppa.pat.cpp.

References addressToPC, and getDword().

Referenced by $c_l_addr_none().

bool InstructionPatterns::s_addr_im_r $c_s_addr_ma ADDRESS lc,
int &  a,
bool  a_isVAR
 

Definition at line 1581 of file hppa.pat.cpp.

References getDword(), and sign_extend.

bool InstructionPatterns::FSTDS $s_addr_im_r $c_s_addr_ma ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
 

Definition at line 312 of file hppa.pat.cpp.

References addressToPC, and getDword().

Referenced by $c_s_addr_ma().

bool InstructionPatterns::s_addr_im_r $c_s_addr_mb ADDRESS lc,
int &  a,
bool  a_isVAR
 

Definition at line 1656 of file hppa.pat.cpp.

References getDword(), and sign_extend.

bool InstructionPatterns::LDWS $s_addr_im_r $c_s_addr_mb ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
 

Definition at line 583 of file hppa.pat.cpp.

References addressToPC, and getDword().

Referenced by $c_s_addr_mb().

bool InstructionPatterns::s_addr_im_r $c_s_addr_notm ADDRESS lc,
int &  a,
bool  a_isVAR
 

Definition at line 1731 of file hppa.pat.cpp.

References getDword(), and sign_extend.

bool InstructionPatterns::LDWS $s_addr_im_r $c_s_addr_notm ADDRESS lc,
int &  a,
bool  a_isVAR,
int &  b,
bool  b_isVAR,
int &  c,
bool  c_isVAR,
int &  d,
bool  d_isVAR
 

Definition at line 667 of file hppa.pat.cpp.

References addressToPC, and getDword().

Referenced by $c_s_addr_notm().


Generated on Tue Sep 19 21:18:37 2006 for Boomerang by  doxygen 1.4.6