diff options
| author | Ben Shi <powerman1st@163.com> | 2017-05-16 11:36:54 +0000 |
|---|---|---|
| committer | Cherry Zhang <cherryyz@google.com> | 2017-05-18 13:38:13 +0000 |
| commit | c7cae34b194d6b189d5ae3dab5d331ba7c3b4fa9 (patch) | |
| tree | e7b846e87c1aa774c9c2a1aca4264c92fcf22212 /src/cmd/asm | |
| parent | 0927b4728defe3270f3d737d11cfb4d89493c435 (diff) | |
| download | go-c7cae34b194d6b189d5ae3dab5d331ba7c3b4fa9.tar.xz | |
cmd/internal/obj/arm: remove illegal form of the SWI instruction
SWI only support "SWI $imm", but currently "SWI (Reg)" is also
accepted. This patch fixes it.
And more instruction tests are added to cmd/asm/internal/asm/testdata/arm.s
fixes #20375
Change-Id: Id437d853924a403e41da9b6cbddd20d994b624ff
Reviewed-on: https://go-review.googlesource.com/43552
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/asm')
| -rw-r--r-- | src/cmd/asm/internal/asm/testdata/arm.s | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/src/cmd/asm/internal/asm/testdata/arm.s b/src/cmd/asm/internal/asm/testdata/arm.s index e814905bec..66fb207e3e 100644 --- a/src/cmd/asm/internal/asm/testdata/arm.s +++ b/src/cmd/asm/internal/asm/testdata/arm.s @@ -103,9 +103,9 @@ TEXT foo(SB), DUPOK|NOSPLIT, $0 // { // outcode($1, $2, &nullgen, 0, &$4); // } - SWI.S $2 - SWI.S (R1) -// SWI.S foo(SB) - TODO: classifying foo(SB) as C_TLS_LE + SWI $2 + SWI $3 +// SWI foo(SB) - TODO: classifying foo(SB) as C_TLS_LE // // CMP @@ -948,16 +948,28 @@ jmp_label_3: SLL.S R5, R7 // 1775b0e1 // MULA / MULS - MULAWT R1, R2, R3, R4 // c23124e1 - MULAWB R1, R2, R3, R4 // 823124e1 - MULS R1, R2, R3, R4 // 923164e0 - MULA R1, R2, R3, R4 // 923124e0 - MULA.S R1, R2, R3, R4 // 923134e0 - MMULA R1, R2, R3, R4 // 123154e7 - MMULS R1, R2, R3, R4 // d23154e7 - MULABB R1, R2, R3, R4 // 823104e1 + MULAWT R1, R2, R3, R4 // c23124e1 + MULAWB R1, R2, R3, R4 // 823124e1 + MULS R1, R2, R3, R4 // 923164e0 + MULA R1, R2, R3, R4 // 923124e0 + MULA.S R1, R2, R3, R4 // 923134e0 + MMULA R1, R2, R3, R4 // 123154e7 + MMULS R1, R2, R3, R4 // d23154e7 + MULABB R1, R2, R3, R4 // 823104e1 + MULAL R1, R2, (R4, R3) // 9231e4e0 + MULAL.S R1, R2, (R4, R3) // 9231f4e0 + MULALU R1, R2, (R4, R3) // 9231a4e0 + MULALU.S R1, R2, (R4, R3) // 9231b4e0 // MUL + MUL R2, R3, R4 // 930204e0 + MUL.S R2, R3, R4 // 930214e0 + MULU R5, R6, R7 // 960507e0 + MULU.S R5, R6, R7 // 960517e0 + MULLU R1, R2, (R4, R3) // 923184e0 + MULLU.S R1, R2, (R4, R3) // 923194e0 + MULL R1, R2, (R4, R3) // 9231c4e0 + MULL.S R1, R2, (R4, R3) // 9231d4e0 MMUL R1, R2, R3 // 12f153e7 MULBB R1, R2, R3 // 82f163e1 MULWB R1, R2, R3 // a20123e1 @@ -976,6 +988,21 @@ jmp_label_3: DIVHW R0, R1 // 11f011e7 DIVUHW R0, R1 // 11f031e7 +// misc + CLZ R1, R2 // 112f6fe1 + WORD $0 // 00000000 + WORD $4294967295 // ffffffff + WORD $2863311530 // aaaaaaaa + WORD $1431655765 // 55555555 + PLD 4080(R6) // f0ffd6f5 + PLD -4080(R9) // f0ff59f5 + RFE // 0080fde8 + SWPW R3, (R7), R9 // SWPW (R7), R3, R9 // 939007e1 + SWPBU R4, (R2), R8 // SWPBU (R2), R4, R8 // 948042e1 + SWI $0 // 000000ef + SWI $65535 // ffff00ef + SWI // 000000ef + // // END // |
