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 |