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

Side by Side Diff: src/compiler/raw-machine-assembler.h

Issue 1360603003: [arm64] Implement Float(32|64)(Min|Max) using fcsel. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Remove "Ternary". Created 5 years, 1 month 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
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 #ifndef V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ 5 #ifndef V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_
6 #define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ 6 #define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/compiler/common-operator.h" 9 #include "src/compiler/common-operator.h"
10 #include "src/compiler/graph.h" 10 #include "src/compiler/graph.h"
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 } 348 }
349 Node* Float32Sub(Node* a, Node* b) { 349 Node* Float32Sub(Node* a, Node* b) {
350 return AddNode(machine()->Float32Sub(), a, b); 350 return AddNode(machine()->Float32Sub(), a, b);
351 } 351 }
352 Node* Float32Mul(Node* a, Node* b) { 352 Node* Float32Mul(Node* a, Node* b) {
353 return AddNode(machine()->Float32Mul(), a, b); 353 return AddNode(machine()->Float32Mul(), a, b);
354 } 354 }
355 Node* Float32Div(Node* a, Node* b) { 355 Node* Float32Div(Node* a, Node* b) {
356 return AddNode(machine()->Float32Div(), a, b); 356 return AddNode(machine()->Float32Div(), a, b);
357 } 357 }
358 Node* Float32Max(Node* a, Node* b) {
359 return AddNode(machine()->Float32Max().op(), a, b);
360 }
361 Node* Float32Min(Node* a, Node* b) {
362 return AddNode(machine()->Float32Min().op(), a, b);
363 }
358 Node* Float32Abs(Node* a) { return AddNode(machine()->Float32Abs(), a); } 364 Node* Float32Abs(Node* a) { return AddNode(machine()->Float32Abs(), a); }
359 Node* Float32Sqrt(Node* a) { return AddNode(machine()->Float32Sqrt(), a); } 365 Node* Float32Sqrt(Node* a) { return AddNode(machine()->Float32Sqrt(), a); }
360 Node* Float32Equal(Node* a, Node* b) { 366 Node* Float32Equal(Node* a, Node* b) {
361 return AddNode(machine()->Float32Equal(), a, b); 367 return AddNode(machine()->Float32Equal(), a, b);
362 } 368 }
363 Node* Float32NotEqual(Node* a, Node* b) { 369 Node* Float32NotEqual(Node* a, Node* b) {
364 return WordBinaryNot(Float32Equal(a, b)); 370 return WordBinaryNot(Float32Equal(a, b));
365 } 371 }
366 Node* Float32LessThan(Node* a, Node* b) { 372 Node* Float32LessThan(Node* a, Node* b) {
367 return AddNode(machine()->Float32LessThan(), a, b); 373 return AddNode(machine()->Float32LessThan(), a, b);
(...skipping 14 matching lines...) Expand all
382 } 388 }
383 Node* Float64Mul(Node* a, Node* b) { 389 Node* Float64Mul(Node* a, Node* b) {
384 return AddNode(machine()->Float64Mul(), a, b); 390 return AddNode(machine()->Float64Mul(), a, b);
385 } 391 }
386 Node* Float64Div(Node* a, Node* b) { 392 Node* Float64Div(Node* a, Node* b) {
387 return AddNode(machine()->Float64Div(), a, b); 393 return AddNode(machine()->Float64Div(), a, b);
388 } 394 }
389 Node* Float64Mod(Node* a, Node* b) { 395 Node* Float64Mod(Node* a, Node* b) {
390 return AddNode(machine()->Float64Mod(), a, b); 396 return AddNode(machine()->Float64Mod(), a, b);
391 } 397 }
398 Node* Float64Max(Node* a, Node* b) {
399 return AddNode(machine()->Float64Max().op(), a, b);
400 }
401 Node* Float64Min(Node* a, Node* b) {
402 return AddNode(machine()->Float64Min().op(), a, b);
403 }
392 Node* Float64Abs(Node* a) { return AddNode(machine()->Float64Abs(), a); } 404 Node* Float64Abs(Node* a) { return AddNode(machine()->Float64Abs(), a); }
393 Node* Float64Sqrt(Node* a) { return AddNode(machine()->Float64Sqrt(), a); } 405 Node* Float64Sqrt(Node* a) { return AddNode(machine()->Float64Sqrt(), a); }
394 Node* Float64Equal(Node* a, Node* b) { 406 Node* Float64Equal(Node* a, Node* b) {
395 return AddNode(machine()->Float64Equal(), a, b); 407 return AddNode(machine()->Float64Equal(), a, b);
396 } 408 }
397 Node* Float64NotEqual(Node* a, Node* b) { 409 Node* Float64NotEqual(Node* a, Node* b) {
398 return WordBinaryNot(Float64Equal(a, b)); 410 return WordBinaryNot(Float64Equal(a, b));
399 } 411 }
400 Node* Float64LessThan(Node* a, Node* b) { 412 Node* Float64LessThan(Node* a, Node* b) {
401 return AddNode(machine()->Float64LessThan(), a, b); 413 return AddNode(machine()->Float64LessThan(), a, b);
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 BasicBlock* current_block_; 600 BasicBlock* current_block_;
589 601
590 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); 602 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler);
591 }; 603 };
592 604
593 } // namespace compiler 605 } // namespace compiler
594 } // namespace internal 606 } // namespace internal
595 } // namespace v8 607 } // namespace v8
596 608
597 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ 609 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/compiler/machine-operator.h ('k') | test/unittests/compiler/arm64/instruction-selector-arm64-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698