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

Side by Side Diff: src/compiler/s390/code-generator-s390.cc

Issue 2226103002: PPC/s390: Implement VisitFloat32Neg/VisitFloat64Neg and instr lcebr for s390 (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 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
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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/compiler/code-generator.h" 5 #include "src/compiler/code-generator.h"
6 6
7 #include "src/ast/scopes.h" 7 #include "src/ast/scopes.h"
8 #include "src/compiler/code-generator-impl.h" 8 #include "src/compiler/code-generator-impl.h"
9 #include "src/compiler/gap-resolver.h" 9 #include "src/compiler/gap-resolver.h"
10 #include "src/compiler/node-matchers.h" 10 #include "src/compiler/node-matchers.h"
(...skipping 1499 matching lines...) Expand 10 before | Expand all | Expand 10 after
1510 v8::internal::Assembler::FIDBRA_ROUND_TOWARD_POS_INF); 1510 v8::internal::Assembler::FIDBRA_ROUND_TOWARD_POS_INF);
1511 break; 1511 break;
1512 case kS390_TruncateDouble: 1512 case kS390_TruncateDouble:
1513 __ fidbra(i.OutputDoubleRegister(), i.InputDoubleRegister(0), 1513 __ fidbra(i.OutputDoubleRegister(), i.InputDoubleRegister(0),
1514 v8::internal::Assembler::FIDBRA_ROUND_TOWARD_0); 1514 v8::internal::Assembler::FIDBRA_ROUND_TOWARD_0);
1515 break; 1515 break;
1516 case kS390_RoundDouble: 1516 case kS390_RoundDouble:
1517 __ fidbra(i.OutputDoubleRegister(), i.InputDoubleRegister(0), 1517 __ fidbra(i.OutputDoubleRegister(), i.InputDoubleRegister(0),
1518 v8::internal::Assembler::FIDBRA_ROUND_TO_NEAREST_AWAY_FROM_0); 1518 v8::internal::Assembler::FIDBRA_ROUND_TO_NEAREST_AWAY_FROM_0);
1519 break; 1519 break;
1520 case kS390_NegFloat:
1521 ASSEMBLE_FLOAT_UNOP(lcebr);
1522 break;
1520 case kS390_NegDouble: 1523 case kS390_NegDouble:
1521 ASSEMBLE_FLOAT_UNOP(lcdbr); 1524 ASSEMBLE_FLOAT_UNOP(lcdbr);
1522 break; 1525 break;
1523 case kS390_Cntlz32: { 1526 case kS390_Cntlz32: {
1524 __ llgfr(i.OutputRegister(), i.InputRegister(0)); 1527 __ llgfr(i.OutputRegister(), i.InputRegister(0));
1525 __ flogr(r0, i.OutputRegister()); 1528 __ flogr(r0, i.OutputRegister());
1526 __ LoadRR(i.OutputRegister(), r0); 1529 __ LoadRR(i.OutputRegister(), r0);
1527 __ SubP(i.OutputRegister(), Operand(32)); 1530 __ SubP(i.OutputRegister(), Operand(32));
1528 } break; 1531 } break;
1529 #if V8_TARGET_ARCH_S390X 1532 #if V8_TARGET_ARCH_S390X
(...skipping 930 matching lines...) Expand 10 before | Expand all | Expand 10 after
2460 padding_size -= 2; 2463 padding_size -= 2;
2461 } 2464 }
2462 } 2465 }
2463 } 2466 }
2464 2467
2465 #undef __ 2468 #undef __
2466 2469
2467 } // namespace compiler 2470 } // namespace compiler
2468 } // namespace internal 2471 } // namespace internal
2469 } // namespace v8 2472 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698