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

Side by Side Diff: test/cctest/test-disasm-arm.cc

Issue 12335129: ARM: Fix disassembly of some VFP instructions with condition codes (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 9 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
« no previous file with comments | « src/arm/disasm-arm.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 425
426 if (CpuFeatures::IsSupported(VFP3)) { 426 if (CpuFeatures::IsSupported(VFP3)) {
427 CpuFeatures::Scope scope(VFP3); 427 CpuFeatures::Scope scope(VFP3);
428 COMPARE(vmov(d0, r2, r3), 428 COMPARE(vmov(d0, r2, r3),
429 "ec432b10 vmov d0, r2, r3"); 429 "ec432b10 vmov d0, r2, r3");
430 COMPARE(vmov(r2, r3, d0), 430 COMPARE(vmov(r2, r3, d0),
431 "ec532b10 vmov r2, r3, d0"); 431 "ec532b10 vmov r2, r3, d0");
432 COMPARE(vmov(d0, d1), 432 COMPARE(vmov(d0, d1),
433 "eeb00b41 vmov.f64 d0, d1"); 433 "eeb00b41 vmov.f64 d0, d1");
434 COMPARE(vmov(d3, d3, eq), 434 COMPARE(vmov(d3, d3, eq),
435 "0eb03b43 vmov.f64eq d3, d3"); 435 "0eb03b43 vmoveq.f64 d3, d3");
436 436
437 COMPARE(vmov(s0, s31), 437 COMPARE(vmov(s0, s31),
438 "eeb00a6f vmov.f32 s0, s31"); 438 "eeb00a6f vmov.f32 s0, s31");
439 COMPARE(vmov(s31, s0), 439 COMPARE(vmov(s31, s0),
440 "eef0fa40 vmov.f32 s31, s0"); 440 "eef0fa40 vmov.f32 s31, s0");
441 COMPARE(vmov(r0, s0), 441 COMPARE(vmov(r0, s0),
442 "ee100a10 vmov r0, s0"); 442 "ee100a10 vmov r0, s0");
443 COMPARE(vmov(r10, s31), 443 COMPARE(vmov(r10, s31),
444 "ee1faa90 vmov r10, s31"); 444 "ee1faa90 vmov r10, s31");
445 COMPARE(vmov(s0, r0), 445 COMPARE(vmov(s0, r0),
446 "ee000a10 vmov s0, r0"); 446 "ee000a10 vmov s0, r0");
447 COMPARE(vmov(s31, r10), 447 COMPARE(vmov(s31, r10),
448 "ee0faa90 vmov s31, r10"); 448 "ee0faa90 vmov s31, r10");
449 449
450 COMPARE(vabs(d0, d1), 450 COMPARE(vabs(d0, d1),
451 "eeb00bc1 vabs.f64 d0, d1"); 451 "eeb00bc1 vabs.f64 d0, d1");
452 COMPARE(vabs(d3, d4, mi), 452 COMPARE(vabs(d3, d4, mi),
453 "4eb03bc4 vabs.f64mi d3, d4"); 453 "4eb03bc4 vabsmi.f64 d3, d4");
454 454
455 COMPARE(vneg(d0, d1), 455 COMPARE(vneg(d0, d1),
456 "eeb10b41 vneg.f64 d0, d1"); 456 "eeb10b41 vneg.f64 d0, d1");
457 COMPARE(vneg(d3, d4, mi), 457 COMPARE(vneg(d3, d4, mi),
458 "4eb13b44 vneg.f64mi d3, d4"); 458 "4eb13b44 vnegmi.f64 d3, d4");
459 459
460 COMPARE(vadd(d0, d1, d2), 460 COMPARE(vadd(d0, d1, d2),
461 "ee310b02 vadd.f64 d0, d1, d2"); 461 "ee310b02 vadd.f64 d0, d1, d2");
462 COMPARE(vadd(d3, d4, d5, mi), 462 COMPARE(vadd(d3, d4, d5, mi),
463 "4e343b05 vadd.f64mi d3, d4, d5"); 463 "4e343b05 vaddmi.f64 d3, d4, d5");
464 464
465 COMPARE(vsub(d0, d1, d2), 465 COMPARE(vsub(d0, d1, d2),
466 "ee310b42 vsub.f64 d0, d1, d2"); 466 "ee310b42 vsub.f64 d0, d1, d2");
467 COMPARE(vsub(d3, d4, d5, ne), 467 COMPARE(vsub(d3, d4, d5, ne),
468 "1e343b45 vsub.f64ne d3, d4, d5"); 468 "1e343b45 vsubne.f64 d3, d4, d5");
469 469
470 COMPARE(vmul(d2, d1, d0), 470 COMPARE(vmul(d2, d1, d0),
471 "ee212b00 vmul.f64 d2, d1, d0"); 471 "ee212b00 vmul.f64 d2, d1, d0");
472 COMPARE(vmul(d6, d4, d5, cc), 472 COMPARE(vmul(d6, d4, d5, cc),
473 "3e246b05 vmul.f64cc d6, d4, d5"); 473 "3e246b05 vmulcc.f64 d6, d4, d5");
474 474
475 COMPARE(vdiv(d2, d2, d2), 475 COMPARE(vdiv(d2, d2, d2),
476 "ee822b02 vdiv.f64 d2, d2, d2"); 476 "ee822b02 vdiv.f64 d2, d2, d2");
477 COMPARE(vdiv(d6, d7, d7, hi), 477 COMPARE(vdiv(d6, d7, d7, hi),
478 "8e876b07 vdiv.f64hi d6, d7, d7"); 478 "8e876b07 vdivhi.f64 d6, d7, d7");
479 479
480 COMPARE(vcmp(d0, d1), 480 COMPARE(vcmp(d0, d1),
481 "eeb40b41 vcmp.f64 d0, d1"); 481 "eeb40b41 vcmp.f64 d0, d1");
482 COMPARE(vcmp(d0, 0.0), 482 COMPARE(vcmp(d0, 0.0),
483 "eeb50b40 vcmp.f64 d0, #0.0"); 483 "eeb50b40 vcmp.f64 d0, #0.0");
484 484
485 COMPARE(vsqrt(d0, d0), 485 COMPARE(vsqrt(d0, d0),
486 "eeb10bc0 vsqrt.f64 d0, d0"); 486 "eeb10bc0 vsqrt.f64 d0, d0");
487 COMPARE(vsqrt(d2, d3, ne), 487 COMPARE(vsqrt(d2, d3, ne),
488 "1eb12bc3 vsqrt.f64ne d2, d3"); 488 "1eb12bc3 vsqrtne.f64 d2, d3");
489 489
490 COMPARE(vmov(d0, 1.0), 490 COMPARE(vmov(d0, 1.0),
491 "eeb70b00 vmov.f64 d0, #1"); 491 "eeb70b00 vmov.f64 d0, #1");
492 COMPARE(vmov(d2, -13.0), 492 COMPARE(vmov(d2, -13.0),
493 "eeba2b0a vmov.f64 d2, #-13"); 493 "eeba2b0a vmov.f64 d2, #-13");
494 494
495 COMPARE(vmov(d0, VmovIndexLo, r0), 495 COMPARE(vmov(d0, VmovIndexLo, r0),
496 "ee000b10 vmov.32 d0[0], r0"); 496 "ee000b10 vmov.32 d0[0], r0");
497 COMPARE(vmov(d0, VmovIndexHi, r0), 497 COMPARE(vmov(d0, VmovIndexHi, r0),
498 "ee200b10 vmov.32 d0[1], r0"); 498 "ee200b10 vmov.32 d0[1], r0");
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 COMPARE(vldm(ia, r5, s2, s5), 558 COMPARE(vldm(ia, r5, s2, s5),
559 "ec951a04 vldmia r5, {s2-s5}"); 559 "ec951a04 vldmia r5, {s2-s5}");
560 COMPARE(vstm(ia, r6, s0, s31), 560 COMPARE(vstm(ia, r6, s0, s31),
561 "ec860a20 vstmia r6, {s0-s31}"); 561 "ec860a20 vstmia r6, {s0-s31}");
562 COMPARE(vldm(ia, r7, s0, s31), 562 COMPARE(vldm(ia, r7, s0, s31),
563 "ec970a20 vldmia r7, {s0-s31}"); 563 "ec970a20 vldmia r7, {s0-s31}");
564 564
565 COMPARE(vmla(d2, d1, d0), 565 COMPARE(vmla(d2, d1, d0),
566 "ee012b00 vmla.f64 d2, d1, d0"); 566 "ee012b00 vmla.f64 d2, d1, d0");
567 COMPARE(vmla(d6, d4, d5, cc), 567 COMPARE(vmla(d6, d4, d5, cc),
568 "3e046b05 vmla.f64cc d6, d4, d5"); 568 "3e046b05 vmlacc.f64 d6, d4, d5");
569 569
570 COMPARE(vmls(d2, d1, d0), 570 COMPARE(vmls(d2, d1, d0),
571 "ee012b40 vmls.f64 d2, d1, d0"); 571 "ee012b40 vmls.f64 d2, d1, d0");
572 COMPARE(vmls(d6, d4, d5, cc), 572 COMPARE(vmls(d6, d4, d5, cc),
573 "3e046b45 vmls.f64cc d6, d4, d5"); 573 "3e046b45 vmlscc.f64 d6, d4, d5");
574 574
575 COMPARE(vcvt_u32_f64(s0, d0), 575 COMPARE(vcvt_u32_f64(s0, d0),
576 "eebc0bc0 vcvt.u32.f64 s0, d0"); 576 "eebc0bc0 vcvt.u32.f64 s0, d0");
577 COMPARE(vcvt_s32_f64(s0, d0), 577 COMPARE(vcvt_s32_f64(s0, d0),
578 "eebd0bc0 vcvt.s32.f64 s0, d0"); 578 "eebd0bc0 vcvt.s32.f64 s0, d0");
579 COMPARE(vcvt_f64_u32(d0, s1), 579 COMPARE(vcvt_f64_u32(d0, s1),
580 "eeb80b60 vcvt.f64.u32 d0, s1"); 580 "eeb80b60 vcvt.f64.u32 d0, s1");
581 COMPARE(vcvt_f64_s32(d0, s1), 581 COMPARE(vcvt_f64_s32(d0, s1),
582 "eeb80be0 vcvt.f64.s32 d0, s1"); 582 "eeb80be0 vcvt.f64.s32 d0, s1");
583 COMPARE(vcvt_f32_s32(s0, s2), 583 COMPARE(vcvt_f32_s32(s0, s2),
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 COMPARE(strd(r8, r9, MemOperand(r9, -127, PostIndex)), 861 COMPARE(strd(r8, r9, MemOperand(r9, -127, PostIndex)),
862 "e04987ff strd r8, [r9], #-127"); 862 "e04987ff strd r8, [r9], #-127");
863 COMPARE(strd(r10, fp, MemOperand(fp, 127, PreIndex)), 863 COMPARE(strd(r10, fp, MemOperand(fp, 127, PreIndex)),
864 "e1eba7ff strd r10, [fp, #+127]!"); 864 "e1eba7ff strd r10, [fp, #+127]!");
865 COMPARE(strd(ip, sp, MemOperand(sp, -127, PreIndex)), 865 COMPARE(strd(ip, sp, MemOperand(sp, -127, PreIndex)),
866 "e16dc7ff strd ip, [sp, #-127]!"); 866 "e16dc7ff strd ip, [sp, #-127]!");
867 } 867 }
868 868
869 VERIFY_RUN(); 869 VERIFY_RUN();
870 } 870 }
OLDNEW
« no previous file with comments | « src/arm/disasm-arm.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698