| OLD | NEW |
| 1 // Copyright 2007-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2007-2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 COMPARE(mvn(r3, Operand(-1), LeaveCC, al), | 263 COMPARE(mvn(r3, Operand(-1), LeaveCC, al), |
| 264 "e3a03000 mov r3, #0"); | 264 "e3a03000 mov r3, #0"); |
| 265 COMPARE(mvn(r4, Operand(-2), SetCC, al), | 265 COMPARE(mvn(r4, Operand(-2), SetCC, al), |
| 266 "e3b04001 movs r4, #1"); | 266 "e3b04001 movs r4, #1"); |
| 267 COMPARE(mvn(r5, Operand(0x0ffffff0), SetCC, ne), | 267 COMPARE(mvn(r5, Operand(0x0ffffff0), SetCC, ne), |
| 268 "13b052ff movnes r5, #-268435441"); | 268 "13b052ff movnes r5, #-268435441"); |
| 269 COMPARE(mvn(r6, Operand(-1), LeaveCC, ne), | 269 COMPARE(mvn(r6, Operand(-1), LeaveCC, ne), |
| 270 "13a06000 movne r6, #0"); | 270 "13a06000 movne r6, #0"); |
| 271 | 271 |
| 272 // mov -> movw. | 272 // mov -> movw. |
| 273 if (CpuFeatures::IsSupported(ARMv7)) { | 273 if (Isolate::Current()->cpu_features()->IsSupported(ARMv7)) { |
| 274 COMPARE(mov(r5, Operand(0x01234), LeaveCC, ne), | 274 COMPARE(mov(r5, Operand(0x01234), LeaveCC, ne), |
| 275 "13015234 movwne r5, #4660"); | 275 "13015234 movwne r5, #4660"); |
| 276 // We only disassemble one instruction so the eor instruction is not here. | 276 // We only disassemble one instruction so the eor instruction is not here. |
| 277 COMPARE(eor(r5, r4, Operand(0x1234), LeaveCC, ne), | 277 COMPARE(eor(r5, r4, Operand(0x1234), LeaveCC, ne), |
| 278 "1301c234 movwne ip, #4660"); | 278 "1301c234 movwne ip, #4660"); |
| 279 // Movw can't do setcc so we don't get that here. Mov immediate with setcc | 279 // Movw can't do setcc so we don't get that here. Mov immediate with setcc |
| 280 // is pretty strange anyway. | 280 // is pretty strange anyway. |
| 281 COMPARE(mov(r5, Operand(0x01234), SetCC, ne), | 281 COMPARE(mov(r5, Operand(0x01234), SetCC, ne), |
| 282 "159fc000 ldrne ip, [pc, #+0]"); | 282 "159fc000 ldrne ip, [pc, #+0]"); |
| 283 // We only disassemble one instruction so the eor instruction is not here. | 283 // We only disassemble one instruction so the eor instruction is not here. |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 COMPARE(eor(r4, r1, Operand(0x10000000), SetCC, cc), | 353 COMPARE(eor(r4, r1, Operand(0x10000000), SetCC, cc), |
| 354 "32314201 eorccs r4, r1, #268435456"); | 354 "32314201 eorccs r4, r1, #268435456"); |
| 355 | 355 |
| 356 VERIFY_RUN(); | 356 VERIFY_RUN(); |
| 357 } | 357 } |
| 358 | 358 |
| 359 | 359 |
| 360 TEST(Type3) { | 360 TEST(Type3) { |
| 361 SETUP(); | 361 SETUP(); |
| 362 | 362 |
| 363 if (CpuFeatures::IsSupported(ARMv7)) { | 363 if (Isolate::Current()->cpu_features()->IsSupported(ARMv7)) { |
| 364 COMPARE(ubfx(r0, r1, 5, 10), | 364 COMPARE(ubfx(r0, r1, 5, 10), |
| 365 "e7e902d1 ubfx r0, r1, #5, #10"); | 365 "e7e902d1 ubfx r0, r1, #5, #10"); |
| 366 COMPARE(ubfx(r1, r0, 5, 10), | 366 COMPARE(ubfx(r1, r0, 5, 10), |
| 367 "e7e912d0 ubfx r1, r0, #5, #10"); | 367 "e7e912d0 ubfx r1, r0, #5, #10"); |
| 368 COMPARE(ubfx(r0, r1, 31, 1), | 368 COMPARE(ubfx(r0, r1, 31, 1), |
| 369 "e7e00fd1 ubfx r0, r1, #31, #1"); | 369 "e7e00fd1 ubfx r0, r1, #31, #1"); |
| 370 COMPARE(ubfx(r1, r0, 31, 1), | 370 COMPARE(ubfx(r1, r0, 31, 1), |
| 371 "e7e01fd0 ubfx r1, r0, #31, #1"); | 371 "e7e01fd0 ubfx r1, r0, #31, #1"); |
| 372 | 372 |
| 373 COMPARE(sbfx(r0, r1, 5, 10), | 373 COMPARE(sbfx(r0, r1, 5, 10), |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 } | 408 } |
| 409 | 409 |
| 410 VERIFY_RUN(); | 410 VERIFY_RUN(); |
| 411 } | 411 } |
| 412 | 412 |
| 413 | 413 |
| 414 | 414 |
| 415 TEST(Vfp) { | 415 TEST(Vfp) { |
| 416 SETUP(); | 416 SETUP(); |
| 417 | 417 |
| 418 if (CpuFeatures::IsSupported(VFP3)) { | 418 if (Isolate::Current()->cpu_features()->IsSupported(VFP3)) { |
| 419 CpuFeatures::Scope scope(VFP3); | 419 CpuFeatures::Scope scope(VFP3); |
| 420 COMPARE(vmov(d0, d1), | 420 COMPARE(vmov(d0, d1), |
| 421 "eeb00b41 vmov.f64 d0, d1"); | 421 "eeb00b41 vmov.f64 d0, d1"); |
| 422 COMPARE(vmov(d3, d3, eq), | 422 COMPARE(vmov(d3, d3, eq), |
| 423 "0eb03b43 vmov.f64eq d3, d3"); | 423 "0eb03b43 vmov.f64eq d3, d3"); |
| 424 | 424 |
| 425 COMPARE(vmov(s0, s31), | 425 COMPARE(vmov(s0, s31), |
| 426 "eeb00a6f vmov.f32 s0, s31"); | 426 "eeb00a6f vmov.f32 s0, s31"); |
| 427 COMPARE(vmov(s31, s0), | 427 COMPARE(vmov(s31, s0), |
| 428 "eef0fa40 vmov.f32 s31, s0"); | 428 "eef0fa40 vmov.f32 s31, s0"); |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 519 COMPARE(vmrs(r5), | 519 COMPARE(vmrs(r5), |
| 520 "eef15a10 vmrs r5, FPSCR"); | 520 "eef15a10 vmrs r5, FPSCR"); |
| 521 COMPARE(vmrs(r10, ge), | 521 COMPARE(vmrs(r10, ge), |
| 522 "aef1aa10 vmrsge r10, FPSCR"); | 522 "aef1aa10 vmrsge r10, FPSCR"); |
| 523 COMPARE(vmrs(pc), | 523 COMPARE(vmrs(pc), |
| 524 "eef1fa10 vmrs APSR, FPSCR"); | 524 "eef1fa10 vmrs APSR, FPSCR"); |
| 525 } | 525 } |
| 526 | 526 |
| 527 VERIFY_RUN(); | 527 VERIFY_RUN(); |
| 528 } | 528 } |
| OLD | NEW |