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 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 __ mfc1(t0, f4); | 412 __ mfc1(t0, f4); |
413 __ mfc1(t1, f5); | 413 __ mfc1(t1, f5); |
414 __ mfc1(t2, f6); | 414 __ mfc1(t2, f6); |
415 __ mfc1(t3, f7); | 415 __ mfc1(t3, f7); |
416 | 416 |
417 __ mtc1(t0, f6); | 417 __ mtc1(t0, f6); |
418 __ mtc1(t1, f7); | 418 __ mtc1(t1, f7); |
419 __ mtc1(t2, f4); | 419 __ mtc1(t2, f4); |
420 __ mtc1(t3, f5); | 420 __ mtc1(t3, f5); |
421 } else { | 421 } else { |
422 DCHECK(!IsMipsArchVariant(kMips32r1) && !IsMipsArchVariant(kLoongson)); | 422 CHECK(!IsMipsArchVariant(kMips32r1) && !IsMipsArchVariant(kLoongson)); |
423 __ mfc1(t0, f4); | 423 __ mfc1(t0, f4); |
424 __ mfhc1(t1, f4); | 424 __ mfhc1(t1, f4); |
425 __ mfc1(t2, f6); | 425 __ mfc1(t2, f6); |
426 __ mfhc1(t3, f6); | 426 __ mfhc1(t3, f6); |
427 | 427 |
428 __ mtc1(t0, f6); | 428 __ mtc1(t0, f6); |
429 __ mthc1(t1, f6); | 429 __ mthc1(t1, f6); |
430 __ mtc1(t2, f4); | 430 __ mtc1(t2, f4); |
431 __ mthc1(t3, f4); | 431 __ mthc1(t3, f4); |
432 } | 432 } |
(...skipping 1083 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1516 test.f = inputsf[i]; | 1516 test.f = inputsf[i]; |
1517 | 1517 |
1518 (CALL_GENERATED_CODE(isolate, f, &test, 0, 0, 0, 0)); | 1518 (CALL_GENERATED_CODE(isolate, f, &test, 0, 0, 0, 0)); |
1519 | 1519 |
1520 if (i < kTableLength - 1) { | 1520 if (i < kTableLength - 1) { |
1521 CHECK_EQ(test.c, outputsdmin[i]); | 1521 CHECK_EQ(test.c, outputsdmin[i]); |
1522 CHECK_EQ(test.d, outputsdmax[i]); | 1522 CHECK_EQ(test.d, outputsdmax[i]); |
1523 CHECK_EQ(test.g, outputsfmin[i]); | 1523 CHECK_EQ(test.g, outputsfmin[i]); |
1524 CHECK_EQ(test.h, outputsfmax[i]); | 1524 CHECK_EQ(test.h, outputsfmax[i]); |
1525 } else { | 1525 } else { |
1526 DCHECK(std::isnan(test.c)); | 1526 CHECK(std::isnan(test.c)); |
1527 DCHECK(std::isnan(test.d)); | 1527 CHECK(std::isnan(test.d)); |
1528 DCHECK(std::isnan(test.g)); | 1528 CHECK(std::isnan(test.g)); |
1529 DCHECK(std::isnan(test.h)); | 1529 CHECK(std::isnan(test.h)); |
1530 } | 1530 } |
1531 } | 1531 } |
1532 } | 1532 } |
1533 } | 1533 } |
1534 | 1534 |
1535 | 1535 |
1536 TEST(rint_d) { | 1536 TEST(rint_d) { |
1537 if (IsMipsArchVariant(kMips32r6)) { | 1537 if (IsMipsArchVariant(kMips32r6)) { |
1538 const int kTableLength = 30; | 1538 const int kTableLength = 30; |
1539 CcTest::InitializeVM(); | 1539 CcTest::InitializeVM(); |
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1949 test.b = inputsb[i]; | 1949 test.b = inputsb[i]; |
1950 test.c = inputsc[i]; | 1950 test.c = inputsc[i]; |
1951 test.d = inputsd[i]; | 1951 test.d = inputsd[i]; |
1952 (CALL_GENERATED_CODE(isolate, f, &test, 0, 0, 0, 0)); | 1952 (CALL_GENERATED_CODE(isolate, f, &test, 0, 0, 0, 0)); |
1953 if (i < kTableLength - 1) { | 1953 if (i < kTableLength - 1) { |
1954 CHECK_EQ(test.resd, resd[i]); | 1954 CHECK_EQ(test.resd, resd[i]); |
1955 CHECK_EQ(test.resf, resf[i]); | 1955 CHECK_EQ(test.resf, resf[i]); |
1956 CHECK_EQ(test.resd1, resd1[i]); | 1956 CHECK_EQ(test.resd1, resd1[i]); |
1957 CHECK_EQ(test.resf1, resf1[i]); | 1957 CHECK_EQ(test.resf1, resf1[i]); |
1958 } else { | 1958 } else { |
1959 DCHECK(std::isnan(test.resd)); | 1959 CHECK(std::isnan(test.resd)); |
1960 DCHECK(std::isnan(test.resf)); | 1960 CHECK(std::isnan(test.resf)); |
1961 DCHECK(std::isnan(test.resd1)); | 1961 CHECK(std::isnan(test.resd1)); |
1962 DCHECK(std::isnan(test.resf1)); | 1962 CHECK(std::isnan(test.resf1)); |
1963 } | 1963 } |
1964 } | 1964 } |
1965 } | 1965 } |
1966 } | 1966 } |
1967 | 1967 |
1968 | 1968 |
1969 // ----------------------mips32r2 specific tests---------------------- | 1969 // ----------------------mips32r2 specific tests---------------------- |
1970 TEST(trunc_l) { | 1970 TEST(trunc_l) { |
1971 if (IsMipsArchVariant(kMips32r2) && IsFp64Mode()) { | 1971 if (IsMipsArchVariant(kMips32r2) && IsFp64Mode()) { |
1972 CcTest::InitializeVM(); | 1972 CcTest::InitializeVM(); |
(...skipping 3411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5384 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); | 5384 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); |
5385 F2 f = FUNCTION_CAST<F2>(code->entry()); | 5385 F2 f = FUNCTION_CAST<F2>(code->entry()); |
5386 | 5386 |
5387 int32_t res = reinterpret_cast<int32_t>( | 5387 int32_t res = reinterpret_cast<int32_t>( |
5388 CALL_GENERATED_CODE(isolate, f, 42, 42, 0, 0, 0)); | 5388 CALL_GENERATED_CODE(isolate, f, 42, 42, 0, 0, 0)); |
5389 CHECK_EQ(res, 0); | 5389 CHECK_EQ(res, 0); |
5390 } | 5390 } |
5391 | 5391 |
5392 | 5392 |
5393 #undef __ | 5393 #undef __ |
OLD | NEW |