OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_ | 5 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_ |
6 #define V8_COMPILER_MACHINE_OPERATOR_H_ | 6 #define V8_COMPILER_MACHINE_OPERATOR_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/machine-type.h" | 9 #include "src/machine-type.h" |
10 | 10 |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 const OptionalOperator Float64RoundTiesAway(); | 310 const OptionalOperator Float64RoundTiesAway(); |
311 const OptionalOperator Float32RoundTiesEven(); | 311 const OptionalOperator Float32RoundTiesEven(); |
312 const OptionalOperator Float64RoundTiesEven(); | 312 const OptionalOperator Float64RoundTiesEven(); |
313 | 313 |
314 // Floating point bit representation. | 314 // Floating point bit representation. |
315 const Operator* Float64ExtractLowWord32(); | 315 const Operator* Float64ExtractLowWord32(); |
316 const Operator* Float64ExtractHighWord32(); | 316 const Operator* Float64ExtractHighWord32(); |
317 const Operator* Float64InsertLowWord32(); | 317 const Operator* Float64InsertLowWord32(); |
318 const Operator* Float64InsertHighWord32(); | 318 const Operator* Float64InsertHighWord32(); |
319 | 319 |
| 320 // SIMD operators. |
| 321 const Operator* CreateFloat32x4(); |
| 322 const Operator* Float32x4ExtractLane(); |
| 323 const Operator* Float32x4ReplaceLane(); |
| 324 const Operator* Float32x4Abs(); |
| 325 const Operator* Float32x4Neg(); |
| 326 const Operator* Float32x4Sqrt(); |
| 327 const Operator* Float32x4RecipApprox(); |
| 328 const Operator* Float32x4RecipSqrtApprox(); |
| 329 const Operator* Float32x4Add(); |
| 330 const Operator* Float32x4Sub(); |
| 331 const Operator* Float32x4Mul(); |
| 332 const Operator* Float32x4Div(); |
| 333 const Operator* Float32x4Min(); |
| 334 const Operator* Float32x4Max(); |
| 335 const Operator* Float32x4MinNum(); |
| 336 const Operator* Float32x4MaxNum(); |
| 337 const Operator* Float32x4Equal(); |
| 338 const Operator* Float32x4NotEqual(); |
| 339 const Operator* Float32x4LessThan(); |
| 340 const Operator* Float32x4LessThanOrEqual(); |
| 341 const Operator* Float32x4GreaterThan(); |
| 342 const Operator* Float32x4GreaterThanOrEqual(); |
| 343 const Operator* Float32x4Select(); |
| 344 const Operator* Float32x4Swizzle(); |
| 345 const Operator* Float32x4Shuffle(); |
| 346 const Operator* Float32x4FromInt32x4(); |
| 347 const Operator* Float32x4FromUint32x4(); |
| 348 const Operator* Float32x4Load1(); |
| 349 const Operator* Float32x4Load2(); |
| 350 const Operator* Float32x4Load3(); |
| 351 const Operator* Float32x4Store1(); |
| 352 const Operator* Float32x4Store2(); |
| 353 const Operator* Float32x4Store3(); |
| 354 |
| 355 const Operator* CreateInt32x4(); |
| 356 const Operator* Int32x4ExtractLane(); |
| 357 const Operator* Int32x4ReplaceLane(); |
| 358 const Operator* Int32x4Neg(); |
| 359 const Operator* Int32x4Add(); |
| 360 const Operator* Int32x4Sub(); |
| 361 const Operator* Int32x4Mul(); |
| 362 const Operator* Int32x4Min(); |
| 363 const Operator* Int32x4Max(); |
| 364 const Operator* Int32x4And(); |
| 365 const Operator* Int32x4Or(); |
| 366 const Operator* Int32x4Xor(); |
| 367 const Operator* Int32x4Not(); |
| 368 const Operator* Int32x4ShiftLeftByScalar(); |
| 369 const Operator* Int32x4ShiftRightByScalar(); |
| 370 const Operator* Int32x4Equal(); |
| 371 const Operator* Int32x4NotEqual(); |
| 372 const Operator* Int32x4LessThan(); |
| 373 const Operator* Int32x4LessThanOrEqual(); |
| 374 const Operator* Int32x4GreaterThan(); |
| 375 const Operator* Int32x4GreaterThanOrEqual(); |
| 376 const Operator* Int32x4Select(); |
| 377 const Operator* Int32x4Swizzle(); |
| 378 const Operator* Int32x4Shuffle(); |
| 379 const Operator* Int32x4FromFloat32x4(); |
| 380 const Operator* Int32x4Load1(); |
| 381 const Operator* Int32x4Load2(); |
| 382 const Operator* Int32x4Load3(); |
| 383 const Operator* Int32x4Store1(); |
| 384 const Operator* Int32x4Store2(); |
| 385 const Operator* Int32x4Store3(); |
| 386 |
| 387 const Operator* Uint32x4Min(); |
| 388 const Operator* Uint32x4Max(); |
| 389 const Operator* Uint32x4ShiftLeftByScalar(); |
| 390 const Operator* Uint32x4ShiftRightByScalar(); |
| 391 const Operator* Uint32x4LessThan(); |
| 392 const Operator* Uint32x4LessThanOrEqual(); |
| 393 const Operator* Uint32x4GreaterThan(); |
| 394 const Operator* Uint32x4GreaterThanOrEqual(); |
| 395 const Operator* Uint32x4FromFloat32x4(); |
| 396 |
| 397 const Operator* CreateBool32x4(); |
| 398 const Operator* Bool32x4ExtractLane(); |
| 399 const Operator* Bool32x4ReplaceLane(); |
| 400 const Operator* Bool32x4And(); |
| 401 const Operator* Bool32x4Or(); |
| 402 const Operator* Bool32x4Xor(); |
| 403 const Operator* Bool32x4Not(); |
| 404 const Operator* Bool32x4AnyTrue(); |
| 405 const Operator* Bool32x4AllTrue(); |
| 406 const Operator* Bool32x4Swizzle(); |
| 407 const Operator* Bool32x4Shuffle(); |
| 408 const Operator* Bool32x4Equal(); |
| 409 const Operator* Bool32x4NotEqual(); |
| 410 |
| 411 const Operator* CreateInt16x8(); |
| 412 const Operator* Int16x8ExtractLane(); |
| 413 const Operator* Int16x8ReplaceLane(); |
| 414 const Operator* Int16x8Neg(); |
| 415 const Operator* Int16x8Add(); |
| 416 const Operator* Int16x8AddSaturate(); |
| 417 const Operator* Int16x8Sub(); |
| 418 const Operator* Int16x8SubSaturate(); |
| 419 const Operator* Int16x8Mul(); |
| 420 const Operator* Int16x8Min(); |
| 421 const Operator* Int16x8Max(); |
| 422 const Operator* Int16x8And(); |
| 423 const Operator* Int16x8Or(); |
| 424 const Operator* Int16x8Xor(); |
| 425 const Operator* Int16x8Not(); |
| 426 const Operator* Int16x8ShiftLeftByScalar(); |
| 427 const Operator* Int16x8ShiftRightByScalar(); |
| 428 const Operator* Int16x8Equal(); |
| 429 const Operator* Int16x8NotEqual(); |
| 430 const Operator* Int16x8LessThan(); |
| 431 const Operator* Int16x8LessThanOrEqual(); |
| 432 const Operator* Int16x8GreaterThan(); |
| 433 const Operator* Int16x8GreaterThanOrEqual(); |
| 434 const Operator* Int16x8Select(); |
| 435 const Operator* Int16x8Swizzle(); |
| 436 const Operator* Int16x8Shuffle(); |
| 437 |
| 438 const Operator* Uint16x8AddSaturate(); |
| 439 const Operator* Uint16x8SubSaturate(); |
| 440 const Operator* Uint16x8Min(); |
| 441 const Operator* Uint16x8Max(); |
| 442 const Operator* Uint16x8ShiftLeftByScalar(); |
| 443 const Operator* Uint16x8ShiftRightByScalar(); |
| 444 const Operator* Uint16x8LessThan(); |
| 445 const Operator* Uint16x8LessThanOrEqual(); |
| 446 const Operator* Uint16x8GreaterThan(); |
| 447 const Operator* Uint16x8GreaterThanOrEqual(); |
| 448 |
| 449 const Operator* CreateBool16x8(); |
| 450 const Operator* Bool16x8ExtractLane(); |
| 451 const Operator* Bool16x8ReplaceLane(); |
| 452 const Operator* Bool16x8And(); |
| 453 const Operator* Bool16x8Or(); |
| 454 const Operator* Bool16x8Xor(); |
| 455 const Operator* Bool16x8Not(); |
| 456 const Operator* Bool16x8AnyTrue(); |
| 457 const Operator* Bool16x8AllTrue(); |
| 458 const Operator* Bool16x8Swizzle(); |
| 459 const Operator* Bool16x8Shuffle(); |
| 460 const Operator* Bool16x8Equal(); |
| 461 const Operator* Bool16x8NotEqual(); |
| 462 |
| 463 const Operator* CreateInt8x16(); |
| 464 const Operator* Int8x16ExtractLane(); |
| 465 const Operator* Int8x16ReplaceLane(); |
| 466 const Operator* Int8x16Neg(); |
| 467 const Operator* Int8x16Add(); |
| 468 const Operator* Int8x16AddSaturate(); |
| 469 const Operator* Int8x16Sub(); |
| 470 const Operator* Int8x16SubSaturate(); |
| 471 const Operator* Int8x16Mul(); |
| 472 const Operator* Int8x16Min(); |
| 473 const Operator* Int8x16Max(); |
| 474 const Operator* Int8x16And(); |
| 475 const Operator* Int8x16Or(); |
| 476 const Operator* Int8x16Xor(); |
| 477 const Operator* Int8x16Not(); |
| 478 const Operator* Int8x16ShiftLeftByScalar(); |
| 479 const Operator* Int8x16ShiftRightByScalar(); |
| 480 const Operator* Int8x16Equal(); |
| 481 const Operator* Int8x16NotEqual(); |
| 482 const Operator* Int8x16LessThan(); |
| 483 const Operator* Int8x16LessThanOrEqual(); |
| 484 const Operator* Int8x16GreaterThan(); |
| 485 const Operator* Int8x16GreaterThanOrEqual(); |
| 486 const Operator* Int8x16Select(); |
| 487 const Operator* Int8x16Swizzle(); |
| 488 const Operator* Int8x16Shuffle(); |
| 489 |
| 490 const Operator* Uint8x16AddSaturate(); |
| 491 const Operator* Uint8x16SubSaturate(); |
| 492 const Operator* Uint8x16Min(); |
| 493 const Operator* Uint8x16Max(); |
| 494 const Operator* Uint8x16ShiftLeftByScalar(); |
| 495 const Operator* Uint8x16ShiftRightByScalar(); |
| 496 const Operator* Uint8x16LessThan(); |
| 497 const Operator* Uint8x16LessThanOrEqual(); |
| 498 const Operator* Uint8x16GreaterThan(); |
| 499 const Operator* Uint8x16GreaterThanOrEqual(); |
| 500 |
| 501 const Operator* CreateBool8x16(); |
| 502 const Operator* Bool8x16ExtractLane(); |
| 503 const Operator* Bool8x16ReplaceLane(); |
| 504 const Operator* Bool8x16And(); |
| 505 const Operator* Bool8x16Or(); |
| 506 const Operator* Bool8x16Xor(); |
| 507 const Operator* Bool8x16Not(); |
| 508 const Operator* Bool8x16AnyTrue(); |
| 509 const Operator* Bool8x16AllTrue(); |
| 510 const Operator* Bool8x16Swizzle(); |
| 511 const Operator* Bool8x16Shuffle(); |
| 512 const Operator* Bool8x16Equal(); |
| 513 const Operator* Bool8x16NotEqual(); |
| 514 |
320 // load [base + index] | 515 // load [base + index] |
321 const Operator* Load(LoadRepresentation rep); | 516 const Operator* Load(LoadRepresentation rep); |
322 | 517 |
323 // store [base + index], value | 518 // store [base + index], value |
324 const Operator* Store(StoreRepresentation rep); | 519 const Operator* Store(StoreRepresentation rep); |
325 | 520 |
326 const Operator* StackSlot(MachineRepresentation rep); | 521 const Operator* StackSlot(MachineRepresentation rep); |
327 | 522 |
328 // Access to the machine stack. | 523 // Access to the machine stack. |
329 const Operator* LoadStackPointer(); | 524 const Operator* LoadStackPointer(); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 }; | 574 }; |
380 | 575 |
381 | 576 |
382 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 577 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
383 | 578 |
384 } // namespace compiler | 579 } // namespace compiler |
385 } // namespace internal | 580 } // namespace internal |
386 } // namespace v8 | 581 } // namespace v8 |
387 | 582 |
388 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 583 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
OLD | NEW |