| OLD | NEW |
| 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 1147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1158 } | 1158 } |
| 1159 break; | 1159 break; |
| 1160 case kS390_Mod32: | 1160 case kS390_Mod32: |
| 1161 ASSEMBLE_MODULO(dr, srda); | 1161 ASSEMBLE_MODULO(dr, srda); |
| 1162 break; | 1162 break; |
| 1163 case kS390_ModU32: | 1163 case kS390_ModU32: |
| 1164 ASSEMBLE_MODULO(dlr, srdl); | 1164 ASSEMBLE_MODULO(dlr, srdl); |
| 1165 break; | 1165 break; |
| 1166 #if V8_TARGET_ARCH_S390X | 1166 #if V8_TARGET_ARCH_S390X |
| 1167 case kS390_Mod64: | 1167 case kS390_Mod64: |
| 1168 ASSEMBLE_MODULO(dr, srda); | 1168 __ LoadRR(r1, i.InputRegister(0)); |
| 1169 __ dsgr(r0, i.InputRegister(1)); // R1: Dividend |
| 1170 __ ltgr(i.OutputRegister(), r0); // Copy R0: Remainder to output |
| 1169 break; | 1171 break; |
| 1170 case kS390_ModU64: | 1172 case kS390_ModU64: |
| 1171 ASSEMBLE_MODULO(dlr, srdl); | 1173 __ LoadRR(r1, i.InputRegister(0)); |
| 1174 __ LoadImmP(r0, Operand::Zero()); |
| 1175 __ dlgr(r0, i.InputRegister(1)); // R0:R1: Dividend |
| 1176 __ ltgr(i.OutputRegister(), r0); // Copy R0: Remainder to output |
| 1172 break; | 1177 break; |
| 1173 #endif | 1178 #endif |
| 1174 case kS390_AbsFloat: | 1179 case kS390_AbsFloat: |
| 1175 __ lpebr(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); | 1180 __ lpebr(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); |
| 1176 break; | 1181 break; |
| 1177 case kS390_SqrtFloat: | 1182 case kS390_SqrtFloat: |
| 1178 ASSEMBLE_FLOAT_UNOP(sqebr); | 1183 ASSEMBLE_FLOAT_UNOP(sqebr); |
| 1179 break; | 1184 break; |
| 1180 case kS390_FloorFloat: | 1185 case kS390_FloorFloat: |
| 1181 // ASSEMBLE_FLOAT_UNOP_RC(frim); | 1186 // ASSEMBLE_FLOAT_UNOP_RC(frim); |
| (...skipping 880 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2062 padding_size -= 2; | 2067 padding_size -= 2; |
| 2063 } | 2068 } |
| 2064 } | 2069 } |
| 2065 } | 2070 } |
| 2066 | 2071 |
| 2067 #undef __ | 2072 #undef __ |
| 2068 | 2073 |
| 2069 } // namespace compiler | 2074 } // namespace compiler |
| 2070 } // namespace internal | 2075 } // namespace internal |
| 2071 } // namespace v8 | 2076 } // namespace v8 |
| OLD | NEW |