1799 inline void mfdscr(Register d );
1800
1801 // PPC 1, section 2.4.1 Branch Instructions
1802 inline void b( address a, relocInfo::relocType rt = relocInfo::none);
1803 inline void b( Label& L);
1804 inline void bl( address a, relocInfo::relocType rt = relocInfo::none);
1805 inline void bl( Label& L);
1806 inline void bc( int boint, int biint, address a, relocInfo::relocType rt = relocInfo::none);
1807 inline void bc( int boint, int biint, Label& L);
1808 inline void bcl(int boint, int biint, address a, relocInfo::relocType rt = relocInfo::none);
1809 inline void bcl(int boint, int biint, Label& L);
1810
1811 inline void bclr( int boint, int biint, int bhint, relocInfo::relocType rt = relocInfo::none);
1812 inline void bclrl( int boint, int biint, int bhint, relocInfo::relocType rt = relocInfo::none);
1813 inline void bcctr( int boint, int biint, int bhint = bhintbhBCCTRisNotReturnButSame,
1814 relocInfo::relocType rt = relocInfo::none);
1815 inline void bcctrl(int boint, int biint, int bhint = bhintbhBCLRisReturn,
1816 relocInfo::relocType rt = relocInfo::none);
1817
1818 // helper function for b, bcxx
1819 inline bool is_within_range_of_b(address a, address pc);
1820 inline bool is_within_range_of_bcxx(address a, address pc);
1821
1822 // get the destination of a bxx branch (b, bl, ba, bla)
1823 static inline address bxx_destination(address baddr);
1824 static inline address bxx_destination(int instr, address pc);
1825 static inline intptr_t bxx_destination_offset(int instr, intptr_t bxx_pos);
1826
1827 // extended mnemonics for branch instructions
1828 inline void blt(ConditionRegister crx, Label& L);
1829 inline void bgt(ConditionRegister crx, Label& L);
1830 inline void beq(ConditionRegister crx, Label& L);
1831 inline void bso(ConditionRegister crx, Label& L);
1832 inline void bge(ConditionRegister crx, Label& L);
1833 inline void ble(ConditionRegister crx, Label& L);
1834 inline void bne(ConditionRegister crx, Label& L);
1835 inline void bns(ConditionRegister crx, Label& L);
1836
1837 // Branch instructions with static prediction hints.
1838 inline void blt_predict_taken( ConditionRegister crx, Label& L);
|
1799 inline void mfdscr(Register d );
1800
1801 // PPC 1, section 2.4.1 Branch Instructions
1802 inline void b( address a, relocInfo::relocType rt = relocInfo::none);
1803 inline void b( Label& L);
1804 inline void bl( address a, relocInfo::relocType rt = relocInfo::none);
1805 inline void bl( Label& L);
1806 inline void bc( int boint, int biint, address a, relocInfo::relocType rt = relocInfo::none);
1807 inline void bc( int boint, int biint, Label& L);
1808 inline void bcl(int boint, int biint, address a, relocInfo::relocType rt = relocInfo::none);
1809 inline void bcl(int boint, int biint, Label& L);
1810
1811 inline void bclr( int boint, int biint, int bhint, relocInfo::relocType rt = relocInfo::none);
1812 inline void bclrl( int boint, int biint, int bhint, relocInfo::relocType rt = relocInfo::none);
1813 inline void bcctr( int boint, int biint, int bhint = bhintbhBCCTRisNotReturnButSame,
1814 relocInfo::relocType rt = relocInfo::none);
1815 inline void bcctrl(int boint, int biint, int bhint = bhintbhBCLRisReturn,
1816 relocInfo::relocType rt = relocInfo::none);
1817
1818 // helper function for b, bcxx
1819 inline bool is_branch(address a);
1820 inline bool is_within_range_of_b(address a, address pc);
1821 inline bool is_within_range_of_bcxx(address a, address pc);
1822
1823 // get the destination of a bxx branch (b, bl, ba, bla)
1824 static inline address bxx_destination(address baddr);
1825 static inline address bxx_destination(int instr, address pc);
1826 static inline intptr_t bxx_destination_offset(int instr, intptr_t bxx_pos);
1827
1828 // extended mnemonics for branch instructions
1829 inline void blt(ConditionRegister crx, Label& L);
1830 inline void bgt(ConditionRegister crx, Label& L);
1831 inline void beq(ConditionRegister crx, Label& L);
1832 inline void bso(ConditionRegister crx, Label& L);
1833 inline void bge(ConditionRegister crx, Label& L);
1834 inline void ble(ConditionRegister crx, Label& L);
1835 inline void bne(ConditionRegister crx, Label& L);
1836 inline void bns(ConditionRegister crx, Label& L);
1837
1838 // Branch instructions with static prediction hints.
1839 inline void blt_predict_taken( ConditionRegister crx, Label& L);
|