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

Side by Side Diff: test/unittests/compiler/mips/instruction-selector-mips-unittest.cc

Issue 2359923003: MIPS: Fix compilation failures due to warnings on mips32r1 (Closed)
Patch Set: Created 4 years, 2 months 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
« no previous file with comments | « test/cctest/test-assembler-mips.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "test/unittests/compiler/instruction-selector-unittest.h" 5 #include "test/unittests/compiler/instruction-selector-unittest.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 namespace compiler { 9 namespace compiler {
10 10
(...skipping 1162 matching lines...) Expand 10 before | Expand all | Expand 10 after
1173 Stream s = m.Build(); 1173 Stream s = m.Build();
1174 ASSERT_EQ(1U, s.size()); 1174 ASSERT_EQ(1U, s.size());
1175 EXPECT_EQ(kMipsAbsD, s[0]->arch_opcode()); 1175 EXPECT_EQ(kMipsAbsD, s[0]->arch_opcode());
1176 ASSERT_EQ(1U, s[0]->InputCount()); 1176 ASSERT_EQ(1U, s[0]->InputCount());
1177 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0))); 1177 EXPECT_EQ(s.ToVreg(p0), s.ToVreg(s[0]->InputAt(0)));
1178 ASSERT_EQ(1U, s[0]->OutputCount()); 1178 ASSERT_EQ(1U, s[0]->OutputCount());
1179 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); 1179 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output()));
1180 } 1180 }
1181 1181
1182 TEST_F(InstructionSelectorTest, Float32AddWithFloat32Mul) { 1182 TEST_F(InstructionSelectorTest, Float32AddWithFloat32Mul) {
1183 if (!IsMipsArchVariant(kMips32r2) && !IsMipsArchVariant(kMips32r6)) {
1184 return;
1185 }
1183 { 1186 {
1184 StreamBuilder m(this, MachineType::Float32(), MachineType::Float32(), 1187 StreamBuilder m(this, MachineType::Float32(), MachineType::Float32(),
1185 MachineType::Float32(), MachineType::Float32()); 1188 MachineType::Float32(), MachineType::Float32());
1186 Node* const p0 = m.Parameter(0); 1189 Node* const p0 = m.Parameter(0);
1187 Node* const p1 = m.Parameter(1); 1190 Node* const p1 = m.Parameter(1);
1188 Node* const p2 = m.Parameter(2); 1191 Node* const p2 = m.Parameter(2);
1189 Node* const n = m.Float32Add(m.Float32Mul(p0, p1), p2); 1192 Node* const n = m.Float32Add(m.Float32Mul(p0, p1), p2);
1190 m.Return(n); 1193 m.Return(n);
1191 Stream s = m.Build(); 1194 Stream s = m.Build();
1192 ASSERT_EQ(1U, s.size()); 1195 ASSERT_EQ(1U, s.size());
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1236 } else if (IsMipsArchVariant(kMips32r6)) { 1239 } else if (IsMipsArchVariant(kMips32r6)) {
1237 EXPECT_TRUE( 1240 EXPECT_TRUE(
1238 UnallocatedOperand::cast(s[0]->Output())->HasSameAsInputPolicy()); 1241 UnallocatedOperand::cast(s[0]->Output())->HasSameAsInputPolicy());
1239 } 1242 }
1240 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); 1243 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output()));
1241 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); 1244 EXPECT_EQ(kFlags_none, s[0]->flags_mode());
1242 } 1245 }
1243 } 1246 }
1244 1247
1245 TEST_F(InstructionSelectorTest, Float64AddWithFloat64Mul) { 1248 TEST_F(InstructionSelectorTest, Float64AddWithFloat64Mul) {
1249 if (!IsMipsArchVariant(kMips32r2) && !IsMipsArchVariant(kMips32r6)) {
1250 return;
1251 }
1246 { 1252 {
1247 StreamBuilder m(this, MachineType::Float64(), MachineType::Float64(), 1253 StreamBuilder m(this, MachineType::Float64(), MachineType::Float64(),
1248 MachineType::Float64(), MachineType::Float64()); 1254 MachineType::Float64(), MachineType::Float64());
1249 Node* const p0 = m.Parameter(0); 1255 Node* const p0 = m.Parameter(0);
1250 Node* const p1 = m.Parameter(1); 1256 Node* const p1 = m.Parameter(1);
1251 Node* const p2 = m.Parameter(2); 1257 Node* const p2 = m.Parameter(2);
1252 Node* const n = m.Float64Add(m.Float64Mul(p0, p1), p2); 1258 Node* const n = m.Float64Add(m.Float64Mul(p0, p1), p2);
1253 m.Return(n); 1259 m.Return(n);
1254 Stream s = m.Build(); 1260 Stream s = m.Build();
1255 ASSERT_EQ(1U, s.size()); 1261 ASSERT_EQ(1U, s.size());
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1304 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); 1310 EXPECT_EQ(kFlags_none, s[0]->flags_mode());
1305 } 1311 }
1306 } 1312 }
1307 1313
1308 TEST_F(InstructionSelectorTest, Float32SubWithFloat32Mul) { 1314 TEST_F(InstructionSelectorTest, Float32SubWithFloat32Mul) {
1309 StreamBuilder m(this, MachineType::Float32(), MachineType::Float32(), 1315 StreamBuilder m(this, MachineType::Float32(), MachineType::Float32(),
1310 MachineType::Float32(), MachineType::Float32()); 1316 MachineType::Float32(), MachineType::Float32());
1311 Node* const p0 = m.Parameter(0); 1317 Node* const p0 = m.Parameter(0);
1312 Node* const p1 = m.Parameter(1); 1318 Node* const p1 = m.Parameter(1);
1313 Node* const p2 = m.Parameter(2); 1319 Node* const p2 = m.Parameter(2);
1314 Node* n; 1320 Node* n = nullptr;
1321
1322 if (!IsMipsArchVariant(kMips32r2) && !IsMipsArchVariant(kMips32r6)) {
1323 return;
1324 }
1325
1315 if (IsMipsArchVariant(kMips32r2)) { 1326 if (IsMipsArchVariant(kMips32r2)) {
1316 n = m.Float32Sub(m.Float32Mul(p1, p2), p0); 1327 n = m.Float32Sub(m.Float32Mul(p1, p2), p0);
1317 } else if (IsMipsArchVariant(kMips32r6)) { 1328 } else if (IsMipsArchVariant(kMips32r6)) {
1318 n = m.Float32Sub(p0, m.Float32Mul(p1, p2)); 1329 n = m.Float32Sub(p0, m.Float32Mul(p1, p2));
1319 } 1330 }
1320 m.Return(n); 1331 m.Return(n);
1321 Stream s = m.Build(); 1332 Stream s = m.Build();
1322 ASSERT_EQ(1U, s.size()); 1333 ASSERT_EQ(1U, s.size());
1323 if (IsMipsArchVariant(kMips32r2)) { 1334 if (IsMipsArchVariant(kMips32r2)) {
1324 EXPECT_EQ(kMipsMsubS, s[0]->arch_opcode()); 1335 EXPECT_EQ(kMipsMsubS, s[0]->arch_opcode());
(...skipping 15 matching lines...) Expand all
1340 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); 1351 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output()));
1341 EXPECT_EQ(kFlags_none, s[0]->flags_mode()); 1352 EXPECT_EQ(kFlags_none, s[0]->flags_mode());
1342 } 1353 }
1343 1354
1344 TEST_F(InstructionSelectorTest, Float64SubWithFloat64Mul) { 1355 TEST_F(InstructionSelectorTest, Float64SubWithFloat64Mul) {
1345 StreamBuilder m(this, MachineType::Float64(), MachineType::Float64(), 1356 StreamBuilder m(this, MachineType::Float64(), MachineType::Float64(),
1346 MachineType::Float64(), MachineType::Float64()); 1357 MachineType::Float64(), MachineType::Float64());
1347 Node* const p0 = m.Parameter(0); 1358 Node* const p0 = m.Parameter(0);
1348 Node* const p1 = m.Parameter(1); 1359 Node* const p1 = m.Parameter(1);
1349 Node* const p2 = m.Parameter(2); 1360 Node* const p2 = m.Parameter(2);
1350 Node* n; 1361 Node* n = nullptr;
1362
1363 if (!IsMipsArchVariant(kMips32r2) && !IsMipsArchVariant(kMips32r6)) {
1364 return;
1365 }
1366
1351 if (IsMipsArchVariant(kMips32r2)) { 1367 if (IsMipsArchVariant(kMips32r2)) {
1352 n = m.Float64Sub(m.Float64Mul(p1, p2), p0); 1368 n = m.Float64Sub(m.Float64Mul(p1, p2), p0);
1353 } else if (IsMipsArchVariant(kMips32r6)) { 1369 } else if (IsMipsArchVariant(kMips32r6)) {
1354 n = m.Float64Sub(p0, m.Float64Mul(p1, p2)); 1370 n = m.Float64Sub(p0, m.Float64Mul(p1, p2));
1355 } 1371 }
1356 m.Return(n); 1372 m.Return(n);
1357 Stream s = m.Build(); 1373 Stream s = m.Build();
1358 ASSERT_EQ(1U, s.size()); 1374 ASSERT_EQ(1U, s.size());
1359 if (IsMipsArchVariant(kMips32r2)) { 1375 if (IsMipsArchVariant(kMips32r2)) {
1360 EXPECT_EQ(kMipsMsubD, s[0]->arch_opcode()); 1376 EXPECT_EQ(kMipsMsubD, s[0]->arch_opcode());
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1404 ASSERT_EQ(1U, s.size()); 1420 ASSERT_EQ(1U, s.size());
1405 EXPECT_EQ(kMipsFloat64Min, s[0]->arch_opcode()); 1421 EXPECT_EQ(kMipsFloat64Min, s[0]->arch_opcode());
1406 ASSERT_EQ(2U, s[0]->InputCount()); 1422 ASSERT_EQ(2U, s[0]->InputCount());
1407 ASSERT_EQ(1U, s[0]->OutputCount()); 1423 ASSERT_EQ(1U, s[0]->OutputCount());
1408 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); 1424 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output()));
1409 } 1425 }
1410 1426
1411 } // namespace compiler 1427 } // namespace compiler
1412 } // namespace internal 1428 } // namespace internal
1413 } // namespace v8 1429 } // namespace v8
OLDNEW
« no previous file with comments | « test/cctest/test-assembler-mips.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698