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

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

Issue 1372133006: Fix unwanted float-to-double-promotions (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 2 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
« no previous file with comments | « test/cctest/compiler/test-run-machops.cc ('k') | test/cctest/test-heap.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 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
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
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
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
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
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 __
OLDNEW
« no previous file with comments | « test/cctest/compiler/test-run-machops.cc ('k') | test/cctest/test-heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698