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

Side by Side Diff: test/cctest/compiler/test-run-machops.cc

Issue 704193007: [turbofan] add gap move verifier (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: rebase Created 6 years, 1 month 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
OLDNEW
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 <cmath> 5 #include <cmath>
6 #include <functional> 6 #include <functional>
7 #include <limits> 7 #include <limits>
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 m.Branch(m.Int32Constant(0), &blocka, &blockb); 122 m.Branch(m.Int32Constant(0), &blocka, &blockb);
123 m.Bind(&blocka); 123 m.Bind(&blocka);
124 m.Return(m.Int32Constant(0 - constant)); 124 m.Return(m.Int32Constant(0 - constant));
125 m.Bind(&blockb); 125 m.Bind(&blockb);
126 m.Return(m.Int32Constant(constant)); 126 m.Return(m.Int32Constant(constant));
127 127
128 CHECK_EQ(constant, m.Call()); 128 CHECK_EQ(constant, m.Call());
129 } 129 }
130 130
131 131
132 TEST(RunRedundantBranch1) {
133 RawMachineAssemblerTester<int32_t> m;
134 int constant = 944777;
135
136 MLabel blocka;
137 m.Branch(m.Int32Constant(0), &blocka, &blocka);
138 m.Bind(&blocka);
139 m.Return(m.Int32Constant(constant));
140
141 CHECK_EQ(constant, m.Call());
142 }
143
144
145 TEST(RunRedundantBranch2) {
146 RawMachineAssemblerTester<int32_t> m;
147 int constant = 966777;
148
149 MLabel blocka, blockb, blockc;
150 m.Branch(m.Int32Constant(0), &blocka, &blockc);
151 m.Bind(&blocka);
152 m.Branch(m.Int32Constant(0), &blockb, &blockb);
153 m.Bind(&blockc);
154 m.Goto(&blockb);
155 m.Bind(&blockb);
156 m.Return(m.Int32Constant(constant));
157
158 CHECK_EQ(constant, m.Call());
159 }
160
161
162 TEST(RunDiamond2) { 132 TEST(RunDiamond2) {
163 RawMachineAssemblerTester<int32_t> m; 133 RawMachineAssemblerTester<int32_t> m;
164 134
165 int constant = 995666; 135 int constant = 995666;
166 136
167 MLabel blocka, blockb, end; 137 MLabel blocka, blockb, end;
168 m.Branch(m.Int32Constant(0), &blocka, &blockb); 138 m.Branch(m.Int32Constant(0), &blocka, &blockb);
169 m.Bind(&blocka); 139 m.Bind(&blocka);
170 m.Goto(&end); 140 m.Goto(&end);
171 m.Bind(&blockb); 141 m.Bind(&blockb);
(...skipping 4541 matching lines...) Expand 10 before | Expand all | Expand 10 after
4713 m.Float64RoundTiesAway(m.LoadFromPointer(&input, kMachFloat64))); 4683 m.Float64RoundTiesAway(m.LoadFromPointer(&input, kMachFloat64)));
4714 m.Return(m.Int32Constant(0)); 4684 m.Return(m.Int32Constant(0));
4715 for (size_t i = 0; i < arraysize(kValues); ++i) { 4685 for (size_t i = 0; i < arraysize(kValues); ++i) {
4716 input = kValues[i]; 4686 input = kValues[i];
4717 CHECK_EQ(0, m.Call()); 4687 CHECK_EQ(0, m.Call());
4718 double expected = round(kValues[i]); 4688 double expected = round(kValues[i]);
4719 CHECK_EQ(expected, result); 4689 CHECK_EQ(expected, result);
4720 } 4690 }
4721 } 4691 }
4722 #endif // V8_TURBOFAN_TARGET 4692 #endif // V8_TURBOFAN_TARGET
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698