OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 t.g = -2718.2818; | 330 t.g = -2718.2818; |
331 t.h = 31415926.5; | 331 t.h = 31415926.5; |
332 t.i = 0; | 332 t.i = 0; |
333 t.j = 0; | 333 t.j = 0; |
334 t.m = -2718.2818; | 334 t.m = -2718.2818; |
335 t.n = 123.456; | 335 t.n = 123.456; |
336 t.x = 4.5; | 336 t.x = 4.5; |
337 t.y = 9.0; | 337 t.y = 9.0; |
338 Object* dummy = CALL_GENERATED_CODE(f, &t, 0, 0, 0, 0); | 338 Object* dummy = CALL_GENERATED_CODE(f, &t, 0, 0, 0, 0); |
339 USE(dummy); | 339 USE(dummy); |
340 CHECK_EQ(4.5, t.y); | 340 CHECK_EQ(4.5f, t.y); |
341 CHECK_EQ(9.0, t.x); | 341 CHECK_EQ(9.0f, t.x); |
342 CHECK_EQ(-123.456, t.n); | 342 CHECK_EQ(-123.456, t.n); |
343 CHECK_EQ(2718.2818, t.m); | 343 CHECK_EQ(2718.2818, t.m); |
344 CHECK_EQ(2, t.i); | 344 CHECK_EQ(2, t.i); |
345 CHECK_EQ(2718.2818, t.g); | 345 CHECK_EQ(2718.2818, t.g); |
346 CHECK_EQ(31415926.5, t.h); | 346 CHECK_EQ(31415926.5, t.h); |
347 CHECK_EQ(617.0, t.j); | 347 CHECK_EQ(617.0, t.j); |
348 CHECK_EQ(42.0, t.f); | 348 CHECK_EQ(42.0, t.f); |
349 CHECK_EQ(1.0, t.e); | 349 CHECK_EQ(1.0, t.e); |
350 CHECK_EQ(1.000000059604644775390625, t.d); | 350 CHECK_EQ(1.000000059604644775390625, t.d); |
351 CHECK_EQ(4.25, t.c); | 351 CHECK_EQ(4.25, t.c); |
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
697 | 697 |
698 CHECK_EQ(7.7, d.a); | 698 CHECK_EQ(7.7, d.a); |
699 CHECK_EQ(8.8, d.b); | 699 CHECK_EQ(8.8, d.b); |
700 CHECK_EQ(1.1, d.c); | 700 CHECK_EQ(1.1, d.c); |
701 CHECK_EQ(2.2, d.d); | 701 CHECK_EQ(2.2, d.d); |
702 CHECK_EQ(3.3, d.e); | 702 CHECK_EQ(3.3, d.e); |
703 CHECK_EQ(4.4, d.f); | 703 CHECK_EQ(4.4, d.f); |
704 CHECK_EQ(5.5, d.g); | 704 CHECK_EQ(5.5, d.g); |
705 CHECK_EQ(6.6, d.h); | 705 CHECK_EQ(6.6, d.h); |
706 | 706 |
707 CHECK_EQ(7.0, f.a); | 707 CHECK_EQ(7.0f, f.a); |
708 CHECK_EQ(8.0, f.b); | 708 CHECK_EQ(8.0f, f.b); |
709 CHECK_EQ(1.0, f.c); | 709 CHECK_EQ(1.0f, f.c); |
710 CHECK_EQ(2.0, f.d); | 710 CHECK_EQ(2.0f, f.d); |
711 CHECK_EQ(3.0, f.e); | 711 CHECK_EQ(3.0f, f.e); |
712 CHECK_EQ(4.0, f.f); | 712 CHECK_EQ(4.0f, f.f); |
713 CHECK_EQ(5.0, f.g); | 713 CHECK_EQ(5.0f, f.g); |
714 CHECK_EQ(6.0, f.h); | 714 CHECK_EQ(6.0f, f.h); |
715 } | 715 } |
716 | 716 |
717 | 717 |
718 TEST(9) { | 718 TEST(9) { |
719 // Test VFP multi load/store with ia. | 719 // Test VFP multi load/store with ia. |
720 CcTest::InitializeVM(); | 720 CcTest::InitializeVM(); |
721 Isolate* isolate = CcTest::i_isolate(); | 721 Isolate* isolate = CcTest::i_isolate(); |
722 HandleScope scope(isolate); | 722 HandleScope scope(isolate); |
723 | 723 |
724 typedef struct { | 724 typedef struct { |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
807 | 807 |
808 CHECK_EQ(7.7, d.a); | 808 CHECK_EQ(7.7, d.a); |
809 CHECK_EQ(8.8, d.b); | 809 CHECK_EQ(8.8, d.b); |
810 CHECK_EQ(1.1, d.c); | 810 CHECK_EQ(1.1, d.c); |
811 CHECK_EQ(2.2, d.d); | 811 CHECK_EQ(2.2, d.d); |
812 CHECK_EQ(3.3, d.e); | 812 CHECK_EQ(3.3, d.e); |
813 CHECK_EQ(4.4, d.f); | 813 CHECK_EQ(4.4, d.f); |
814 CHECK_EQ(5.5, d.g); | 814 CHECK_EQ(5.5, d.g); |
815 CHECK_EQ(6.6, d.h); | 815 CHECK_EQ(6.6, d.h); |
816 | 816 |
817 CHECK_EQ(7.0, f.a); | 817 CHECK_EQ(7.0f, f.a); |
818 CHECK_EQ(8.0, f.b); | 818 CHECK_EQ(8.0f, f.b); |
819 CHECK_EQ(1.0, f.c); | 819 CHECK_EQ(1.0f, f.c); |
820 CHECK_EQ(2.0, f.d); | 820 CHECK_EQ(2.0f, f.d); |
821 CHECK_EQ(3.0, f.e); | 821 CHECK_EQ(3.0f, f.e); |
822 CHECK_EQ(4.0, f.f); | 822 CHECK_EQ(4.0f, f.f); |
823 CHECK_EQ(5.0, f.g); | 823 CHECK_EQ(5.0f, f.g); |
824 CHECK_EQ(6.0, f.h); | 824 CHECK_EQ(6.0f, f.h); |
825 } | 825 } |
826 | 826 |
827 | 827 |
828 TEST(10) { | 828 TEST(10) { |
829 // Test VFP multi load/store with db_w. | 829 // Test VFP multi load/store with db_w. |
830 CcTest::InitializeVM(); | 830 CcTest::InitializeVM(); |
831 Isolate* isolate = CcTest::i_isolate(); | 831 Isolate* isolate = CcTest::i_isolate(); |
832 HandleScope scope(isolate); | 832 HandleScope scope(isolate); |
833 | 833 |
834 typedef struct { | 834 typedef struct { |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
913 | 913 |
914 CHECK_EQ(7.7, d.a); | 914 CHECK_EQ(7.7, d.a); |
915 CHECK_EQ(8.8, d.b); | 915 CHECK_EQ(8.8, d.b); |
916 CHECK_EQ(1.1, d.c); | 916 CHECK_EQ(1.1, d.c); |
917 CHECK_EQ(2.2, d.d); | 917 CHECK_EQ(2.2, d.d); |
918 CHECK_EQ(3.3, d.e); | 918 CHECK_EQ(3.3, d.e); |
919 CHECK_EQ(4.4, d.f); | 919 CHECK_EQ(4.4, d.f); |
920 CHECK_EQ(5.5, d.g); | 920 CHECK_EQ(5.5, d.g); |
921 CHECK_EQ(6.6, d.h); | 921 CHECK_EQ(6.6, d.h); |
922 | 922 |
923 CHECK_EQ(7.0, f.a); | 923 CHECK_EQ(7.0f, f.a); |
924 CHECK_EQ(8.0, f.b); | 924 CHECK_EQ(8.0f, f.b); |
925 CHECK_EQ(1.0, f.c); | 925 CHECK_EQ(1.0f, f.c); |
926 CHECK_EQ(2.0, f.d); | 926 CHECK_EQ(2.0f, f.d); |
927 CHECK_EQ(3.0, f.e); | 927 CHECK_EQ(3.0f, f.e); |
928 CHECK_EQ(4.0, f.f); | 928 CHECK_EQ(4.0f, f.f); |
929 CHECK_EQ(5.0, f.g); | 929 CHECK_EQ(5.0f, f.g); |
930 CHECK_EQ(6.0, f.h); | 930 CHECK_EQ(6.0f, f.h); |
931 } | 931 } |
932 | 932 |
933 | 933 |
934 TEST(11) { | 934 TEST(11) { |
935 // Test instructions using the carry flag. | 935 // Test instructions using the carry flag. |
936 CcTest::InitializeVM(); | 936 CcTest::InitializeVM(); |
937 Isolate* isolate = CcTest::i_isolate(); | 937 Isolate* isolate = CcTest::i_isolate(); |
938 HandleScope scope(isolate); | 938 HandleScope scope(isolate); |
939 | 939 |
940 typedef struct { | 940 typedef struct { |
(...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2034 HandleScope scope(isolate); | 2034 HandleScope scope(isolate); |
2035 | 2035 |
2036 Assembler assm(isolate, NULL, 0); | 2036 Assembler assm(isolate, NULL, 0); |
2037 __ mov(r0, Operand(isolate->factory()->infinity_value())); | 2037 __ mov(r0, Operand(isolate->factory()->infinity_value())); |
2038 __ BlockConstPoolFor(1019); | 2038 __ BlockConstPoolFor(1019); |
2039 for (int i = 0; i < 1019; ++i) __ nop(); | 2039 for (int i = 0; i < 1019; ++i) __ nop(); |
2040 __ vldr(d0, MemOperand(r0, 0)); | 2040 __ vldr(d0, MemOperand(r0, 0)); |
2041 } | 2041 } |
2042 | 2042 |
2043 #undef __ | 2043 #undef __ |
OLD | NEW |