OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 1806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1817 | 1817 |
1818 void Assembler::ldc2(Coprocessor coproc, | 1818 void Assembler::ldc2(Coprocessor coproc, |
1819 CRegister crd, | 1819 CRegister crd, |
1820 Register rn, | 1820 Register rn, |
1821 int option, | 1821 int option, |
1822 LFlag l) { // v5 and above | 1822 LFlag l) { // v5 and above |
1823 ldc(coproc, crd, rn, option, l, kSpecialCondition); | 1823 ldc(coproc, crd, rn, option, l, kSpecialCondition); |
1824 } | 1824 } |
1825 | 1825 |
1826 | 1826 |
1827 void Assembler::stc(Coprocessor coproc, | |
1828 CRegister crd, | |
1829 const MemOperand& dst, | |
1830 LFlag l, | |
1831 Condition cond) { | |
1832 addrmod5(cond | B27 | B26 | l | coproc*B8, crd, dst); | |
1833 } | |
1834 | |
1835 | |
1836 void Assembler::stc(Coprocessor coproc, | |
1837 CRegister crd, | |
1838 Register rn, | |
1839 int option, | |
1840 LFlag l, | |
1841 Condition cond) { | |
1842 // Unindexed addressing. | |
1843 ASSERT(is_uint8(option)); | |
1844 emit(cond | B27 | B26 | U | l | rn.code()*B16 | crd.code()*B12 | | |
1845 coproc*B8 | (option & 255)); | |
1846 } | |
1847 | |
1848 | |
1849 void Assembler::stc2(Coprocessor | |
1850 coproc, CRegister crd, | |
1851 const MemOperand& dst, | |
1852 LFlag l) { // v5 and above | |
1853 stc(coproc, crd, dst, l, kSpecialCondition); | |
1854 } | |
1855 | |
1856 | |
1857 void Assembler::stc2(Coprocessor coproc, | |
1858 CRegister crd, | |
1859 Register rn, | |
1860 int option, | |
1861 LFlag l) { // v5 and above | |
1862 stc(coproc, crd, rn, option, l, kSpecialCondition); | |
1863 } | |
1864 | |
1865 | |
1866 // Support for VFP. | 1827 // Support for VFP. |
1867 | 1828 |
1868 void Assembler::vldr(const DwVfpRegister dst, | 1829 void Assembler::vldr(const DwVfpRegister dst, |
1869 const Register base, | 1830 const Register base, |
1870 int offset, | 1831 int offset, |
1871 const Condition cond) { | 1832 const Condition cond) { |
1872 // Ddst = MEM(Rbase + offset). | 1833 // Ddst = MEM(Rbase + offset). |
1873 // Instruction details available in ARM DDI 0406A, A8-628. | 1834 // Instruction details available in ARM DDI 0406A, A8-628. |
1874 // cond(31-28) | 1101(27-24)| U001(23-20) | Rbase(19-16) | | 1835 // cond(31-28) | 1101(27-24)| U001(23-20) | Rbase(19-16) | |
1875 // Vdst(15-12) | 1011(11-8) | offset | 1836 // Vdst(15-12) | 1011(11-8) | offset |
(...skipping 992 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2868 | 2829 |
2869 // Since a constant pool was just emitted, move the check offset forward by | 2830 // Since a constant pool was just emitted, move the check offset forward by |
2870 // the standard interval. | 2831 // the standard interval. |
2871 next_buffer_check_ = pc_offset() + kCheckConstInterval; | 2832 next_buffer_check_ = pc_offset() + kCheckConstInterval; |
2872 } | 2833 } |
2873 | 2834 |
2874 | 2835 |
2875 } } // namespace v8::internal | 2836 } } // namespace v8::internal |
2876 | 2837 |
2877 #endif // V8_TARGET_ARCH_ARM | 2838 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |