| 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 2892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2903 } | 2903 } |
| 2904 | 2904 |
| 2905 void InstructionSelector::VisitI16x8Sub(Node* node) { | 2905 void InstructionSelector::VisitI16x8Sub(Node* node) { |
| 2906 VisitRRR(this, kMips64I16x8Sub, node); | 2906 VisitRRR(this, kMips64I16x8Sub, node); |
| 2907 } | 2907 } |
| 2908 | 2908 |
| 2909 void InstructionSelector::VisitI16x8SubSaturateS(Node* node) { | 2909 void InstructionSelector::VisitI16x8SubSaturateS(Node* node) { |
| 2910 VisitRRR(this, kMips64I16x8SubSaturateS, node); | 2910 VisitRRR(this, kMips64I16x8SubSaturateS, node); |
| 2911 } | 2911 } |
| 2912 | 2912 |
| 2913 void InstructionSelector::VisitI16x8Mul(Node* node) { |
| 2914 VisitRRR(this, kMips64I16x8Mul, node); |
| 2915 } |
| 2916 |
| 2917 void InstructionSelector::VisitI16x8MaxS(Node* node) { |
| 2918 VisitRRR(this, kMips64I16x8MaxS, node); |
| 2919 } |
| 2920 |
| 2921 void InstructionSelector::VisitI16x8MinS(Node* node) { |
| 2922 VisitRRR(this, kMips64I16x8MinS, node); |
| 2923 } |
| 2924 |
| 2925 void InstructionSelector::VisitI16x8Eq(Node* node) { |
| 2926 VisitRRR(this, kMips64I16x8Eq, node); |
| 2927 } |
| 2928 |
| 2929 void InstructionSelector::VisitI16x8Ne(Node* node) { |
| 2930 VisitRRR(this, kMips64I16x8Ne, node); |
| 2931 } |
| 2932 |
| 2933 void InstructionSelector::VisitI16x8LtS(Node* node) { |
| 2934 VisitRRR(this, kMips64I16x8LtS, node); |
| 2935 } |
| 2936 |
| 2937 void InstructionSelector::VisitI16x8LeS(Node* node) { |
| 2938 VisitRRR(this, kMips64I16x8LeS, node); |
| 2939 } |
| 2940 |
| 2941 void InstructionSelector::VisitI16x8AddSaturateU(Node* node) { |
| 2942 VisitRRR(this, kMips64I16x8AddSaturateU, node); |
| 2943 } |
| 2944 |
| 2945 void InstructionSelector::VisitI16x8SubSaturateU(Node* node) { |
| 2946 VisitRRR(this, kMips64I16x8SubSaturateU, node); |
| 2947 } |
| 2948 |
| 2949 void InstructionSelector::VisitI16x8MaxU(Node* node) { |
| 2950 VisitRRR(this, kMips64I16x8MaxU, node); |
| 2951 } |
| 2952 |
| 2953 void InstructionSelector::VisitI16x8MinU(Node* node) { |
| 2954 VisitRRR(this, kMips64I16x8MinU, node); |
| 2955 } |
| 2956 |
| 2957 void InstructionSelector::VisitI16x8LtU(Node* node) { |
| 2958 VisitRRR(this, kMips64I16x8LtU, node); |
| 2959 } |
| 2960 |
| 2961 void InstructionSelector::VisitI16x8LeU(Node* node) { |
| 2962 VisitRRR(this, kMips64I16x8LeU, node); |
| 2963 } |
| 2964 |
| 2965 void InstructionSelector::VisitI8x16Splat(Node* node) { |
| 2966 VisitRR(this, kMips64I8x16Splat, node); |
| 2967 } |
| 2968 |
| 2969 void InstructionSelector::VisitI8x16ExtractLane(Node* node) { |
| 2970 VisitRRI(this, kMips64I8x16ExtractLane, node); |
| 2971 } |
| 2972 |
| 2973 void InstructionSelector::VisitI8x16ReplaceLane(Node* node) { |
| 2974 VisitRRIR(this, kMips64I8x16ReplaceLane, node); |
| 2975 } |
| 2976 |
| 2977 void InstructionSelector::VisitI8x16Neg(Node* node) { |
| 2978 VisitRR(this, kMips64I8x16Neg, node); |
| 2979 } |
| 2980 |
| 2981 void InstructionSelector::VisitI8x16Shl(Node* node) { |
| 2982 VisitRRI(this, kMips64I8x16Shl, node); |
| 2983 } |
| 2984 |
| 2985 void InstructionSelector::VisitI8x16ShrS(Node* node) { |
| 2986 VisitRRI(this, kMips64I8x16ShrS, node); |
| 2987 } |
| 2988 |
| 2989 void InstructionSelector::VisitS16x8Select(Node* node) { |
| 2990 VisitRRRR(this, kMips64S16x8Select, node); |
| 2991 } |
| 2992 |
| 2993 void InstructionSelector::VisitS8x16Select(Node* node) { |
| 2994 VisitRRRR(this, kMips64S8x16Select, node); |
| 2995 } |
| 2996 |
| 2913 // static | 2997 // static |
| 2914 MachineOperatorBuilder::Flags | 2998 MachineOperatorBuilder::Flags |
| 2915 InstructionSelector::SupportedMachineOperatorFlags() { | 2999 InstructionSelector::SupportedMachineOperatorFlags() { |
| 2916 MachineOperatorBuilder::Flags flags = MachineOperatorBuilder::kNoFlags; | 3000 MachineOperatorBuilder::Flags flags = MachineOperatorBuilder::kNoFlags; |
| 2917 return flags | MachineOperatorBuilder::kWord32Ctz | | 3001 return flags | MachineOperatorBuilder::kWord32Ctz | |
| 2918 MachineOperatorBuilder::kWord64Ctz | | 3002 MachineOperatorBuilder::kWord64Ctz | |
| 2919 MachineOperatorBuilder::kWord32Popcnt | | 3003 MachineOperatorBuilder::kWord32Popcnt | |
| 2920 MachineOperatorBuilder::kWord64Popcnt | | 3004 MachineOperatorBuilder::kWord64Popcnt | |
| 2921 MachineOperatorBuilder::kWord32ShiftIsSafe | | 3005 MachineOperatorBuilder::kWord32ShiftIsSafe | |
| 2922 MachineOperatorBuilder::kInt32DivIsSafe | | 3006 MachineOperatorBuilder::kInt32DivIsSafe | |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2942 } else { | 3026 } else { |
| 2943 DCHECK(kArchVariant == kMips64r2); | 3027 DCHECK(kArchVariant == kMips64r2); |
| 2944 return MachineOperatorBuilder::AlignmentRequirements:: | 3028 return MachineOperatorBuilder::AlignmentRequirements:: |
| 2945 NoUnalignedAccessSupport(); | 3029 NoUnalignedAccessSupport(); |
| 2946 } | 3030 } |
| 2947 } | 3031 } |
| 2948 | 3032 |
| 2949 } // namespace compiler | 3033 } // namespace compiler |
| 2950 } // namespace internal | 3034 } // namespace internal |
| 2951 } // namespace v8 | 3035 } // namespace v8 |
| OLD | NEW |