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 | |
515 // load [base + index] | 320 // load [base + index] |
516 const Operator* Load(LoadRepresentation rep); | 321 const Operator* Load(LoadRepresentation rep); |
517 | 322 |
518 // store [base + index], value | 323 // store [base + index], value |
519 const Operator* Store(StoreRepresentation rep); | 324 const Operator* Store(StoreRepresentation rep); |
520 | 325 |
521 const Operator* StackSlot(MachineRepresentation rep); | 326 const Operator* StackSlot(MachineRepresentation rep); |
522 | 327 |
523 // Access to the machine stack. | 328 // Access to the machine stack. |
524 const Operator* LoadStackPointer(); | 329 const Operator* LoadStackPointer(); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 }; | 379 }; |
575 | 380 |
576 | 381 |
577 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 382 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
578 | 383 |
579 } // namespace compiler | 384 } // namespace compiler |
580 } // namespace internal | 385 } // namespace internal |
581 } // namespace v8 | 386 } // namespace v8 |
582 | 387 |
583 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 388 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
OLD | NEW |