diff options
author | Alan Modra <amodra@gmail.com> | 2020-05-11 09:46:45 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-05-11 21:08:37 +0930 |
commit | 66ef5847c3a5ec17259f47f6ab52ebd470c0650c (patch) | |
tree | c8e1dd0aac0708950767becc211731597cb4712d /gas | |
parent | 4f3e9537c47ce65086cb86587a5fa9be4dc41392 (diff) | |
download | gdb-66ef5847c3a5ec17259f47f6ab52ebd470c0650c.zip gdb-66ef5847c3a5ec17259f47f6ab52ebd470c0650c.tar.gz gdb-66ef5847c3a5ec17259f47f6ab52ebd470c0650c.tar.bz2 |
Power10 string operations
opcodes/
* ppc-opc.c (powerpc_opcodes): Add vstribl, vstribr, vstrihl, vstrihr,
vclrlb, vclrrb, vstribl., vstribr., vstrihl., vstrihr..
gas/
* testsuite/gas/ppc/stringop.d,
* testsuite/gas/ppc/stringop.s: New test.
* testsuite/gas/ppc/ppc.exp: Run it.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/ppc.exp | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/stringop.d | 20 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/stringop.s | 12 |
4 files changed, 39 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index a7fbadc..4855906 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2020-05-11 Alan Modra <amodra@gmail.com> + + * testsuite/gas/ppc/stringop.d, + * testsuite/gas/ppc/stringop.s: New test. + * testsuite/gas/ppc/ppc.exp: Run it. + 2020-05-11 Peter Bergner <bergner@linux.ibm.com> * testsuite/gas/ppc/set_bool.d, diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index e1c7bde..127829f 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -142,3 +142,4 @@ run_dump_test "maskmanip" run_dump_test "genpcv" run_dump_test "bitmanip" run_dump_test "set_bool" +run_dump_test "stringop" diff --git a/gas/testsuite/gas/ppc/stringop.d b/gas/testsuite/gas/ppc/stringop.d new file mode 100644 index 0000000..be4c3cb --- /dev/null +++ b/gas/testsuite/gas/ppc/stringop.d @@ -0,0 +1,20 @@ +#as: -mpower10 +#objdump: -dr -Mpower10 +#name: string operations + +.* + + +Disassembly of section \.text: + +0+0 <_start>: +.*: (10 01 08 0d|0d 08 01 10) vstribr v0,v1 +.*: (10 41 1c 0d|0d 1c 41 10) vstribr. v2,v3 +.*: (10 80 28 0d|0d 28 80 10) vstribl v4,v5 +.*: (10 c0 3c 0d|0d 3c c0 10) vstribl. v6,v7 +.*: (11 03 48 0d|0d 48 03 11) vstrihr v8,v9 +.*: (11 43 5c 0d|0d 5c 43 11) vstrihr. v10,v11 +.*: (11 82 68 0d|0d 68 82 11) vstrihl v12,v13 +.*: (11 c2 7c 0d|0d 7c c2 11) vstrihl. v14,v15 +.*: (12 11 91 8d|8d 91 11 12) vclrlb v16,v17,r18 +.*: (12 74 a9 cd|cd a9 74 12) vclrrb v19,v20,r21 diff --git a/gas/testsuite/gas/ppc/stringop.s b/gas/testsuite/gas/ppc/stringop.s new file mode 100644 index 0000000..8f80afc --- /dev/null +++ b/gas/testsuite/gas/ppc/stringop.s @@ -0,0 +1,12 @@ + .text +_start: + vstribr 0,1 + vstribr. 2,3 + vstribl 4,5 + vstribl. 6,7 + vstrihr 8,9 + vstrihr. 10,11 + vstrihl 12,13 + vstrihl. 14,15 + vclrlb 16,17,18 + vclrrb 19,20,21 |