Index: src/compiler/machine-operator.cc |
diff --git a/src/compiler/machine-operator.cc b/src/compiler/machine-operator.cc |
index 2522a8e15dba03740ffe9a5e1cd72ff00666511f..623f32e55e2eca1b881e7576a1a2b0926ee3f221 100644 |
--- a/src/compiler/machine-operator.cc |
+++ b/src/compiler/machine-operator.cc |
@@ -168,6 +168,24 @@ struct MachineOperatorGlobalCache { |
PURE_OP_LIST(PURE) |
#undef PURE |
+ template <int kLocation> |
+ struct Float64ExtractWord32Operator FINAL : public Operator1<int> { |
+ Float64ExtractWord32Operator() |
+ : Operator1<int>(IrOpcode::kFloat64ExtractWord32, Operator::kPure, |
+ "Float64ExtractWord32", 1, 0, 0, 1, 0, 0, kLocation) {} |
+ }; |
+ Float64ExtractWord32Operator<0> kFloat64ExtractWord32Operator0; |
+ Float64ExtractWord32Operator<1> kFloat64ExtractWord32Operator1; |
+ |
+ template <int kLocation> |
+ struct Float64InsertWord32Operator FINAL : public Operator1<int> { |
+ Float64InsertWord32Operator() |
+ : Operator1<int>(IrOpcode::kFloat64InsertWord32, Operator::kPure, |
+ "Float64InsertWord32", 2, 0, 0, 1, 0, 0, kLocation) {} |
+ }; |
+ Float64InsertWord32Operator<0> kFloat64InsertWord32Operator0; |
+ Float64InsertWord32Operator<1> kFloat64InsertWord32Operator1; |
+ |
#define LOAD(Type) \ |
struct Load##Type##Operator FINAL : public Operator1<LoadRepresentation> { \ |
Load##Type##Operator() \ |
@@ -238,6 +256,30 @@ PURE_OP_LIST(PURE) |
#undef PURE |
+const Operator* MachineOperatorBuilder::Float64ExtractWord32(int location) { |
+ switch (location) { |
+ case 0: |
+ return &cache_.kFloat64ExtractWord32Operator0; |
+ case 1: |
+ return &cache_.kFloat64ExtractWord32Operator1; |
+ } |
+ UNREACHABLE(); |
+ return nullptr; |
+} |
+ |
+ |
+const Operator* MachineOperatorBuilder::Float64InsertWord32(int location) { |
+ switch (location) { |
+ case 0: |
+ return &cache_.kFloat64InsertWord32Operator0; |
+ case 1: |
+ return &cache_.kFloat64InsertWord32Operator1; |
+ } |
+ UNREACHABLE(); |
+ return nullptr; |
+} |
+ |
+ |
const Operator* MachineOperatorBuilder::Load(LoadRepresentation rep) { |
switch (rep) { |
#define LOAD(Type) \ |