Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: src/arm/assembler-arm.cc

Issue 568029: Add support for ldrd/strd from Kun Zhang (zhangk@codeaurora.org), Code Aurora (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 1129 matching lines...) Expand 10 before | Expand all | Expand 10 after
1140 void Assembler::ldrsb(Register dst, const MemOperand& src, Condition cond) { 1140 void Assembler::ldrsb(Register dst, const MemOperand& src, Condition cond) {
1141 addrmod3(cond | L | B7 | S6 | B4, dst, src); 1141 addrmod3(cond | L | B7 | S6 | B4, dst, src);
1142 } 1142 }
1143 1143
1144 1144
1145 void Assembler::ldrsh(Register dst, const MemOperand& src, Condition cond) { 1145 void Assembler::ldrsh(Register dst, const MemOperand& src, Condition cond) {
1146 addrmod3(cond | L | B7 | S6 | H | B4, dst, src); 1146 addrmod3(cond | L | B7 | S6 | H | B4, dst, src);
1147 } 1147 }
1148 1148
1149 1149
1150 void Assembler::ldrd(Register dst, const MemOperand& src, Condition cond) {
1151 addrmod3(cond | B7 | B6 | B4, dst, src);
Erik Corry 2010/05/04 07:06:13 This instruction is not available on all CPUs. Pl
zhangk 2010/05/07 05:32:14 On 2010/05/04 07:06:13, Erik Corry wrote: Done.
1152 }
1153
1154
1155 void Assembler::strd(Register src, const MemOperand& dst, Condition cond) {
1156 addrmod3(cond | B7 | B6 | B5 | B4, src, dst);
Erik Corry 2010/05/04 07:06:13 And here.
zhangk 2010/05/07 05:32:14 On 2010/05/04 07:06:13, Erik Corry wrote: Done.
1157 }
1158
1159
1150 // Load/Store multiple instructions 1160 // Load/Store multiple instructions
1151 void Assembler::ldm(BlockAddrMode am, 1161 void Assembler::ldm(BlockAddrMode am,
1152 Register base, 1162 Register base,
1153 RegList dst, 1163 RegList dst,
1154 Condition cond) { 1164 Condition cond) {
1155 // ABI stack constraint: ldmxx base, {..sp..} base != sp is not restartable 1165 // ABI stack constraint: ldmxx base, {..sp..} base != sp is not restartable
1156 ASSERT(base.is(sp) || (dst & sp.bit()) == 0); 1166 ASSERT(base.is(sp) || (dst & sp.bit()) == 0);
1157 1167
1158 addrmod4(cond | B27 | am | L, base, dst); 1168 addrmod4(cond | B27 | am | L, base, dst);
1159 1169
(...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after
1842 bind(&after_pool); 1852 bind(&after_pool);
1843 } 1853 }
1844 1854
1845 // Since a constant pool was just emitted, move the check offset forward by 1855 // Since a constant pool was just emitted, move the check offset forward by
1846 // the standard interval. 1856 // the standard interval.
1847 next_buffer_check_ = pc_offset() + kCheckConstInterval; 1857 next_buffer_check_ = pc_offset() + kCheckConstInterval;
1848 } 1858 }
1849 1859
1850 1860
1851 } } // namespace v8::internal 1861 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/assembler-arm.h ('k') | src/arm/codegen-arm.cc » ('j') | src/arm/codegen-arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698