Chromium Code Reviews| Index: test/cctest/test-disasm-arm.cc |
| =================================================================== |
| --- test/cctest/test-disasm-arm.cc (revision 4906) |
| +++ test/cctest/test-disasm-arm.cc (working copy) |
| @@ -269,6 +269,28 @@ |
| COMPARE(mvn(r6, Operand(-1), LeaveCC, ne), |
| "13a06000 movne r6, #0"); |
| + // mov -> movw. |
| + if (CpuFeatures::IsSupported(ARMv7)) { |
| + COMPARE(mov(r5, Operand(0x01234), LeaveCC, ne), |
| + "13015234 movwne r5, #4660"); |
| + // We only disassemble one instruction so the eor instruction is not here. |
| + COMPARE(eor(r5, r4, Operand(0x1234), LeaveCC, ne), |
| + "1301c234 movwne ip, #4660"); |
| + // Movw can't do setcc so we don't get that here. Mov immediate with setcc |
| + // is pretty strange anyway. |
| + COMPARE(mov(r5, Operand(0x01234), SetCC, ne), |
| + "159fc000 ldrne ip, [pc, #+0]"); |
| + // We only disassemble one instruction so the eor instruction is not here. |
| + // The eor does the setcc so we get a movw here. |
| + COMPARE(eor(r5, r4, Operand(0x1234), SetCC, ne), |
| + "1301c234 movwne ip, #4660"); |
| + } |
| + |
| + // Eor doesn't have an eor-negative variant, but we can do an mvn followed by |
| + // an eor to get the same effect. |
| + COMPARE(eor(r5, r4, Operand(0xffffff34), SetCC, ne), |
| + "13e0c0cb mvnne ip, #203"); |
| + |
|
Søren Thygesen Gjesse
2010/06/21 21:39:26
Missing movt test?
|
| // and <-> bic. |
| COMPARE(and_(r3, r5, Operand(0xfc03ffff)), |
| "e3c537ff bic r3, r5, #66846720"); |