OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/base/adapters.h" | 5 #include "src/base/adapters.h" |
6 #include "src/base/bits.h" | 6 #include "src/base/bits.h" |
7 #include "src/compiler/instruction-selector-impl.h" | 7 #include "src/compiler/instruction-selector-impl.h" |
8 #include "src/compiler/node-matchers.h" | 8 #include "src/compiler/node-matchers.h" |
9 #include "src/compiler/node-properties.h" | 9 #include "src/compiler/node-properties.h" |
10 | 10 |
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 break; | 407 break; |
408 case MachineRepresentation::kTaggedSigned: // Fall through. | 408 case MachineRepresentation::kTaggedSigned: // Fall through. |
409 case MachineRepresentation::kTaggedPointer: // Fall through. | 409 case MachineRepresentation::kTaggedPointer: // Fall through. |
410 case MachineRepresentation::kTagged: // Fall through. | 410 case MachineRepresentation::kTagged: // Fall through. |
411 case MachineRepresentation::kWord64: | 411 case MachineRepresentation::kWord64: |
412 opcode = kMips64Ld; | 412 opcode = kMips64Ld; |
413 break; | 413 break; |
414 case MachineRepresentation::kSimd128: | 414 case MachineRepresentation::kSimd128: |
415 opcode = kMips64MsaLd; | 415 opcode = kMips64MsaLd; |
416 break; | 416 break; |
417 case MachineRepresentation::kSimd1x4: // Fall through. | |
418 case MachineRepresentation::kSimd1x8: // Fall through. | |
419 case MachineRepresentation::kSimd1x16: // Fall through. | |
420 case MachineRepresentation::kNone: | 417 case MachineRepresentation::kNone: |
421 UNREACHABLE(); | 418 UNREACHABLE(); |
422 return; | 419 return; |
423 } | 420 } |
424 | 421 |
425 EmitLoad(this, node, opcode); | 422 EmitLoad(this, node, opcode); |
426 } | 423 } |
427 | 424 |
428 void InstructionSelector::VisitProtectedLoad(Node* node) { | 425 void InstructionSelector::VisitProtectedLoad(Node* node) { |
429 // TODO(eholk) | 426 // TODO(eholk) |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 break; | 486 break; |
490 case MachineRepresentation::kTaggedSigned: // Fall through. | 487 case MachineRepresentation::kTaggedSigned: // Fall through. |
491 case MachineRepresentation::kTaggedPointer: // Fall through. | 488 case MachineRepresentation::kTaggedPointer: // Fall through. |
492 case MachineRepresentation::kTagged: // Fall through. | 489 case MachineRepresentation::kTagged: // Fall through. |
493 case MachineRepresentation::kWord64: | 490 case MachineRepresentation::kWord64: |
494 opcode = kMips64Sd; | 491 opcode = kMips64Sd; |
495 break; | 492 break; |
496 case MachineRepresentation::kSimd128: | 493 case MachineRepresentation::kSimd128: |
497 opcode = kMips64MsaSt; | 494 opcode = kMips64MsaSt; |
498 break; | 495 break; |
499 case MachineRepresentation::kSimd1x4: // Fall through. | |
500 case MachineRepresentation::kSimd1x8: // Fall through. | |
501 case MachineRepresentation::kSimd1x16: // Fall through. | |
502 case MachineRepresentation::kNone: | 496 case MachineRepresentation::kNone: |
503 UNREACHABLE(); | 497 UNREACHABLE(); |
504 return; | 498 return; |
505 } | 499 } |
506 | 500 |
507 if (g.CanBeImmediate(index, opcode)) { | 501 if (g.CanBeImmediate(index, opcode)) { |
508 Emit(opcode | AddressingModeField::encode(kMode_MRI), g.NoOutput(), | 502 Emit(opcode | AddressingModeField::encode(kMode_MRI), g.NoOutput(), |
509 g.UseRegister(base), g.UseImmediate(index), | 503 g.UseRegister(base), g.UseImmediate(index), |
510 g.UseRegisterOrImmediateZero(value)); | 504 g.UseRegisterOrImmediateZero(value)); |
511 } else { | 505 } else { |
(...skipping 1273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1785 break; | 1779 break; |
1786 case MachineRepresentation::kTaggedSigned: // Fall through. | 1780 case MachineRepresentation::kTaggedSigned: // Fall through. |
1787 case MachineRepresentation::kTaggedPointer: // Fall through. | 1781 case MachineRepresentation::kTaggedPointer: // Fall through. |
1788 case MachineRepresentation::kTagged: // Fall through. | 1782 case MachineRepresentation::kTagged: // Fall through. |
1789 case MachineRepresentation::kWord64: | 1783 case MachineRepresentation::kWord64: |
1790 opcode = kMips64Uld; | 1784 opcode = kMips64Uld; |
1791 break; | 1785 break; |
1792 case MachineRepresentation::kSimd128: | 1786 case MachineRepresentation::kSimd128: |
1793 opcode = kMips64MsaLd; | 1787 opcode = kMips64MsaLd; |
1794 break; | 1788 break; |
1795 case MachineRepresentation::kSimd1x4: // Fall through. | |
1796 case MachineRepresentation::kSimd1x8: // Fall through. | |
1797 case MachineRepresentation::kSimd1x16: // Fall through. | |
1798 case MachineRepresentation::kNone: | 1789 case MachineRepresentation::kNone: |
1799 UNREACHABLE(); | 1790 UNREACHABLE(); |
1800 return; | 1791 return; |
1801 } | 1792 } |
1802 | 1793 |
1803 if (g.CanBeImmediate(index, opcode)) { | 1794 if (g.CanBeImmediate(index, opcode)) { |
1804 Emit(opcode | AddressingModeField::encode(kMode_MRI), | 1795 Emit(opcode | AddressingModeField::encode(kMode_MRI), |
1805 g.DefineAsRegister(node), g.UseRegister(base), g.UseImmediate(index)); | 1796 g.DefineAsRegister(node), g.UseRegister(base), g.UseImmediate(index)); |
1806 } else { | 1797 } else { |
1807 InstructionOperand addr_reg = g.TempRegister(); | 1798 InstructionOperand addr_reg = g.TempRegister(); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1840 break; | 1831 break; |
1841 case MachineRepresentation::kTaggedSigned: // Fall through. | 1832 case MachineRepresentation::kTaggedSigned: // Fall through. |
1842 case MachineRepresentation::kTaggedPointer: // Fall through. | 1833 case MachineRepresentation::kTaggedPointer: // Fall through. |
1843 case MachineRepresentation::kTagged: // Fall through. | 1834 case MachineRepresentation::kTagged: // Fall through. |
1844 case MachineRepresentation::kWord64: | 1835 case MachineRepresentation::kWord64: |
1845 opcode = kMips64Usd; | 1836 opcode = kMips64Usd; |
1846 break; | 1837 break; |
1847 case MachineRepresentation::kSimd128: | 1838 case MachineRepresentation::kSimd128: |
1848 opcode = kMips64MsaSt; | 1839 opcode = kMips64MsaSt; |
1849 break; | 1840 break; |
1850 case MachineRepresentation::kSimd1x4: // Fall through. | |
1851 case MachineRepresentation::kSimd1x8: // Fall through. | |
1852 case MachineRepresentation::kSimd1x16: // Fall through. | |
1853 case MachineRepresentation::kNone: | 1841 case MachineRepresentation::kNone: |
1854 UNREACHABLE(); | 1842 UNREACHABLE(); |
1855 return; | 1843 return; |
1856 } | 1844 } |
1857 | 1845 |
1858 if (g.CanBeImmediate(index, opcode)) { | 1846 if (g.CanBeImmediate(index, opcode)) { |
1859 Emit(opcode | AddressingModeField::encode(kMode_MRI), g.NoOutput(), | 1847 Emit(opcode | AddressingModeField::encode(kMode_MRI), g.NoOutput(), |
1860 g.UseRegister(base), g.UseImmediate(index), | 1848 g.UseRegister(base), g.UseImmediate(index), |
1861 g.UseRegisterOrImmediateZero(value)); | 1849 g.UseRegisterOrImmediateZero(value)); |
1862 } else { | 1850 } else { |
(...skipping 30 matching lines...) Expand all Loading... |
1893 opcode = kCheckedLoadFloat32; | 1881 opcode = kCheckedLoadFloat32; |
1894 break; | 1882 break; |
1895 case MachineRepresentation::kFloat64: | 1883 case MachineRepresentation::kFloat64: |
1896 opcode = kCheckedLoadFloat64; | 1884 opcode = kCheckedLoadFloat64; |
1897 break; | 1885 break; |
1898 case MachineRepresentation::kBit: | 1886 case MachineRepresentation::kBit: |
1899 case MachineRepresentation::kTaggedSigned: // Fall through. | 1887 case MachineRepresentation::kTaggedSigned: // Fall through. |
1900 case MachineRepresentation::kTaggedPointer: // Fall through. | 1888 case MachineRepresentation::kTaggedPointer: // Fall through. |
1901 case MachineRepresentation::kTagged: | 1889 case MachineRepresentation::kTagged: |
1902 case MachineRepresentation::kSimd128: | 1890 case MachineRepresentation::kSimd128: |
1903 case MachineRepresentation::kSimd1x4: // Fall through. | |
1904 case MachineRepresentation::kSimd1x8: // Fall through. | |
1905 case MachineRepresentation::kSimd1x16: // Fall through. | |
1906 case MachineRepresentation::kNone: | 1891 case MachineRepresentation::kNone: |
1907 UNREACHABLE(); | 1892 UNREACHABLE(); |
1908 return; | 1893 return; |
1909 } | 1894 } |
1910 InstructionOperand offset_operand = g.CanBeImmediate(offset, opcode) | 1895 InstructionOperand offset_operand = g.CanBeImmediate(offset, opcode) |
1911 ? g.UseImmediate(offset) | 1896 ? g.UseImmediate(offset) |
1912 : g.UseRegister(offset); | 1897 : g.UseRegister(offset); |
1913 | 1898 |
1914 InstructionOperand length_operand = (!g.CanBeImmediate(offset, opcode)) | 1899 InstructionOperand length_operand = (!g.CanBeImmediate(offset, opcode)) |
1915 ? g.CanBeImmediate(length, opcode) | 1900 ? g.CanBeImmediate(length, opcode) |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1957 opcode = kCheckedStoreFloat32; | 1942 opcode = kCheckedStoreFloat32; |
1958 break; | 1943 break; |
1959 case MachineRepresentation::kFloat64: | 1944 case MachineRepresentation::kFloat64: |
1960 opcode = kCheckedStoreFloat64; | 1945 opcode = kCheckedStoreFloat64; |
1961 break; | 1946 break; |
1962 case MachineRepresentation::kBit: | 1947 case MachineRepresentation::kBit: |
1963 case MachineRepresentation::kTaggedSigned: // Fall through. | 1948 case MachineRepresentation::kTaggedSigned: // Fall through. |
1964 case MachineRepresentation::kTaggedPointer: // Fall through. | 1949 case MachineRepresentation::kTaggedPointer: // Fall through. |
1965 case MachineRepresentation::kTagged: | 1950 case MachineRepresentation::kTagged: |
1966 case MachineRepresentation::kSimd128: | 1951 case MachineRepresentation::kSimd128: |
1967 case MachineRepresentation::kSimd1x4: // Fall through. | |
1968 case MachineRepresentation::kSimd1x8: // Fall through. | |
1969 case MachineRepresentation::kSimd1x16: // Fall through. | |
1970 case MachineRepresentation::kNone: | 1952 case MachineRepresentation::kNone: |
1971 UNREACHABLE(); | 1953 UNREACHABLE(); |
1972 return; | 1954 return; |
1973 } | 1955 } |
1974 InstructionOperand offset_operand = g.CanBeImmediate(offset, opcode) | 1956 InstructionOperand offset_operand = g.CanBeImmediate(offset, opcode) |
1975 ? g.UseImmediate(offset) | 1957 ? g.UseImmediate(offset) |
1976 : g.UseRegister(offset); | 1958 : g.UseRegister(offset); |
1977 | 1959 |
1978 InstructionOperand length_operand = (!g.CanBeImmediate(offset, opcode)) | 1960 InstructionOperand length_operand = (!g.CanBeImmediate(offset, opcode)) |
1979 ? g.CanBeImmediate(length, opcode) | 1961 ? g.CanBeImmediate(length, opcode) |
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2705 V(F32x4) \ | 2687 V(F32x4) \ |
2706 V(I32x4) \ | 2688 V(I32x4) \ |
2707 V(I16x8) \ | 2689 V(I16x8) \ |
2708 V(I8x16) | 2690 V(I8x16) |
2709 | 2691 |
2710 #define SIMD_FORMAT_LIST(V) \ | 2692 #define SIMD_FORMAT_LIST(V) \ |
2711 V(32x4) \ | 2693 V(32x4) \ |
2712 V(16x8) \ | 2694 V(16x8) \ |
2713 V(8x16) | 2695 V(8x16) |
2714 | 2696 |
2715 #define SIMD_ZERO_OP_LIST(V) \ | |
2716 V(S128Zero) \ | |
2717 V(S1x4Zero) \ | |
2718 V(S1x8Zero) \ | |
2719 V(S1x16Zero) | |
2720 | |
2721 #define SIMD_UNOP_LIST(V) \ | 2697 #define SIMD_UNOP_LIST(V) \ |
2722 V(F32x4SConvertI32x4, kMips64F32x4SConvertI32x4) \ | 2698 V(F32x4SConvertI32x4, kMips64F32x4SConvertI32x4) \ |
2723 V(F32x4UConvertI32x4, kMips64F32x4UConvertI32x4) \ | 2699 V(F32x4UConvertI32x4, kMips64F32x4UConvertI32x4) \ |
2724 V(F32x4Abs, kMips64F32x4Abs) \ | 2700 V(F32x4Abs, kMips64F32x4Abs) \ |
2725 V(F32x4Neg, kMips64F32x4Neg) \ | 2701 V(F32x4Neg, kMips64F32x4Neg) \ |
2726 V(F32x4RecipApprox, kMips64F32x4RecipApprox) \ | 2702 V(F32x4RecipApprox, kMips64F32x4RecipApprox) \ |
2727 V(F32x4RecipSqrtApprox, kMips64F32x4RecipSqrtApprox) \ | 2703 V(F32x4RecipSqrtApprox, kMips64F32x4RecipSqrtApprox) \ |
2728 V(I32x4SConvertF32x4, kMips64I32x4SConvertF32x4) \ | 2704 V(I32x4SConvertF32x4, kMips64I32x4SConvertF32x4) \ |
2729 V(I32x4UConvertF32x4, kMips64I32x4UConvertF32x4) \ | 2705 V(I32x4UConvertF32x4, kMips64I32x4UConvertF32x4) \ |
2730 V(I32x4Neg, kMips64I32x4Neg) \ | 2706 V(I32x4Neg, kMips64I32x4Neg) \ |
2731 V(I16x8Neg, kMips64I16x8Neg) \ | 2707 V(I16x8Neg, kMips64I16x8Neg) \ |
2732 V(I8x16Neg, kMips64I8x16Neg) \ | 2708 V(I8x16Neg, kMips64I8x16Neg) \ |
2733 V(S128Not, kMips64S128Not) \ | 2709 V(S128Not, kMips64S128Not) \ |
2734 V(S1x4Not, kMips64S128Not) \ | |
2735 V(S1x4AnyTrue, kMips64S1x4AnyTrue) \ | 2710 V(S1x4AnyTrue, kMips64S1x4AnyTrue) \ |
2736 V(S1x4AllTrue, kMips64S1x4AllTrue) \ | 2711 V(S1x4AllTrue, kMips64S1x4AllTrue) \ |
2737 V(S1x8Not, kMips64S128Not) \ | |
2738 V(S1x8AnyTrue, kMips64S1x8AnyTrue) \ | 2712 V(S1x8AnyTrue, kMips64S1x8AnyTrue) \ |
2739 V(S1x8AllTrue, kMips64S1x8AllTrue) \ | 2713 V(S1x8AllTrue, kMips64S1x8AllTrue) \ |
2740 V(S1x16Not, kMips64S128Not) \ | |
2741 V(S1x16AnyTrue, kMips64S1x16AnyTrue) \ | 2714 V(S1x16AnyTrue, kMips64S1x16AnyTrue) \ |
2742 V(S1x16AllTrue, kMips64S1x16AllTrue) | 2715 V(S1x16AllTrue, kMips64S1x16AllTrue) |
2743 | 2716 |
2744 #define SIMD_SHIFT_OP_LIST(V) \ | 2717 #define SIMD_SHIFT_OP_LIST(V) \ |
2745 V(I32x4Shl) \ | 2718 V(I32x4Shl) \ |
2746 V(I32x4ShrS) \ | 2719 V(I32x4ShrS) \ |
2747 V(I32x4ShrU) \ | 2720 V(I32x4ShrU) \ |
2748 V(I16x8Shl) \ | 2721 V(I16x8Shl) \ |
2749 V(I16x8ShrS) \ | 2722 V(I16x8ShrS) \ |
2750 V(I16x8ShrU) \ | 2723 V(I16x8ShrU) \ |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2804 V(I8x16MaxU, kMips64I8x16MaxU) \ | 2777 V(I8x16MaxU, kMips64I8x16MaxU) \ |
2805 V(I8x16MinU, kMips64I8x16MinU) \ | 2778 V(I8x16MinU, kMips64I8x16MinU) \ |
2806 V(I8x16Eq, kMips64I8x16Eq) \ | 2779 V(I8x16Eq, kMips64I8x16Eq) \ |
2807 V(I8x16Ne, kMips64I8x16Ne) \ | 2780 V(I8x16Ne, kMips64I8x16Ne) \ |
2808 V(I8x16GtS, kMips64I8x16GtS) \ | 2781 V(I8x16GtS, kMips64I8x16GtS) \ |
2809 V(I8x16GeS, kMips64I8x16GeS) \ | 2782 V(I8x16GeS, kMips64I8x16GeS) \ |
2810 V(I8x16GtU, kMips64I8x16GtU) \ | 2783 V(I8x16GtU, kMips64I8x16GtU) \ |
2811 V(I8x16GeU, kMips64I8x16GeU) \ | 2784 V(I8x16GeU, kMips64I8x16GeU) \ |
2812 V(S128And, kMips64S128And) \ | 2785 V(S128And, kMips64S128And) \ |
2813 V(S128Or, kMips64S128Or) \ | 2786 V(S128Or, kMips64S128Or) \ |
2814 V(S128Xor, kMips64S128Xor) \ | 2787 V(S128Xor, kMips64S128Xor) |
2815 V(S1x4And, kMips64S128And) \ | |
2816 V(S1x4Or, kMips64S128Or) \ | |
2817 V(S1x4Xor, kMips64S128Xor) \ | |
2818 V(S1x8And, kMips64S128And) \ | |
2819 V(S1x8Or, kMips64S128Or) \ | |
2820 V(S1x8Xor, kMips64S128Xor) \ | |
2821 V(S1x16And, kMips64S128And) \ | |
2822 V(S1x16Or, kMips64S128Or) \ | |
2823 V(S1x16Xor, kMips64S128Xor) | |
2824 | 2788 |
2825 #define SIMD_VISIT_ZERO_OP(Name) \ | 2789 void InstructionSelector::VisitS128Zero(Node* node) { |
2826 void InstructionSelector::Visit##Name(Node* node) { \ | 2790 Mips64OperandGenerator g(this); |
2827 Mips64OperandGenerator g(this); \ | 2791 Emit(kMips64S128Zero, g.DefineSameAsFirst(node)); |
2828 Emit(kMips64S128Zero, g.DefineSameAsFirst(node)); \ | 2792 } |
2829 } | |
2830 SIMD_ZERO_OP_LIST(SIMD_VISIT_ZERO_OP) | |
2831 #undef SIMD_VISIT_ZERO_OP | |
2832 | 2793 |
2833 #define SIMD_VISIT_SPLAT(Type) \ | 2794 #define SIMD_VISIT_SPLAT(Type) \ |
2834 void InstructionSelector::Visit##Type##Splat(Node* node) { \ | 2795 void InstructionSelector::Visit##Type##Splat(Node* node) { \ |
2835 VisitRR(this, kMips64##Type##Splat, node); \ | 2796 VisitRR(this, kMips64##Type##Splat, node); \ |
2836 } | 2797 } |
2837 SIMD_TYPE_LIST(SIMD_VISIT_SPLAT) | 2798 SIMD_TYPE_LIST(SIMD_VISIT_SPLAT) |
2838 #undef SIMD_VISIT_SPLAT | 2799 #undef SIMD_VISIT_SPLAT |
2839 | 2800 |
2840 #define SIMD_VISIT_EXTRACT_LANE(Type) \ | 2801 #define SIMD_VISIT_EXTRACT_LANE(Type) \ |
2841 void InstructionSelector::Visit##Type##ExtractLane(Node* node) { \ | 2802 void InstructionSelector::Visit##Type##ExtractLane(Node* node) { \ |
(...skipping 23 matching lines...) Expand all Loading... |
2865 SIMD_SHIFT_OP_LIST(SIMD_VISIT_SHIFT_OP) | 2826 SIMD_SHIFT_OP_LIST(SIMD_VISIT_SHIFT_OP) |
2866 #undef SIMD_VISIT_SHIFT_OP | 2827 #undef SIMD_VISIT_SHIFT_OP |
2867 | 2828 |
2868 #define SIMD_VISIT_BINOP(Name, instruction) \ | 2829 #define SIMD_VISIT_BINOP(Name, instruction) \ |
2869 void InstructionSelector::Visit##Name(Node* node) { \ | 2830 void InstructionSelector::Visit##Name(Node* node) { \ |
2870 VisitRRR(this, instruction, node); \ | 2831 VisitRRR(this, instruction, node); \ |
2871 } | 2832 } |
2872 SIMD_BINOP_LIST(SIMD_VISIT_BINOP) | 2833 SIMD_BINOP_LIST(SIMD_VISIT_BINOP) |
2873 #undef SIMD_VISIT_BINOP | 2834 #undef SIMD_VISIT_BINOP |
2874 | 2835 |
2875 #define SIMD_VISIT_SELECT_OP(format) \ | 2836 void InstructionSelector::VisitS128Select(Node* node) { |
2876 void InstructionSelector::VisitS##format##Select(Node* node) { \ | 2837 VisitRRRR(this, kMips64S128Select, node); |
2877 VisitRRRR(this, kMips64S##format##Select, node); \ | 2838 } |
2878 } | |
2879 SIMD_FORMAT_LIST(SIMD_VISIT_SELECT_OP) | |
2880 #undef SIMD_VISIT_SELECT_OP | |
2881 | 2839 |
2882 // static | 2840 // static |
2883 MachineOperatorBuilder::Flags | 2841 MachineOperatorBuilder::Flags |
2884 InstructionSelector::SupportedMachineOperatorFlags() { | 2842 InstructionSelector::SupportedMachineOperatorFlags() { |
2885 MachineOperatorBuilder::Flags flags = MachineOperatorBuilder::kNoFlags; | 2843 MachineOperatorBuilder::Flags flags = MachineOperatorBuilder::kNoFlags; |
2886 return flags | MachineOperatorBuilder::kWord32Ctz | | 2844 return flags | MachineOperatorBuilder::kWord32Ctz | |
2887 MachineOperatorBuilder::kWord64Ctz | | 2845 MachineOperatorBuilder::kWord64Ctz | |
2888 MachineOperatorBuilder::kWord32Popcnt | | 2846 MachineOperatorBuilder::kWord32Popcnt | |
2889 MachineOperatorBuilder::kWord64Popcnt | | 2847 MachineOperatorBuilder::kWord64Popcnt | |
2890 MachineOperatorBuilder::kWord32ShiftIsSafe | | 2848 MachineOperatorBuilder::kWord32ShiftIsSafe | |
(...skipping 20 matching lines...) Expand all Loading... |
2911 } else { | 2869 } else { |
2912 DCHECK(kArchVariant == kMips64r2); | 2870 DCHECK(kArchVariant == kMips64r2); |
2913 return MachineOperatorBuilder::AlignmentRequirements:: | 2871 return MachineOperatorBuilder::AlignmentRequirements:: |
2914 NoUnalignedAccessSupport(); | 2872 NoUnalignedAccessSupport(); |
2915 } | 2873 } |
2916 } | 2874 } |
2917 | 2875 |
2918 } // namespace compiler | 2876 } // namespace compiler |
2919 } // namespace internal | 2877 } // namespace internal |
2920 } // namespace v8 | 2878 } // namespace v8 |
OLD | NEW |