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

Side by Side Diff: src/compiler/mips64/instruction-selector-mips64.cc

Issue 2216383002: TurboFan: Introduce TaggedSigned and TaggedPointer representations. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Mips compile fix. Created 4 years, 4 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 | « src/compiler/mips/instruction-selector-mips.cc ('k') | src/compiler/register-allocator.cc » ('j') | 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 "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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 case MachineRepresentation::kBit: // Fall through. 160 case MachineRepresentation::kBit: // Fall through.
161 case MachineRepresentation::kWord8: 161 case MachineRepresentation::kWord8:
162 opcode = load_rep.IsUnsigned() ? kMips64Lbu : kMips64Lb; 162 opcode = load_rep.IsUnsigned() ? kMips64Lbu : kMips64Lb;
163 break; 163 break;
164 case MachineRepresentation::kWord16: 164 case MachineRepresentation::kWord16:
165 opcode = load_rep.IsUnsigned() ? kMips64Lhu : kMips64Lh; 165 opcode = load_rep.IsUnsigned() ? kMips64Lhu : kMips64Lh;
166 break; 166 break;
167 case MachineRepresentation::kWord32: 167 case MachineRepresentation::kWord32:
168 opcode = load_rep.IsUnsigned() ? kMips64Lwu : kMips64Lw; 168 opcode = load_rep.IsUnsigned() ? kMips64Lwu : kMips64Lw;
169 break; 169 break;
170 case MachineRepresentation::kTaggedSigned: // Fall through.
171 case MachineRepresentation::kTaggedPointer: // Fall through.
170 case MachineRepresentation::kTagged: // Fall through. 172 case MachineRepresentation::kTagged: // Fall through.
171 case MachineRepresentation::kWord64: 173 case MachineRepresentation::kWord64:
172 opcode = kMips64Ld; 174 opcode = kMips64Ld;
173 break; 175 break;
174 case MachineRepresentation::kSimd128: // Fall through. 176 case MachineRepresentation::kSimd128: // Fall through.
175 case MachineRepresentation::kNone: 177 case MachineRepresentation::kNone:
176 UNREACHABLE(); 178 UNREACHABLE();
177 return; 179 return;
178 } 180 }
179 181
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 case MachineRepresentation::kBit: // Fall through. 243 case MachineRepresentation::kBit: // Fall through.
242 case MachineRepresentation::kWord8: 244 case MachineRepresentation::kWord8:
243 opcode = kMips64Sb; 245 opcode = kMips64Sb;
244 break; 246 break;
245 case MachineRepresentation::kWord16: 247 case MachineRepresentation::kWord16:
246 opcode = kMips64Sh; 248 opcode = kMips64Sh;
247 break; 249 break;
248 case MachineRepresentation::kWord32: 250 case MachineRepresentation::kWord32:
249 opcode = kMips64Sw; 251 opcode = kMips64Sw;
250 break; 252 break;
253 case MachineRepresentation::kTaggedSigned: // Fall through.
254 case MachineRepresentation::kTaggedPointer: // Fall through.
251 case MachineRepresentation::kTagged: // Fall through. 255 case MachineRepresentation::kTagged: // Fall through.
252 case MachineRepresentation::kWord64: 256 case MachineRepresentation::kWord64:
253 opcode = kMips64Sd; 257 opcode = kMips64Sd;
254 break; 258 break;
255 case MachineRepresentation::kSimd128: // Fall through. 259 case MachineRepresentation::kSimd128: // Fall through.
256 case MachineRepresentation::kNone: 260 case MachineRepresentation::kNone:
257 UNREACHABLE(); 261 UNREACHABLE();
258 return; 262 return;
259 } 263 }
260 264
(...skipping 1097 matching lines...) Expand 10 before | Expand all | Expand 10 after
1358 case MachineRepresentation::kBit: // Fall through. 1362 case MachineRepresentation::kBit: // Fall through.
1359 case MachineRepresentation::kWord8: 1363 case MachineRepresentation::kWord8:
1360 UNREACHABLE(); 1364 UNREACHABLE();
1361 break; 1365 break;
1362 case MachineRepresentation::kWord16: 1366 case MachineRepresentation::kWord16:
1363 opcode = load_rep.IsUnsigned() ? kMips64Ulhu : kMips64Ulh; 1367 opcode = load_rep.IsUnsigned() ? kMips64Ulhu : kMips64Ulh;
1364 break; 1368 break;
1365 case MachineRepresentation::kWord32: 1369 case MachineRepresentation::kWord32:
1366 opcode = load_rep.IsUnsigned() ? kMips64Ulwu : kMips64Ulw; 1370 opcode = load_rep.IsUnsigned() ? kMips64Ulwu : kMips64Ulw;
1367 break; 1371 break;
1372 case MachineRepresentation::kTaggedSigned: // Fall through.
1373 case MachineRepresentation::kTaggedPointer: // Fall through.
1368 case MachineRepresentation::kTagged: // Fall through. 1374 case MachineRepresentation::kTagged: // Fall through.
1369 case MachineRepresentation::kWord64: 1375 case MachineRepresentation::kWord64:
1370 opcode = kMips64Uld; 1376 opcode = kMips64Uld;
1371 break; 1377 break;
1372 case MachineRepresentation::kSimd128: // Fall through. 1378 case MachineRepresentation::kSimd128: // Fall through.
1373 case MachineRepresentation::kNone: 1379 case MachineRepresentation::kNone:
1374 UNREACHABLE(); 1380 UNREACHABLE();
1375 return; 1381 return;
1376 } 1382 }
1377 1383
(...skipping 28 matching lines...) Expand all
1406 case MachineRepresentation::kBit: // Fall through. 1412 case MachineRepresentation::kBit: // Fall through.
1407 case MachineRepresentation::kWord8: 1413 case MachineRepresentation::kWord8:
1408 UNREACHABLE(); 1414 UNREACHABLE();
1409 break; 1415 break;
1410 case MachineRepresentation::kWord16: 1416 case MachineRepresentation::kWord16:
1411 opcode = kMips64Ush; 1417 opcode = kMips64Ush;
1412 break; 1418 break;
1413 case MachineRepresentation::kWord32: 1419 case MachineRepresentation::kWord32:
1414 opcode = kMips64Usw; 1420 opcode = kMips64Usw;
1415 break; 1421 break;
1422 case MachineRepresentation::kTaggedSigned: // Fall through.
1423 case MachineRepresentation::kTaggedPointer: // Fall through.
1416 case MachineRepresentation::kTagged: // Fall through. 1424 case MachineRepresentation::kTagged: // Fall through.
1417 case MachineRepresentation::kWord64: 1425 case MachineRepresentation::kWord64:
1418 opcode = kMips64Usd; 1426 opcode = kMips64Usd;
1419 break; 1427 break;
1420 case MachineRepresentation::kSimd128: // Fall through. 1428 case MachineRepresentation::kSimd128: // Fall through.
1421 case MachineRepresentation::kNone: 1429 case MachineRepresentation::kNone:
1422 UNREACHABLE(); 1430 UNREACHABLE();
1423 return; 1431 return;
1424 } 1432 }
1425 1433
(...skipping 30 matching lines...) Expand all
1456 case MachineRepresentation::kWord64: 1464 case MachineRepresentation::kWord64:
1457 opcode = kCheckedLoadWord64; 1465 opcode = kCheckedLoadWord64;
1458 break; 1466 break;
1459 case MachineRepresentation::kFloat32: 1467 case MachineRepresentation::kFloat32:
1460 opcode = kCheckedLoadFloat32; 1468 opcode = kCheckedLoadFloat32;
1461 break; 1469 break;
1462 case MachineRepresentation::kFloat64: 1470 case MachineRepresentation::kFloat64:
1463 opcode = kCheckedLoadFloat64; 1471 opcode = kCheckedLoadFloat64;
1464 break; 1472 break;
1465 case MachineRepresentation::kBit: 1473 case MachineRepresentation::kBit:
1474 case MachineRepresentation::kTaggedSigned: // Fall through.
1475 case MachineRepresentation::kTaggedPointer: // Fall through.
1466 case MachineRepresentation::kTagged: 1476 case MachineRepresentation::kTagged:
1467 case MachineRepresentation::kSimd128: 1477 case MachineRepresentation::kSimd128:
1468 case MachineRepresentation::kNone: 1478 case MachineRepresentation::kNone:
1469 UNREACHABLE(); 1479 UNREACHABLE();
1470 return; 1480 return;
1471 } 1481 }
1472 InstructionOperand offset_operand = g.CanBeImmediate(offset, opcode) 1482 InstructionOperand offset_operand = g.CanBeImmediate(offset, opcode)
1473 ? g.UseImmediate(offset) 1483 ? g.UseImmediate(offset)
1474 : g.UseRegister(offset); 1484 : g.UseRegister(offset);
1475 1485
(...skipping 30 matching lines...) Expand all
1506 case MachineRepresentation::kWord64: 1516 case MachineRepresentation::kWord64:
1507 opcode = kCheckedStoreWord64; 1517 opcode = kCheckedStoreWord64;
1508 break; 1518 break;
1509 case MachineRepresentation::kFloat32: 1519 case MachineRepresentation::kFloat32:
1510 opcode = kCheckedStoreFloat32; 1520 opcode = kCheckedStoreFloat32;
1511 break; 1521 break;
1512 case MachineRepresentation::kFloat64: 1522 case MachineRepresentation::kFloat64:
1513 opcode = kCheckedStoreFloat64; 1523 opcode = kCheckedStoreFloat64;
1514 break; 1524 break;
1515 case MachineRepresentation::kBit: 1525 case MachineRepresentation::kBit:
1526 case MachineRepresentation::kTaggedSigned: // Fall through.
1527 case MachineRepresentation::kTaggedPointer: // Fall through.
1516 case MachineRepresentation::kTagged: 1528 case MachineRepresentation::kTagged:
1517 case MachineRepresentation::kSimd128: 1529 case MachineRepresentation::kSimd128:
1518 case MachineRepresentation::kNone: 1530 case MachineRepresentation::kNone:
1519 UNREACHABLE(); 1531 UNREACHABLE();
1520 return; 1532 return;
1521 } 1533 }
1522 InstructionOperand offset_operand = g.CanBeImmediate(offset, opcode) 1534 InstructionOperand offset_operand = g.CanBeImmediate(offset, opcode)
1523 ? g.UseImmediate(offset) 1535 ? g.UseImmediate(offset)
1524 : g.UseRegister(offset); 1536 : g.UseRegister(offset);
1525 1537
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
2137 } else { 2149 } else {
2138 DCHECK(kArchVariant == kMips64r2); 2150 DCHECK(kArchVariant == kMips64r2);
2139 return MachineOperatorBuilder::AlignmentRequirements:: 2151 return MachineOperatorBuilder::AlignmentRequirements::
2140 NoUnalignedAccessSupport(); 2152 NoUnalignedAccessSupport();
2141 } 2153 }
2142 } 2154 }
2143 2155
2144 } // namespace compiler 2156 } // namespace compiler
2145 } // namespace internal 2157 } // namespace internal
2146 } // namespace v8 2158 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/mips/instruction-selector-mips.cc ('k') | src/compiler/register-allocator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698