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

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

Issue 2593443002: [ARM] Add fp version of vceq to assembler, disassembler, and simulator. (Closed)
Patch Set: Add missing UNIMPLEMENTED(). Created 4 years 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
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 4239 matching lines...) Expand 10 before | Expand all | Expand 10 after
4250 dst.split_code(&vd, &d); 4250 dst.split_code(&vd, &d);
4251 int vn, n; 4251 int vn, n;
4252 src1.split_code(&vn, &n); 4252 src1.split_code(&vn, &n);
4253 int vm, m; 4253 int vm, m;
4254 src2.split_code(&vm, &m); 4254 src2.split_code(&vm, &m);
4255 int sz = static_cast<int>(size); 4255 int sz = static_cast<int>(size);
4256 emit(0x1E4U * B23 | d * B22 | sz * B20 | vn * B16 | vd * B12 | 0x8 * B8 | 4256 emit(0x1E4U * B23 | d * B22 | sz * B20 | vn * B16 | vd * B12 | 0x8 * B8 |
4257 n * B7 | B6 | m * B5 | B4 | vm); 4257 n * B7 | B6 | m * B5 | B4 | vm);
4258 } 4258 }
4259 4259
4260 void Assembler::vceq(const QwNeonRegister dst, const QwNeonRegister src1,
4261 const QwNeonRegister src2) {
4262 DCHECK(IsEnabled(NEON));
4263 // Qd = vceq(Qn, Qm) SIMD integer compare equal.
4264 // Instruction details available in ARM DDI 0406C.b, A8-844.
4265 int vd, d;
4266 dst.split_code(&vd, &d);
4267 int vn, n;
4268 src1.split_code(&vn, &n);
4269 int vm, m;
4270 src2.split_code(&vm, &m);
4271 emit(0x1E4U * B23 | d * B22 | vn * B16 | vd * B12 | 0xe * B8 | n * B7 | B6 |
4272 m * B5 | vm);
4273 }
4274
4260 void Assembler::vceq(NeonSize size, QwNeonRegister dst, 4275 void Assembler::vceq(NeonSize size, QwNeonRegister dst,
4261 const QwNeonRegister src1, const QwNeonRegister src2) { 4276 const QwNeonRegister src1, const QwNeonRegister src2) {
4262 DCHECK(IsEnabled(NEON)); 4277 DCHECK(IsEnabled(NEON));
4263 // Qd = vceq(Qn, Qm) SIMD bitwise compare equal. 4278 // Qd = vceq(Qn, Qm) SIMD bitwise compare equal.
4264 // Instruction details available in ARM DDI 0406C.b, A8-844. 4279 // Instruction details available in ARM DDI 0406C.b, A8-844.
4265 int vd, d; 4280 int vd, d;
4266 dst.split_code(&vd, &d); 4281 dst.split_code(&vd, &d);
4267 int vn, n; 4282 int vn, n;
4268 src1.split_code(&vn, &n); 4283 src1.split_code(&vn, &n);
4269 int vm, m; 4284 int vm, m;
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
4929 DCHECK(is_uint12(offset)); 4944 DCHECK(is_uint12(offset));
4930 instr_at_put(pc, SetLdrRegisterImmediateOffset(instr, offset)); 4945 instr_at_put(pc, SetLdrRegisterImmediateOffset(instr, offset));
4931 } 4946 }
4932 } 4947 }
4933 4948
4934 4949
4935 } // namespace internal 4950 } // namespace internal
4936 } // namespace v8 4951 } // namespace v8
4937 4952
4938 #endif // V8_TARGET_ARCH_ARM 4953 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/assembler-arm.h ('k') | src/arm/disasm-arm.cc » ('j') | src/arm/simulator-arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698