diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/armv8_5-a-memtag.d | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/armv8_5-a-memtag.s | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/illegal-memtag.l | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/illegal-memtag.s | 6 |
5 files changed, 34 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 9b7d016f864..064a88878b7 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,4 +1,11 @@ 2019-01-25 Sudakshina Das <sudi.das@arm.com> + + * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for stzgm. + * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. + * testsuite/gas/aarch64/illegal-memtag.l: Likewise. + * testsuite/gas/aarch64/illegal-memtag.s: Likewise. + +2019-01-25 Sudakshina Das <sudi.das@arm.com> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/tc-aarch64.c (parse_address_main): Remove support for diff --git a/gas/testsuite/gas/aarch64/armv8_5-a-memtag.d b/gas/testsuite/gas/aarch64/armv8_5-a-memtag.d index 363bbe2eb3b..678fefce609 100644 --- a/gas/testsuite/gas/aarch64/armv8_5-a-memtag.d +++ b/gas/testsuite/gas/aarch64/armv8_5-a-memtag.d @@ -121,3 +121,9 @@ Disassembly of section \.text: .*: d960001f ldg xzr, \[x0\] .*: d96ff000 ldg x0, \[x0, #4080\] .*: d9700000 ldg x0, \[x0, #-4096\] +.*: d9200000 stzgm x0, \[x0\] +.*: d920001b stzgm x27, \[x0\] +.*: d9200360 stzgm x0, \[x27\] +.*: d9200379 stzgm x25, \[x27\] +.*: d92003e0 stzgm x0, \[sp\] +.*: d920001f stzgm xzr, \[x0\] diff --git a/gas/testsuite/gas/aarch64/armv8_5-a-memtag.s b/gas/testsuite/gas/aarch64/armv8_5-a-memtag.s index 62c9436d78f..b8cab9f0eff 100644 --- a/gas/testsuite/gas/aarch64/armv8_5-a-memtag.s +++ b/gas/testsuite/gas/aarch64/armv8_5-a-memtag.s @@ -30,6 +30,15 @@ func: \op [sp], #-4096 .endm + .macro expand_ldg_bulk op + \op x0, [x0] + \op x27, [x0] + \op x0, [x27] + \op x25, [x27] + \op x0, [sp] + \op xzr, [x0] + .endm + # IRG expand_3_reg irg irg sp, x0 @@ -98,3 +107,5 @@ func: ldg xzr, [x0, #0] ldg x0, [x0, #4080] ldg x0, [x0, #-4096] + + expand_ldg_bulk stzgm diff --git a/gas/testsuite/gas/aarch64/illegal-memtag.l b/gas/testsuite/gas/aarch64/illegal-memtag.l index dfdf00aba1e..2505ffe79f8 100644 --- a/gas/testsuite/gas/aarch64/illegal-memtag.l +++ b/gas/testsuite/gas/aarch64/illegal-memtag.l @@ -12,6 +12,8 @@ [^:]*:[0-9]+: Error: immediate offset out of range -1024 to 1008 at operand 3 -- `stgp x1,x2,\[x3,#1009\]' [^:]*:[0-9]+: Error: immediate value must be a multiple of 16 at operand 3 -- `stgp x1,x2,\[x3,#33\]' [^:]*:[0-9]+: Error: immediate offset out of range -1024 to 1008 at operand 3 -- `stgp x1,x2,\[x3,#-1025\]' +[^:]*:[0-9]+: Error: the optional immediate offset can only be 0 at operand 2 -- `stzgm x2,\[x3,#16\]' +[^:]*:[0-9]+: Error: invalid addressing mode at operand 2 -- `stzgm x4,\[x5,#16\]!' [^:]*:[0-9]+: Error: operand 1 must be an integer or stack pointer register -- `irg xzr,x2,x3' [^:]*:[0-9]+: Error: operand 2 must be an integer or stack pointer register -- `irg x1,xzr,x3' [^:]*:[0-9]+: Error: operand 3 must be an integer register -- `irg x1,x2,sp' @@ -37,3 +39,5 @@ [^:]*:[0-9]+: Error: 64-bit integer or SP register expected at operand 3 -- `stgp x0,x0,\[xzr\]' [^:]*:[0-9]+: Error: operand 1 must be an integer register -- `ldg sp,\[x0,#16\]' [^:]*:[0-9]+: Error: 64-bit integer or SP register expected at operand 2 -- `ldg x0,\[xzr,#16\]' +[^:]*:[0-9]+: Error: 64-bit integer or SP register expected at operand 2 -- `stzgm x0,\[xzr\]' +[^:]*:[0-9]+: Error: operand 1 must be an integer register -- `stzgm sp,\[x3\]' diff --git a/gas/testsuite/gas/aarch64/illegal-memtag.s b/gas/testsuite/gas/aarch64/illegal-memtag.s index 35d1b12870b..2a45e164af3 100644 --- a/gas/testsuite/gas/aarch64/illegal-memtag.s +++ b/gas/testsuite/gas/aarch64/illegal-memtag.s @@ -20,6 +20,10 @@ func: stgp x1, x2, [x3, #33] stgp x1, x2, [x3, #-1025] + # STZGM + stzgm x2, [x3, #16] + stzgm x4, [x5, #16]! + # Illegal SP/XZR registers irg xzr, x2, x3 irg x1, xzr, x3 @@ -46,3 +50,5 @@ func: stgp x0, x0, [xzr] ldg sp, [x0, #16] ldg x0, [xzr, #16] + stzgm x0, [xzr] + stzgm sp, [x3] |