]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/asm: add MRC and MCR to end-to-end test for arm
authorRob Pike <r@golang.org>
Wed, 11 Mar 2015 18:31:49 +0000 (11:31 -0700)
committerRob Pike <r@golang.org>
Thu, 12 Mar 2015 18:03:04 +0000 (18:03 +0000)
The old, per-architecture operand printers didn't lock down the
format of the constant in the MRC and MCR instructions (a value
that could be presented more helpfully - maybe how the
input looks? - but that is an issue for another day). But there is
a portable standard printer now so we can enable tests for these
instructions.

Change-Id: I437a3b112ce63f4d6e1fe3450fc21d8c3372602f
Reviewed-on: https://go-review.googlesource.com/7420
Reviewed-by: Russ Cox <rsc@golang.org>
src/cmd/asm/internal/asm/endtoend_test.go
src/cmd/asm/internal/asm/testdata/arm.out
src/cmd/asm/internal/asm/testdata/arm.s

index 5038176f656505404b37da45187d9cfc596110f2..58c32387c00544333960e4de5f2bb7db4c6cc002 100644 (file)
@@ -56,7 +56,7 @@ func testEndToEnd(t *testing.T, goarch string) {
                r := strings.Split(result, "\n")
                e := strings.Split(string(expect), "\n")
                if len(r) != len(e) {
-                       t.Errorf("%s: expected %d lines, got %d", len(e), len(r))
+                       t.Errorf("%s: expected %d lines, got %d", goarch, len(e), len(r))
                }
                n := len(e)
                if n > len(r) {
index d1e21cb20b560d4d6f387a6a387334b55269ec89..0e23a0273e2939803b0aa1f02c6143342458746e 100644 (file)
 201 00045 (testdata/arm.s:201) ADDD.S  F1, F2, F3
 202 00046 (testdata/arm.s:202) ADDD.S  $(0.5), F2, F3
 208 00047 (testdata/arm.s:208) CMPD.S  F1, F2
-242 00048 (testdata/arm.s:242) MULL    R1, R2, (R3, R4)
-254 00049 (testdata/arm.s:254) MULAWT  R1, R2, R3, R4
-262 00050 (testdata/arm.s:262) PLD     (R1)
-263 00051 (testdata/arm.s:263) PLD     4(R1)
-272 00052 (testdata/arm.s:272) RET
-281 00053 (testdata/arm.s:281) END
+232 00048 (testdata/arm.s:232) MRC     $8301712627
+233 00049 (testdata/arm.s:233) MRC     $8300664051
+242 00050 (testdata/arm.s:242) MULL    R1, R2, (R3, R4)
+254 00051 (testdata/arm.s:254) MULAWT  R1, R2, R3, R4
+262 00052 (testdata/arm.s:262) PLD     (R1)
+263 00053 (testdata/arm.s:263) PLD     4(R1)
+272 00054 (testdata/arm.s:272) RET
+281 00055 (testdata/arm.s:281) END
index 8031075da985a52e5f85fc08609068879f6b998f..356391944e9c8b742df1e361f776d0e9e4e4fba6 100644 (file)
@@ -229,8 +229,8 @@ TEXT        foo(SB), 0, $0
 //                     (1<<4));                        /* must be set */
 //             outcode(AMRC, Always, &nullgen, 0, &g);
 //     }
-// TODO: Disabled until printout for this instruction is the same for 32 and 64 bits.
-//     MRC.S   4, 6, R1, C2, C3, 7
+       MRC.S   4, 6, R1, C2, C3, 7
+       MCR.S   4, 6, R1, C2, C3, 7
 
 //
 // MULL r1,r2,(hi,lo)