| OLD | NEW |
| 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 #include "src/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
| 6 | 6 |
| 7 #include "src/arm64/macro-assembler-arm64.h" | 7 #include "src/arm64/macro-assembler-arm64.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 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 } else { | 182 } else { |
| 183 __ Add(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); | 183 __ Add(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); |
| 184 } | 184 } |
| 185 break; | 185 break; |
| 186 case kArm64And: | 186 case kArm64And: |
| 187 __ And(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 187 __ And(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
| 188 break; | 188 break; |
| 189 case kArm64And32: | 189 case kArm64And32: |
| 190 __ And(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); | 190 __ And(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); |
| 191 break; | 191 break; |
| 192 case kArm64Bic: |
| 193 __ Bic(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
| 194 break; |
| 195 case kArm64Bic32: |
| 196 __ Bic(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); |
| 197 break; |
| 192 case kArm64Mul: | 198 case kArm64Mul: |
| 193 __ Mul(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1)); | 199 __ Mul(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1)); |
| 194 break; | 200 break; |
| 195 case kArm64Mul32: | 201 case kArm64Mul32: |
| 196 __ Mul(i.OutputRegister32(), i.InputRegister32(0), i.InputRegister32(1)); | 202 __ Mul(i.OutputRegister32(), i.InputRegister32(0), i.InputRegister32(1)); |
| 197 break; | 203 break; |
| 198 case kArm64Idiv: | 204 case kArm64Idiv: |
| 199 __ Sdiv(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1)); | 205 __ Sdiv(i.OutputRegister(), i.InputRegister(0), i.InputRegister(1)); |
| 200 break; | 206 break; |
| 201 case kArm64Idiv32: | 207 case kArm64Idiv32: |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 break; | 255 break; |
| 250 case kArm64Neg32: | 256 case kArm64Neg32: |
| 251 __ Neg(i.OutputRegister32(), i.InputOperand32(0)); | 257 __ Neg(i.OutputRegister32(), i.InputOperand32(0)); |
| 252 break; | 258 break; |
| 253 case kArm64Or: | 259 case kArm64Or: |
| 254 __ Orr(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 260 __ Orr(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
| 255 break; | 261 break; |
| 256 case kArm64Or32: | 262 case kArm64Or32: |
| 257 __ Orr(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); | 263 __ Orr(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); |
| 258 break; | 264 break; |
| 259 case kArm64Xor: | 265 case kArm64Orn: |
| 266 __ Orn(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
| 267 break; |
| 268 case kArm64Orn32: |
| 269 __ Orn(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); |
| 270 break; |
| 271 case kArm64Eor: |
| 260 __ Eor(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 272 __ Eor(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
| 261 break; | 273 break; |
| 262 case kArm64Xor32: | 274 case kArm64Eor32: |
| 263 __ Eor(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); | 275 __ Eor(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); |
| 264 break; | 276 break; |
| 277 case kArm64Eon: |
| 278 __ Eon(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
| 279 break; |
| 280 case kArm64Eon32: |
| 281 __ Eon(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); |
| 282 break; |
| 265 case kArm64Sub: | 283 case kArm64Sub: |
| 266 __ Sub(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 284 __ Sub(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
| 267 break; | 285 break; |
| 268 case kArm64Sub32: | 286 case kArm64Sub32: |
| 269 if (FlagsModeField::decode(opcode) != kFlags_none) { | 287 if (FlagsModeField::decode(opcode) != kFlags_none) { |
| 270 __ Subs(i.OutputRegister32(), i.InputRegister32(0), | 288 __ Subs(i.OutputRegister32(), i.InputRegister32(0), |
| 271 i.InputOperand32(1)); | 289 i.InputOperand32(1)); |
| 272 } else { | 290 } else { |
| 273 __ Sub(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); | 291 __ Sub(i.OutputRegister32(), i.InputRegister32(0), i.InputOperand32(1)); |
| 274 } | 292 } |
| (...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 867 } | 885 } |
| 868 } | 886 } |
| 869 MarkLazyDeoptSite(); | 887 MarkLazyDeoptSite(); |
| 870 } | 888 } |
| 871 | 889 |
| 872 #undef __ | 890 #undef __ |
| 873 | 891 |
| 874 } // namespace compiler | 892 } // namespace compiler |
| 875 } // namespace internal | 893 } // namespace internal |
| 876 } // namespace v8 | 894 } // namespace v8 |
| OLD | NEW |