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 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 const OptionalOperator Float64RoundTiesAway(); | 300 const OptionalOperator Float64RoundTiesAway(); |
301 const OptionalOperator Float32RoundTiesEven(); | 301 const OptionalOperator Float32RoundTiesEven(); |
302 const OptionalOperator Float64RoundTiesEven(); | 302 const OptionalOperator Float64RoundTiesEven(); |
303 | 303 |
304 // Floating point bit representation. | 304 // Floating point bit representation. |
305 const Operator* Float64ExtractLowWord32(); | 305 const Operator* Float64ExtractLowWord32(); |
306 const Operator* Float64ExtractHighWord32(); | 306 const Operator* Float64ExtractHighWord32(); |
307 const Operator* Float64InsertLowWord32(); | 307 const Operator* Float64InsertLowWord32(); |
308 const Operator* Float64InsertHighWord32(); | 308 const Operator* Float64InsertHighWord32(); |
309 | 309 |
| 310 // SIMD operators. |
| 311 const Operator* CreateFloat32x4(); |
| 312 const Operator* Float32x4ExtractLane(); |
| 313 const Operator* Float32x4ReplaceLane(); |
| 314 const Operator* Float32x4Abs(); |
| 315 const Operator* Float32x4Neg(); |
| 316 const Operator* Float32x4Sqrt(); |
| 317 const Operator* Float32x4RecipApprox(); |
| 318 const Operator* Float32x4RecipSqrtApprox(); |
| 319 const Operator* Float32x4Add(); |
| 320 const Operator* Float32x4Sub(); |
| 321 const Operator* Float32x4Mul(); |
| 322 const Operator* Float32x4Div(); |
| 323 const Operator* Float32x4Min(); |
| 324 const Operator* Float32x4Max(); |
| 325 const Operator* Float32x4MinNum(); |
| 326 const Operator* Float32x4MaxNum(); |
| 327 const Operator* Float32x4Equal(); |
| 328 const Operator* Float32x4NotEqual(); |
| 329 const Operator* Float32x4LessThan(); |
| 330 const Operator* Float32x4LessThanOrEqual(); |
| 331 const Operator* Float32x4GreaterThan(); |
| 332 const Operator* Float32x4GreaterThanOrEqual(); |
| 333 const Operator* Float32x4Select(); |
| 334 const Operator* Float32x4Swizzle(); |
| 335 const Operator* Float32x4Shuffle(); |
| 336 const Operator* Float32x4FromInt32x4(); |
| 337 const Operator* Float32x4FromUint32x4(); |
| 338 |
| 339 const Operator* CreateInt32x4(); |
| 340 const Operator* Int32x4ExtractLane(); |
| 341 const Operator* Int32x4ReplaceLane(); |
| 342 const Operator* Int32x4Neg(); |
| 343 const Operator* Int32x4Add(); |
| 344 const Operator* Int32x4Sub(); |
| 345 const Operator* Int32x4Mul(); |
| 346 const Operator* Int32x4Min(); |
| 347 const Operator* Int32x4Max(); |
| 348 const Operator* Int32x4ShiftLeftByScalar(); |
| 349 const Operator* Int32x4ShiftRightByScalar(); |
| 350 const Operator* Int32x4Equal(); |
| 351 const Operator* Int32x4NotEqual(); |
| 352 const Operator* Int32x4LessThan(); |
| 353 const Operator* Int32x4LessThanOrEqual(); |
| 354 const Operator* Int32x4GreaterThan(); |
| 355 const Operator* Int32x4GreaterThanOrEqual(); |
| 356 const Operator* Int32x4Select(); |
| 357 const Operator* Int32x4Swizzle(); |
| 358 const Operator* Int32x4Shuffle(); |
| 359 const Operator* Int32x4FromFloat32x4(); |
| 360 |
| 361 const Operator* Uint32x4Min(); |
| 362 const Operator* Uint32x4Max(); |
| 363 const Operator* Uint32x4ShiftLeftByScalar(); |
| 364 const Operator* Uint32x4ShiftRightByScalar(); |
| 365 const Operator* Uint32x4LessThan(); |
| 366 const Operator* Uint32x4LessThanOrEqual(); |
| 367 const Operator* Uint32x4GreaterThan(); |
| 368 const Operator* Uint32x4GreaterThanOrEqual(); |
| 369 const Operator* Uint32x4FromFloat32x4(); |
| 370 |
| 371 const Operator* CreateBool32x4(); |
| 372 const Operator* Bool32x4ExtractLane(); |
| 373 const Operator* Bool32x4ReplaceLane(); |
| 374 const Operator* Bool32x4And(); |
| 375 const Operator* Bool32x4Or(); |
| 376 const Operator* Bool32x4Xor(); |
| 377 const Operator* Bool32x4Not(); |
| 378 const Operator* Bool32x4AnyTrue(); |
| 379 const Operator* Bool32x4AllTrue(); |
| 380 const Operator* Bool32x4Swizzle(); |
| 381 const Operator* Bool32x4Shuffle(); |
| 382 const Operator* Bool32x4Equal(); |
| 383 const Operator* Bool32x4NotEqual(); |
| 384 |
| 385 const Operator* CreateInt16x8(); |
| 386 const Operator* Int16x8ExtractLane(); |
| 387 const Operator* Int16x8ReplaceLane(); |
| 388 const Operator* Int16x8Neg(); |
| 389 const Operator* Int16x8Add(); |
| 390 const Operator* Int16x8AddSaturate(); |
| 391 const Operator* Int16x8Sub(); |
| 392 const Operator* Int16x8SubSaturate(); |
| 393 const Operator* Int16x8Mul(); |
| 394 const Operator* Int16x8Min(); |
| 395 const Operator* Int16x8Max(); |
| 396 const Operator* Int16x8ShiftLeftByScalar(); |
| 397 const Operator* Int16x8ShiftRightByScalar(); |
| 398 const Operator* Int16x8Equal(); |
| 399 const Operator* Int16x8NotEqual(); |
| 400 const Operator* Int16x8LessThan(); |
| 401 const Operator* Int16x8LessThanOrEqual(); |
| 402 const Operator* Int16x8GreaterThan(); |
| 403 const Operator* Int16x8GreaterThanOrEqual(); |
| 404 const Operator* Int16x8Select(); |
| 405 const Operator* Int16x8Swizzle(); |
| 406 const Operator* Int16x8Shuffle(); |
| 407 |
| 408 const Operator* Uint16x8AddSaturate(); |
| 409 const Operator* Uint16x8SubSaturate(); |
| 410 const Operator* Uint16x8Min(); |
| 411 const Operator* Uint16x8Max(); |
| 412 const Operator* Uint16x8ShiftLeftByScalar(); |
| 413 const Operator* Uint16x8ShiftRightByScalar(); |
| 414 const Operator* Uint16x8LessThan(); |
| 415 const Operator* Uint16x8LessThanOrEqual(); |
| 416 const Operator* Uint16x8GreaterThan(); |
| 417 const Operator* Uint16x8GreaterThanOrEqual(); |
| 418 |
| 419 const Operator* CreateBool16x8(); |
| 420 const Operator* Bool16x8ExtractLane(); |
| 421 const Operator* Bool16x8ReplaceLane(); |
| 422 const Operator* Bool16x8And(); |
| 423 const Operator* Bool16x8Or(); |
| 424 const Operator* Bool16x8Xor(); |
| 425 const Operator* Bool16x8Not(); |
| 426 const Operator* Bool16x8AnyTrue(); |
| 427 const Operator* Bool16x8AllTrue(); |
| 428 const Operator* Bool16x8Swizzle(); |
| 429 const Operator* Bool16x8Shuffle(); |
| 430 const Operator* Bool16x8Equal(); |
| 431 const Operator* Bool16x8NotEqual(); |
| 432 |
| 433 const Operator* CreateInt8x16(); |
| 434 const Operator* Int8x16ExtractLane(); |
| 435 const Operator* Int8x16ReplaceLane(); |
| 436 const Operator* Int8x16Neg(); |
| 437 const Operator* Int8x16Add(); |
| 438 const Operator* Int8x16AddSaturate(); |
| 439 const Operator* Int8x16Sub(); |
| 440 const Operator* Int8x16SubSaturate(); |
| 441 const Operator* Int8x16Mul(); |
| 442 const Operator* Int8x16Min(); |
| 443 const Operator* Int8x16Max(); |
| 444 const Operator* Int8x16ShiftLeftByScalar(); |
| 445 const Operator* Int8x16ShiftRightByScalar(); |
| 446 const Operator* Int8x16Equal(); |
| 447 const Operator* Int8x16NotEqual(); |
| 448 const Operator* Int8x16LessThan(); |
| 449 const Operator* Int8x16LessThanOrEqual(); |
| 450 const Operator* Int8x16GreaterThan(); |
| 451 const Operator* Int8x16GreaterThanOrEqual(); |
| 452 const Operator* Int8x16Select(); |
| 453 const Operator* Int8x16Swizzle(); |
| 454 const Operator* Int8x16Shuffle(); |
| 455 |
| 456 const Operator* Uint8x16AddSaturate(); |
| 457 const Operator* Uint8x16SubSaturate(); |
| 458 const Operator* Uint8x16Min(); |
| 459 const Operator* Uint8x16Max(); |
| 460 const Operator* Uint8x16ShiftLeftByScalar(); |
| 461 const Operator* Uint8x16ShiftRightByScalar(); |
| 462 const Operator* Uint8x16LessThan(); |
| 463 const Operator* Uint8x16LessThanOrEqual(); |
| 464 const Operator* Uint8x16GreaterThan(); |
| 465 const Operator* Uint8x16GreaterThanOrEqual(); |
| 466 |
| 467 const Operator* CreateBool8x16(); |
| 468 const Operator* Bool8x16ExtractLane(); |
| 469 const Operator* Bool8x16ReplaceLane(); |
| 470 const Operator* Bool8x16And(); |
| 471 const Operator* Bool8x16Or(); |
| 472 const Operator* Bool8x16Xor(); |
| 473 const Operator* Bool8x16Not(); |
| 474 const Operator* Bool8x16AnyTrue(); |
| 475 const Operator* Bool8x16AllTrue(); |
| 476 const Operator* Bool8x16Swizzle(); |
| 477 const Operator* Bool8x16Shuffle(); |
| 478 const Operator* Bool8x16Equal(); |
| 479 const Operator* Bool8x16NotEqual(); |
| 480 |
| 481 const Operator* Simd128Load(); |
| 482 const Operator* Simd128Load1(); |
| 483 const Operator* Simd128Load2(); |
| 484 const Operator* Simd128Load3(); |
| 485 const Operator* Simd128Store(); |
| 486 const Operator* Simd128Store1(); |
| 487 const Operator* Simd128Store2(); |
| 488 const Operator* Simd128Store3(); |
| 489 const Operator* Simd128And(); |
| 490 const Operator* Simd128Or(); |
| 491 const Operator* Simd128Xor(); |
| 492 const Operator* Simd128Not(); |
| 493 |
310 // load [base + index] | 494 // load [base + index] |
311 const Operator* Load(LoadRepresentation rep); | 495 const Operator* Load(LoadRepresentation rep); |
312 | 496 |
313 // store [base + index], value | 497 // store [base + index], value |
314 const Operator* Store(StoreRepresentation rep); | 498 const Operator* Store(StoreRepresentation rep); |
315 | 499 |
316 const Operator* StackSlot(MachineRepresentation rep); | 500 const Operator* StackSlot(MachineRepresentation rep); |
317 | 501 |
318 // Access to the machine stack. | 502 // Access to the machine stack. |
319 const Operator* LoadStackPointer(); | 503 const Operator* LoadStackPointer(); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 }; | 556 }; |
373 | 557 |
374 | 558 |
375 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 559 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
376 | 560 |
377 } // namespace compiler | 561 } // namespace compiler |
378 } // namespace internal | 562 } // namespace internal |
379 } // namespace v8 | 563 } // namespace v8 |
380 | 564 |
381 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 565 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
OLD | NEW |