Browse Source
Along with the relevant unit tests and updates to the existing regression tests, this adds support for the following novel rcpc3 insns: LDIAPP <Wt1>, <Wt2>, [<Xn|SP>] LDIAPP <Wt1>, <Wt2>, [<Xn|SP>], #8 LDIAPP <Xt1>, <Xt2>, [<Xn|SP>] LDIAPP <Xt1>, <Xt2>, [<Xn|SP>], #16 STILP <Wt1>, <Wt2>, [<Xn|SP>] STILP <Wt1>, <Wt2>, [<Xn|SP>, #-8]! STILP <Xt1>, <Xt2>, [<Xn|SP>] STILP <Xt1>, <Xt2>, [<Xn|SP>, #-16]! LDAPR <Wt>, [<Xn|SP>], #4 LDAPR <Xt>, [<Xn|SP>], #8 STLR <Wt>, [<Xn|SP>, #-4]! STLR <Xt>, [<Xn|SP>, #-8]!binutils-2_42-branch
8 changed files with 71 additions and 2 deletions
@ -0,0 +1,3 @@ |
|||
#name: RCPC3 GPR load/store illegal |
|||
#as: -march=armv8.3-a+rcpc3 -mno-verbose-error |
|||
#error_output: rcpc3-fail.l |
|||
@ -0,0 +1,9 @@ |
|||
[^:]+: Assembler messages: |
|||
[^:]+:3: Error: operand 3 must be an address with post-incrementing by ammount of loaded bytes -- `ldiapp w0,w1,\[x3,#8\]' |
|||
[^:]+:4: Error: operand 3 must be an address with post-incrementing by ammount of loaded bytes -- `ldiapp x0,x1,\[x3,#16\]' |
|||
[^:]+:6: Error: operand 3 must be an address with pre-incrementing with write-back by ammount of stored bytes -- `stilp w0,w1,\[x3,#8\]' |
|||
[^:]+:7: Error: operand 3 must be an address with pre-incrementing with write-back by ammount of stored bytes -- `stilp x0,x1,\[x3,#16\]' |
|||
[^:]+:9: Error: invalid addressing mode at operand 3 -- `stilp w0,w1,\[x3\],#8' |
|||
[^:]+:10: Error: invalid addressing mode at operand 3 -- `stilp x0,x1,\[x3\],#16' |
|||
[^:]+:12: Error: invalid addressing mode at operand 3 -- `ldiapp w0,w1,\[x3,#-8\]!' |
|||
[^:]+:13: Error: invalid addressing mode at operand 3 -- `ldiapp x0,x1,\[x3,#-16\]!' |
|||
@ -0,0 +1,13 @@ |
|||
.text |
|||
|
|||
ldiapp w0, w1, [x3, #8] |
|||
ldiapp x0, x1, [x3, #16] |
|||
|
|||
stilp w0, w1, [x3, #8] |
|||
stilp x0, x1, [x3, #16] |
|||
|
|||
stilp w0, w1, [x3], #8 |
|||
stilp x0, x1, [x3], #16 |
|||
|
|||
ldiapp w0, w1, [x3, #-8]! |
|||
ldiapp x0, x1, [x3, #-16]! |
|||
@ -0,0 +1,21 @@ |
|||
#name: RCPC3 GPR load/store |
|||
#as: -march=armv8.2-a+rcpc3 |
|||
#objdump: -dr |
|||
|
|||
.*: file format .* |
|||
|
|||
Disassembly of section \.text: |
|||
|
|||
0+ <.*>: |
|||
0: d9411860 ldiapp x0, x1, \[x3\] |
|||
4: 99411860 ldiapp w0, w1, \[x3\] |
|||
8: d9410860 ldiapp x0, x1, \[x3\], #16 |
|||
c: 99410860 ldiapp w0, w1, \[x3\], #8 |
|||
10: d9011860 stilp x0, x1, \[x3\] |
|||
14: 99011860 stilp w0, w1, \[x3\] |
|||
18: d9010860 stilp x0, x1, \[x3, #-16\]! |
|||
1c: 99010860 stilp w0, w1, \[x3, #-8\]! |
|||
20: 99c00841 ldapr w1, \[x2\], #4 |
|||
24: d9c00841 ldapr x1, \[x2\], #8 |
|||
28: 99800841 stlr w1, \[x2, #-4\]! |
|||
2c: d9800841 stlr x1, \[x2, #-8\]! |
|||
@ -0,0 +1,17 @@ |
|||
.text |
|||
|
|||
ldiapp x0, x1, [x3] |
|||
ldiapp w0, w1, [x3] |
|||
ldiapp x0, x1, [x3], #16 |
|||
ldiapp w0, w1, [x3], #8 |
|||
|
|||
stilp x0, x1, [x3] |
|||
stilp w0, w1, [x3] |
|||
stilp x0, x1, [x3, #-16]! |
|||
stilp w0, w1, [x3, #-8]! |
|||
|
|||
ldapr w1, [x2], #4 |
|||
ldapr x1, [x2], #8 |
|||
|
|||
stlr w1, [x2, #-4]! |
|||
stlr x1, [x2, #-8]! |
|||
Loading…
Reference in new issue