| Index: test/cctest/test-assembler-arm.cc
|
| diff --git a/test/cctest/test-assembler-arm.cc b/test/cctest/test-assembler-arm.cc
|
| index b21dc34dc4afcebb0a9d3293e1ea2f50bbee8b4b..9c1c04fe338f52ad478bd61ec306736c5c39ed46 100644
|
| --- a/test/cctest/test-assembler-arm.cc
|
| +++ b/test/cctest/test-assembler-arm.cc
|
| @@ -1266,6 +1266,10 @@ TEST(15) {
|
| uint32_t dstA1;
|
| uint32_t dstA2;
|
| uint32_t dstA3;
|
| + uint32_t dstA4;
|
| + uint32_t dstA5;
|
| + uint32_t dstA6;
|
| + uint32_t dstA7;
|
| } T;
|
| T t;
|
|
|
| @@ -1291,7 +1295,14 @@ TEST(15) {
|
| __ add(r4, r0, Operand(OFFSET_OF(T, dstA0)));
|
| __ vst1(Neon8, NeonListOperand(d0, 2), NeonMemOperand(r4));
|
|
|
| - __ ldm(ia_w, sp, r4.bit() | pc.bit());
|
| + // The same expansion, but with different source and destination registers.
|
| + __ add(r4, r0, Operand(OFFSET_OF(T, srcA0)));
|
| + __ vld1(Neon8, NeonListOperand(d1), NeonMemOperand(r4));
|
| + __ vmovl(NeonU8, q1, d1);
|
| + __ add(r4, r0, Operand(OFFSET_OF(T, dstA4)));
|
| + __ vst1(Neon8, NeonListOperand(d2, 2), NeonMemOperand(r4));
|
| +
|
| + __ ldm(ia_w, sp, r4.bit() | pc.bit());
|
|
|
| CodeDesc desc;
|
| assm.GetCode(&desc);
|
| @@ -1326,6 +1337,10 @@ TEST(15) {
|
| t.dstA1 = 0;
|
| t.dstA2 = 0;
|
| t.dstA3 = 0;
|
| + t.dstA4 = 0;
|
| + t.dstA5 = 0;
|
| + t.dstA6 = 0;
|
| + t.dstA7 = 0;
|
| Object* dummy = CALL_GENERATED_CODE(f, &t, 0, 0, 0, 0);
|
| USE(dummy);
|
| CHECK_EQ(0x01020304, t.dst0);
|
| @@ -1340,6 +1355,10 @@ TEST(15) {
|
| CHECK_EQ(0x00410042, t.dstA1);
|
| CHECK_EQ(0x00830084, t.dstA2);
|
| CHECK_EQ(0x00810082, t.dstA3);
|
| + CHECK_EQ(0x00430044, t.dstA4);
|
| + CHECK_EQ(0x00410042, t.dstA5);
|
| + CHECK_EQ(0x00830084, t.dstA6);
|
| + CHECK_EQ(0x00810082, t.dstA7);
|
| }
|
| }
|
|
|
|
|