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

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

Issue 2579913002: [ARM] Add NEON instructions for implementing SIMD. (Closed)
Patch Set: Review comments. 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
« no previous file with comments | « no previous file | src/arm/assembler-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1344 matching lines...) Expand 10 before | Expand all | Expand 10 after
1355 void vswp(QwNeonRegister dst, QwNeonRegister src); 1355 void vswp(QwNeonRegister dst, QwNeonRegister src);
1356 // vdup conditional execution isn't supported. 1356 // vdup conditional execution isn't supported.
1357 void vdup(NeonSize size, const QwNeonRegister dst, const Register src); 1357 void vdup(NeonSize size, const QwNeonRegister dst, const Register src);
1358 void vdup(const QwNeonRegister dst, const SwVfpRegister src); 1358 void vdup(const QwNeonRegister dst, const SwVfpRegister src);
1359 1359
1360 void vcvt_f32_s32(const QwNeonRegister dst, const QwNeonRegister src); 1360 void vcvt_f32_s32(const QwNeonRegister dst, const QwNeonRegister src);
1361 void vcvt_f32_u32(const QwNeonRegister dst, const QwNeonRegister src); 1361 void vcvt_f32_u32(const QwNeonRegister dst, const QwNeonRegister src);
1362 void vcvt_s32_f32(const QwNeonRegister dst, const QwNeonRegister src); 1362 void vcvt_s32_f32(const QwNeonRegister dst, const QwNeonRegister src);
1363 void vcvt_u32_f32(const QwNeonRegister dst, const QwNeonRegister src); 1363 void vcvt_u32_f32(const QwNeonRegister dst, const QwNeonRegister src);
1364 1364
1365 void vabs(const QwNeonRegister dst, const QwNeonRegister src);
1366 void vabs(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src);
1367 void vneg(const QwNeonRegister dst, const QwNeonRegister src);
1368 void vneg(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src);
1365 void veor(DwVfpRegister dst, DwVfpRegister src1, DwVfpRegister src2); 1369 void veor(DwVfpRegister dst, DwVfpRegister src1, DwVfpRegister src2);
1366 void veor(QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2); 1370 void veor(QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2);
1367 void vadd(const QwNeonRegister dst, const QwNeonRegister src1, 1371 void vadd(const QwNeonRegister dst, const QwNeonRegister src1,
1368 const QwNeonRegister src2); 1372 const QwNeonRegister src2);
1369 void vadd(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src1, 1373 void vadd(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src1,
1370 const QwNeonRegister src2); 1374 const QwNeonRegister src2);
1371 void vsub(const QwNeonRegister dst, const QwNeonRegister src1, 1375 void vsub(const QwNeonRegister dst, const QwNeonRegister src1,
1372 const QwNeonRegister src2); 1376 const QwNeonRegister src2);
1373 void vsub(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src1, 1377 void vsub(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src1,
1374 const QwNeonRegister src2); 1378 const QwNeonRegister src2);
1379 void vmul(const QwNeonRegister dst, const QwNeonRegister src1,
1380 const QwNeonRegister src2);
1381 void vmul(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src1,
1382 const QwNeonRegister src2);
1375 void vtst(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src1, 1383 void vtst(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src1,
1376 const QwNeonRegister src2); 1384 const QwNeonRegister src2);
1377 void vceq(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src1, 1385 void vceq(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src1,
1378 const QwNeonRegister src2); 1386 const QwNeonRegister src2);
1379 void vbsl(const QwNeonRegister dst, const QwNeonRegister src1, 1387 void vbsl(const QwNeonRegister dst, const QwNeonRegister src1,
1380 const QwNeonRegister src2); 1388 const QwNeonRegister src2);
1389 void vext(const QwNeonRegister dst, const QwNeonRegister src1,
1390 const QwNeonRegister src2, int bytes);
1391 void vzip(NeonSize size, const QwNeonRegister dst, const QwNeonRegister src);
1392 void vrev16(NeonSize size, const QwNeonRegister dst,
1393 const QwNeonRegister src);
1394 void vrev32(NeonSize size, const QwNeonRegister dst,
1395 const QwNeonRegister src);
1396 void vrev64(NeonSize size, const QwNeonRegister dst,
1397 const QwNeonRegister src);
1381 void vtbl(const DwVfpRegister dst, const NeonListOperand& list, 1398 void vtbl(const DwVfpRegister dst, const NeonListOperand& list,
1382 const DwVfpRegister index); 1399 const DwVfpRegister index);
1383 void vtbx(const DwVfpRegister dst, const NeonListOperand& list, 1400 void vtbx(const DwVfpRegister dst, const NeonListOperand& list,
1384 const DwVfpRegister index); 1401 const DwVfpRegister index);
1385 1402
1386 // Pseudo instructions 1403 // Pseudo instructions
1387 1404
1388 // Different nop operations are used by the code generator to detect certain 1405 // Different nop operations are used by the code generator to detect certain
1389 // states of the generated code. 1406 // states of the generated code.
1390 enum NopMarkerTypes { 1407 enum NopMarkerTypes {
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
1780 explicit EnsureSpace(Assembler* assembler) { 1797 explicit EnsureSpace(Assembler* assembler) {
1781 assembler->CheckBuffer(); 1798 assembler->CheckBuffer();
1782 } 1799 }
1783 }; 1800 };
1784 1801
1785 1802
1786 } // namespace internal 1803 } // namespace internal
1787 } // namespace v8 1804 } // namespace v8
1788 1805
1789 #endif // V8_ARM_ASSEMBLER_ARM_H_ 1806 #endif // V8_ARM_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm/assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698