diff options
author | Nelson Chu <nelson.chu@sifive.com> | 2021-02-04 16:15:03 +0800 |
---|---|---|
committer | Nelson Chu <nelson.chu@sifive.com> | 2021-02-04 16:52:13 +0800 |
commit | 24075dcc8592db6e17dd18ee4fd8961635691bf6 (patch) | |
tree | a9f384739e4e344444c4fe1593b71fba7e680154 /gas | |
parent | 7d409ac001cce916661d345bff01ed589991e762 (diff) | |
download | fsf-binutils-gdb-24075dcc8592db6e17dd18ee4fd8961635691bf6.zip fsf-binutils-gdb-24075dcc8592db6e17dd18ee4fd8961635691bf6.tar.gz fsf-binutils-gdb-24075dcc8592db6e17dd18ee4fd8961635691bf6.tar.bz2 |
RISC-V: Removed the v0.93 bitmanip ZBA/ZBB/ZBC instructions.
bfd/
* elfxx-riscv.c (riscv_parse_prefixed_ext): Removed zb*.
gas/
* config/tc-riscv.c (riscv_multi_subset_supports): Removed
INSN_CLASS_ZB*.
* testsuite/gas/riscv/bitmanip-insns-32.d: Removed.
* testsuite/gas/riscv/bitmanip-insns-64.d: Removed.
* testsuite/gas/riscv/bitmanip-insns.s: Removed.
include/
* opcode/riscv-opc.h: Removed macros for zb* extensions.
* opcode/riscv.h (riscv_insn_class): Removed INSN_CLASS_ZB*.
opcodes/
* riscv-opc.c (MASK_RVB_IMM): Removed.
(riscv_opcodes): Removed zb* instructions.
(riscv_ext_version_table): Removed versions for zb*.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/config/tc-riscv.c | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/bitmanip-insns-32.d | 37 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/bitmanip-insns-64.d | 55 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/bitmanip-insns.s | 58 |
5 files changed, 8 insertions, 160 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 4d675dc..3d55c7f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2021-02-04 Nelson Chu <nelson.chu@sifive.com> + + * config/tc-riscv.c (riscv_multi_subset_supports): Removed + INSN_CLASS_ZB*. + * testsuite/gas/riscv/bitmanip-insns-32.d: Removed. + * testsuite/gas/riscv/bitmanip-insns-64.d: Removed. + * testsuite/gas/riscv/bitmanip-insns.s: Removed. + 2021-02-03 Andreas Krebbel <krebbel@linux.ibm.com> * doc/c-s390.texi: Document vector instruction formats. diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index ab9c6f4..44d9cb1 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -242,16 +242,6 @@ riscv_multi_subset_supports (enum riscv_insn_class insn_class) case INSN_CLASS_ZIHINTPAUSE: return riscv_subset_supports ("zihintpause"); - case INSN_CLASS_ZBA: - return riscv_subset_supports ("zba"); - case INSN_CLASS_ZBB: - return riscv_subset_supports ("zbb"); - case INSN_CLASS_ZBC: - return riscv_subset_supports ("zbc"); - case INSN_CLASS_ZBA_OR_ZBB: - return (riscv_subset_supports ("zba") - || riscv_subset_supports ("zbb")); - default: as_fatal ("internal: unreachable"); return FALSE; diff --git a/gas/testsuite/gas/riscv/bitmanip-insns-32.d b/gas/testsuite/gas/riscv/bitmanip-insns-32.d deleted file mode 100644 index b218f96..0000000 --- a/gas/testsuite/gas/riscv/bitmanip-insns-32.d +++ /dev/null @@ -1,37 +0,0 @@ -#as: -march=rv32i_zba_zbb_zbc -#source: bitmanip-insns.s -#objdump: -dr -Mno-aliases - -.*:[ ]+file format .* - - -Disassembly of section .text: - -0+000 <.text>: -[ ]+[0-9a-f]+:[ ]+0805c533[ ]+zext.h[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+6985d513[ ]+rev8[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+2875d513[ ]+orc.b[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+20c5a533[ ]+sh1add[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+20c5c533[ ]+sh2add[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+20c5e533[ ]+sh3add[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+60059513[ ]+clz[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+60159513[ ]+ctz[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+60259513[ ]+cpop[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+0ac5c533[ ]+min[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5e533[ ]+max[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5d533[ ]+minu[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5f533[ ]+maxu[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+60459513[ ]+sext.b[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+60559513[ ]+sext.h[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+40c5f533[ ]+andn[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+40c5e533[ ]+orn[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+00c5c533[ ]+xor[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+6005d513[ ]+rori[ ]+a0,a1,0x0 -[ ]+[0-9a-f]+:[ ]+61f5d513[ ]+rori[ ]+a0,a1,0x1f -[ ]+[0-9a-f]+:[ ]+60c5d533[ ]+ror[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+6005d513[ ]+rori[ ]+a0,a1,0x0 -[ ]+[0-9a-f]+:[ ]+61f5d513[ ]+rori[ ]+a0,a1,0x1f -[ ]+[0-9a-f]+:[ ]+60c59533[ ]+rol[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac59533[ ]+clmul[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5b533[ ]+clmulh[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5a533[ ]+clmulr[ ]+a0,a1,a2 diff --git a/gas/testsuite/gas/riscv/bitmanip-insns-64.d b/gas/testsuite/gas/riscv/bitmanip-insns-64.d deleted file mode 100644 index 9914f3e..0000000 --- a/gas/testsuite/gas/riscv/bitmanip-insns-64.d +++ /dev/null @@ -1,55 +0,0 @@ -#as: -march=rv64i_zba_zbb_zbc -defsym __64_bit__=1 -#source: bitmanip-insns.s -#objdump: -dr -Mno-aliases - -.*:[ ]+file format .* - - -Disassembly of section .text: - -0+000 <.text>: -[ ]+[0-9a-f]+:[ ]+0805c53b[ ]+zext.h[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+6b85d513[ ]+rev8[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+2875d513[ ]+orc.b[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+0805853b[ ]+add.uw[ ]+a0,a1,zero -[ ]+[0-9a-f]+:[ ]+20c5a533[ ]+sh1add[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+20c5c533[ ]+sh2add[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+20c5e533[ ]+sh3add[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+20c5a53b[ ]+sh1add.uw[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+20c5c53b[ ]+sh2add.uw[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+20c5e53b[ ]+sh3add.uw[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+08c5853b[ ]+add.uw[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0805951b[ ]+slli.uw[ ]+a0,a1,0x0 -[ ]+[0-9a-f]+:[ ]+0bf5951b[ ]+slli.uw[ ]+a0,a1,0x3f -[ ]+[0-9a-f]+:[ ]+60059513[ ]+clz[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+60159513[ ]+ctz[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+60259513[ ]+cpop[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+0ac5c533[ ]+min[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5e533[ ]+max[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5d533[ ]+minu[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5f533[ ]+maxu[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+60459513[ ]+sext.b[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+60559513[ ]+sext.h[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+40c5f533[ ]+andn[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+40c5e533[ ]+orn[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+00c5c533[ ]+xor[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+6005d513[ ]+rori[ ]+a0,a1,0x0 -[ ]+[0-9a-f]+:[ ]+61f5d513[ ]+rori[ ]+a0,a1,0x1f -[ ]+[0-9a-f]+:[ ]+60c5d533[ ]+ror[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+6005d513[ ]+rori[ ]+a0,a1,0x0 -[ ]+[0-9a-f]+:[ ]+61f5d513[ ]+rori[ ]+a0,a1,0x1f -[ ]+[0-9a-f]+:[ ]+60c59533[ ]+rol[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+6005951b[ ]+clzw[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+6015951b[ ]+ctzw[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+6025951b[ ]+cpopw[ ]+a0,a1 -[ ]+[0-9a-f]+:[ ]+63f5d513[ ]+rori[ ]+a0,a1,0x3f -[ ]+[0-9a-f]+:[ ]+63f5d513[ ]+rori[ ]+a0,a1,0x3f -[ ]+[0-9a-f]+:[ ]+6005d51b[ ]+roriw[ ]+a0,a1,0x0 -[ ]+[0-9a-f]+:[ ]+61f5d51b[ ]+roriw[ ]+a0,a1,0x1f -[ ]+[0-9a-f]+:[ ]+60c5d53b[ ]+rorw[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+6005d51b[ ]+roriw[ ]+a0,a1,0x0 -[ ]+[0-9a-f]+:[ ]+61f5d51b[ ]+roriw[ ]+a0,a1,0x1f -[ ]+[0-9a-f]+:[ ]+60c5953b[ ]+rolw[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac59533[ ]+clmul[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5b533[ ]+clmulh[ ]+a0,a1,a2 -[ ]+[0-9a-f]+:[ ]+0ac5a533[ ]+clmulr[ ]+a0,a1,a2 diff --git a/gas/testsuite/gas/riscv/bitmanip-insns.s b/gas/testsuite/gas/riscv/bitmanip-insns.s deleted file mode 100644 index b14e89c..0000000 --- a/gas/testsuite/gas/riscv/bitmanip-insns.s +++ /dev/null @@ -1,58 +0,0 @@ - # pseudo/aliaese - zext.h a0, a1 - rev8 a0, a1 - orc.b a0, a1 -.ifdef __64_bit__ - zext.w a0, a1 -.endif - - # ZBA - sh1add a0, a1, a2 - sh2add a0, a1, a2 - sh3add a0, a1, a2 -.ifdef __64_bit__ - sh1add.uw a0, a1, a2 - sh2add.uw a0, a1, a2 - sh3add.uw a0, a1, a2 - add.uw a0, a1, a2 - slli.uw a0, a1, 0 - slli.uw a0, a1, 63 -.endif - - # ZBB - clz a0, a1 - ctz a0, a1 - cpop a0, a1 - min a0, a1, a2 - max a0, a1, a2 - minu a0, a1, a2 - maxu a0, a1, a2 - sext.b a0, a1 - sext.h a0, a1 - andn a0, a1, a2 - orn a0, a1, a2 - xor a0, a1, a2 - rori a0, a1, 0 - rori a0, a1, 31 - ror a0, a1, a2 - ror a0, a1, 0 - ror a0, a1, 31 - rol a0, a1, a2 -.ifdef __64_bit__ - clzw a0, a1 - ctzw a0, a1 - cpopw a0, a1 - rori a0, a1, 63 - ror a0, a1, 63 - roriw a0, a1, 0 - roriw a0, a1, 31 - rorw a0, a1, a2 - rorw a0, a1, 0 - rorw a0, a1, 31 - rolw a0, a1, a2 -.endif - - # ZBC - clmul a0, a1, a2 - clmulh a0, a1, a2 - clmulr a0, a1, a2 |