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

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

Issue 426233002: Land the Fan (disabled) (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Review feedback, rebase and "git cl format" Created 6 years, 4 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 | « test/cctest/test-assembler-arm.cc ('k') | test/cctest/test-assembler-ia32.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 10364 matching lines...) Expand 10 before | Expand all | Expand 10 after
10375 ASSERT_EQUAL_FP32(qn_proc, s15); 10375 ASSERT_EQUAL_FP32(qn_proc, s15);
10376 ASSERT_EQUAL_FP32(qn_proc, s16); 10376 ASSERT_EQUAL_FP32(qn_proc, s16);
10377 ASSERT_EQUAL_FP32(qn_proc, s17); 10377 ASSERT_EQUAL_FP32(qn_proc, s17);
10378 10378
10379 TEARDOWN(); 10379 TEARDOWN();
10380 } 10380 }
10381 10381
10382 10382
10383 static void ProcessNaNsHelper(double n, double m, double expected) { 10383 static void ProcessNaNsHelper(double n, double m, double expected) {
10384 ASSERT(std::isnan(n) || std::isnan(m)); 10384 ASSERT(std::isnan(n) || std::isnan(m));
10385 ASSERT(isnan(expected)); 10385 ASSERT(std::isnan(expected));
10386 10386
10387 SETUP(); 10387 SETUP();
10388 START(); 10388 START();
10389 10389
10390 // Execute a number of instructions which all use ProcessNaNs, and check that 10390 // Execute a number of instructions which all use ProcessNaNs, and check that
10391 // they all propagate NaNs correctly. 10391 // they all propagate NaNs correctly.
10392 __ Fmov(d0, n); 10392 __ Fmov(d0, n);
10393 __ Fmov(d1, m); 10393 __ Fmov(d1, m);
10394 10394
10395 __ Fadd(d2, d0, d1); 10395 __ Fadd(d2, d0, d1);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
10447 10447
10448 // Signalling NaNs take precedence over quiet NaNs. 10448 // Signalling NaNs take precedence over quiet NaNs.
10449 ProcessNaNsHelper(sn, qm, sn_proc); 10449 ProcessNaNsHelper(sn, qm, sn_proc);
10450 ProcessNaNsHelper(qn, sm, sm_proc); 10450 ProcessNaNsHelper(qn, sm, sm_proc);
10451 ProcessNaNsHelper(sn, sm, sn_proc); 10451 ProcessNaNsHelper(sn, sm, sn_proc);
10452 } 10452 }
10453 10453
10454 10454
10455 static void ProcessNaNsHelper(float n, float m, float expected) { 10455 static void ProcessNaNsHelper(float n, float m, float expected) {
10456 ASSERT(std::isnan(n) || std::isnan(m)); 10456 ASSERT(std::isnan(n) || std::isnan(m));
10457 ASSERT(isnan(expected)); 10457 ASSERT(std::isnan(expected));
10458 10458
10459 SETUP(); 10459 SETUP();
10460 START(); 10460 START();
10461 10461
10462 // Execute a number of instructions which all use ProcessNaNs, and check that 10462 // Execute a number of instructions which all use ProcessNaNs, and check that
10463 // they all propagate NaNs correctly. 10463 // they all propagate NaNs correctly.
10464 __ Fmov(s0, n); 10464 __ Fmov(s0, n);
10465 __ Fmov(s1, m); 10465 __ Fmov(s1, m);
10466 10466
10467 __ Fadd(s2, s0, s1); 10467 __ Fadd(s2, s0, s1);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
10518 ProcessNaNsHelper(sn, sm, sn_proc); 10518 ProcessNaNsHelper(sn, sm, sn_proc);
10519 10519
10520 // Signalling NaNs take precedence over quiet NaNs. 10520 // Signalling NaNs take precedence over quiet NaNs.
10521 ProcessNaNsHelper(sn, qm, sn_proc); 10521 ProcessNaNsHelper(sn, qm, sn_proc);
10522 ProcessNaNsHelper(qn, sm, sm_proc); 10522 ProcessNaNsHelper(qn, sm, sm_proc);
10523 ProcessNaNsHelper(sn, sm, sn_proc); 10523 ProcessNaNsHelper(sn, sm, sn_proc);
10524 } 10524 }
10525 10525
10526 10526
10527 static void DefaultNaNHelper(float n, float m, float a) { 10527 static void DefaultNaNHelper(float n, float m, float a) {
10528 ASSERT(std::isnan(n) || std::isnan(m) || isnan(a)); 10528 ASSERT(std::isnan(n) || std::isnan(m) || std::isnan(a));
10529 10529
10530 bool test_1op = std::isnan(n); 10530 bool test_1op = std::isnan(n);
10531 bool test_2op = std::isnan(n) || std::isnan(m); 10531 bool test_2op = std::isnan(n) || std::isnan(m);
10532 10532
10533 SETUP(); 10533 SETUP();
10534 START(); 10534 START();
10535 10535
10536 // Enable Default-NaN mode in the FPCR. 10536 // Enable Default-NaN mode in the FPCR.
10537 __ Mrs(x0, FPCR); 10537 __ Mrs(x0, FPCR);
10538 __ Orr(x1, x0, DN_mask); 10538 __ Orr(x1, x0, DN_mask);
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
10646 DefaultNaNHelper(sn, qm, sa); 10646 DefaultNaNHelper(sn, qm, sa);
10647 DefaultNaNHelper(sn, sm, qa); 10647 DefaultNaNHelper(sn, sm, qa);
10648 DefaultNaNHelper(qn, qm, sa); 10648 DefaultNaNHelper(qn, qm, sa);
10649 DefaultNaNHelper(sn, qm, qa); 10649 DefaultNaNHelper(sn, qm, qa);
10650 DefaultNaNHelper(qn, sm, qa); 10650 DefaultNaNHelper(qn, sm, qa);
10651 DefaultNaNHelper(qn, qm, qa); 10651 DefaultNaNHelper(qn, qm, qa);
10652 } 10652 }
10653 10653
10654 10654
10655 static void DefaultNaNHelper(double n, double m, double a) { 10655 static void DefaultNaNHelper(double n, double m, double a) {
10656 ASSERT(std::isnan(n) || std::isnan(m) || isnan(a)); 10656 ASSERT(std::isnan(n) || std::isnan(m) || std::isnan(a));
10657 10657
10658 bool test_1op = std::isnan(n); 10658 bool test_1op = std::isnan(n);
10659 bool test_2op = std::isnan(n) || std::isnan(m); 10659 bool test_2op = std::isnan(n) || std::isnan(m);
10660 10660
10661 SETUP(); 10661 SETUP();
10662 START(); 10662 START();
10663 10663
10664 // Enable Default-NaN mode in the FPCR. 10664 // Enable Default-NaN mode in the FPCR.
10665 __ Mrs(x0, FPCR); 10665 __ Mrs(x0, FPCR);
10666 __ Orr(x1, x0, DN_mask); 10666 __ Orr(x1, x0, DN_mask);
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
10995 if (RelocInfo::IsVeneerPool(info->rmode())) { 10995 if (RelocInfo::IsVeneerPool(info->rmode())) {
10996 ASSERT(info->data() == veneer_pool_size); 10996 ASSERT(info->data() == veneer_pool_size);
10997 ++pool_count; 10997 ++pool_count;
10998 } 10998 }
10999 } 10999 }
11000 11000
11001 ASSERT(pool_count == 2); 11001 ASSERT(pool_count == 2);
11002 11002
11003 TEARDOWN(); 11003 TEARDOWN();
11004 } 11004 }
OLDNEW
« no previous file with comments | « test/cctest/test-assembler-arm.cc ('k') | test/cctest/test-assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698