-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PULP SIMD 8-bit and 16-bit Instructions + GNU Tests Version 1.0.0 #51
Merged
jeremybennett
merged 3 commits into
openhwgroup:development
from
NandniJamnadas:simd-instructions-patch
Oct 20, 2022
Merged
PULP SIMD 8-bit and 16-bit Instructions + GNU Tests Version 1.0.0 #51
jeremybennett
merged 3 commits into
openhwgroup:development
from
NandniJamnadas:simd-instructions-patch
Oct 20, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
NandniJamnadas
commented
Oct 14, 2022
•
edited
Loading
edited
- 220 instructions implemented
- 440 instruction tests implemented + 2 MARCH tests in the GNU assembler
GNU Assembler Results:
|
NandniJamnadas
force-pushed
the
simd-instructions-patch
branch
2 times, most recently
from
October 15, 2022 08:09
234177e
to
b1b1ef7
Compare
NandniJamnadas
changed the title
SIMD 8-bit and 16-bit Instructions + GNU Tests
SIMD 8-bit and 16-bit Instructions + GNU Tests Version 1.0.0
Oct 15, 2022
NandniJamnadas
changed the title
SIMD 8-bit and 16-bit Instructions + GNU Tests Version 1.0.0
PULP SIMD 8-bit and 16-bit Instructions + GNU Tests Version 1.0.0
Oct 15, 2022
extension in assembler The SIMD instructions perform operations on multiple sub-word elements at the same time. This is done by segmenting the data path into smaller parts when 8 or 16-bit operations should be performed. The custom SIMD extensions are only supported if PULP_XPULP == 1. bfd/ * elfxx-riscv.c: (riscv_multi_subset_supports): Added INSN_CLASS_XCOREVSIMD. * elfxx-riscv.c: (riscv_multi_subset_supports_ext): Likewise. gas/config/ * tc-riscv.c: (validate_riscv_insn): Added operand code 'b5' for SIMD Imm6 operand. * tc-riscv.c: (riscv_ip): Added signed Imm6 range. include/opcode/ * riscv-opc.h: Added SIMD Match and Mask Macros. * riscv.h: Added EXTRACT_CV_SIMD_IMM6 and ENCODE_CV_SIMD_IMM6. * riscv.h: (riscv_insn_class): Added INSN_CLASS_COREV_SIMD. opcodes/ * riscv-dis.c: (print_insn_args): Disassemble info with EXTRACT_CV_SIMD_IMM6. * riscv-opc.c: Added SIMD Instructions. Signed-off-by: NandniJamnadas <nandni.jamnadas@embecosm.com>
individual instruction tests, register boundary tests, immediate boundary tests, march tests for rv32i, rv32i_xcorevsimd and rv32i_xcorev. * gas/testsuite/gas/riscv/cv-simd-march-fail.d: Likewise * gas/testsuite/gas/riscv/cv-simd-march-fail.l: Likewise * gas/testsuite/gas/riscv/cv-simd-march-fail.s: Likewise * gas/testsuite/gas/riscv/cv-simd-march-xcorev.d: Likewise * gas/testsuite/gas/riscv/cv-simd-march-xcorev.s: Likewise * gas/testsuite/gas/riscv/cv-simd-march-xcorevsimd.d: Likewise * gas/testsuite/gas/riscv/cv-simd-march-xcorevsimd.s: Likewise * gas/testsuite/gas/riscv/cv-add-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-add-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-add-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-add-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-add-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-add-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-add-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-add-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-add-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-add-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-add-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-add-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-add-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-add-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-add-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-add-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-add-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-add-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-add-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-add-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-add-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-add-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-add-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-add-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-add-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-add-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-add-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-add-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-add-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-add-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sub-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sub-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sub-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sub-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sub-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sub-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sub-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sub-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sub-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sub-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sub-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sub-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avg-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avg-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avg-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avg-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avg-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avg-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avg-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avg-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avg-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avg-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avg-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avg-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avgu-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avgu-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-avgu-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-min-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-min-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-min-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-min-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-min-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-min-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-min-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-min-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-min-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-min-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-min-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-min-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-min-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-min-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-min-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-min-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-min-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-min-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-min-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-min-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-min-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-min-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-min-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-min-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-min-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-min-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-min-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-min-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-min-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-min-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-minu-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-minu-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-minu-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-minu-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-minu-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-minu-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-minu-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-minu-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-minu-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-minu-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-minu-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-minu-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-max-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-max-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-max-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-max-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-max-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-max-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-max-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-max-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-max-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-max-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-max-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-max-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-max-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-max-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-max-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-max-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-max-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-max-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-max-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-max-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-max-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-max-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-max-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-max-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-max-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-max-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-max-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-max-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-max-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-max-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-maxu-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-maxu-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-maxu-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-srl-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-srl-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-srl-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-srl-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-srl-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-srl-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-srl-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-srl-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-srl-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-srl-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-srl-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-srl-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sra-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sra-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sra-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sra-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sra-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sra-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sra-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sra-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sra-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sra-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sra-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sra-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sll-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sll-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sll-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sll-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sll-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sll-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sll-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sll-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sll-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sll-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sll-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sll-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-or-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-or-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-or-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-or-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-or-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-or-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-or-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-or-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-or-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-or-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-or-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-or-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-or-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-or-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-or-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-or-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-or-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-or-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-or-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-or-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-or-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-or-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-or-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-or-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-or-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-or-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-or-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-or-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-or-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-or-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-xor-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-xor-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-xor-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-xor-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-xor-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-xor-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-xor-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-xor-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-xor-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-xor-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-xor-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-xor-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-and-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-and-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-and-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-and-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-and-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-and-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-and-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-and-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-and-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-and-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-and-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-and-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-and-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-and-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-and-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-and-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-and-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-and-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-and-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-and-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-and-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-and-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-and-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-and-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-and-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-and-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-and-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-and-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-and-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-and-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-abs-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-abs-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-abs-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-abs-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-abs-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-abs-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-abs-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-abs-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-abs-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-abs-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotup-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotup-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotup-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotusp-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotusp-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotusp-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotsp-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotsp-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-dotsp-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotup-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotup-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotup-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotusp-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-sdotsp-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-extract-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-extract-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-extract-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-extract-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-extract-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-extract-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-extract-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-extract-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-extract-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-extract-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-extractu-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-extractu-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-extractu-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-extractu-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-extractu-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-extractu-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-extractu-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-extractu-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-extractu-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-extractu-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-insert-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-insert-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-insert-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-insert-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-insert-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-insert-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-insert-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-insert-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-insert-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-insert-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-shuffle-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-shuffle-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-shuffle-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-shufflei0-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-shufflei0-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-shufflei0-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-shufflei0-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-shufflei0-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-shufflei1-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-shufflei1-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-shufflei1-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-shufflei1-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-shufflei1-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-shufflei2-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-shufflei2-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-shufflei2-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-shufflei2-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-shufflei2-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-shufflei3-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-shufflei3-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-shufflei3-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-shufflei3-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-shufflei3-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-shuffle2-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-pack-pass.d: Likewise * gas/testsuite/gas/riscv/cv-pack-pass.s: Likewise * gas/testsuite/gas/riscv/cv-pack-fail.d: Likewise * gas/testsuite/gas/riscv/cv-pack-fail.s: Likewise * gas/testsuite/gas/riscv/cv-pack-fail.l: Likewise * gas/testsuite/gas/riscv/cv-pack-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-pack-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-pack-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-pack-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-pack-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-packhi-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-packhi-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-packhi-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-packhi-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-packhi-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-packlo-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-packlo-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-packlo-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-packlo-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-packlo-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpeq-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpne-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpne-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpne-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgt-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpge-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpge-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpge-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmplt-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmplt-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmplt-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmple-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmple-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmple-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgtu-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpgeu-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpltu-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sc-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-h-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-h-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-h-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-h-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-h-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-b-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-b-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-b-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-b-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cmpleu-sci-b-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-r-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-r-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-r-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-r-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-r-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-i-pass.d: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-i-pass.s: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-i-fail.d: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-i-fail.s: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-i-fail.l: Likewise * gas/testsuite/gas/riscv/cv-cplxmul-r-div2-pass.d: Likewise * g…
* gas/doc/c-riscv.texi: Updated c-riscv.texi document to include CORE-V SIMD extension Signed-off-by: NandniJamnadas <nandni.jamnadas@embecosm.com>
jeremybennett
force-pushed
the
simd-instructions-patch
branch
from
October 20, 2022 17:09
b1b1ef7
to
4a5753b
Compare
jeremybennett
approved these changes
Oct 20, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have inspected the key files, all look good, and the tools build. I have not inspected all the individual tests of instructions, but a sample look good.
This patch is ready to be merged.
MaryBennett
pushed a commit
that referenced
this pull request
Oct 5, 2023
…s_debug_type} With gdb build with -fsanitize=thread and test-case gdb.base/index-cache.exp and target board debug-types, I run into: ... (gdb) file build/gdb/testsuite/outputs/gdb.base/index-cache/index-cache Reading symbols from build/gdb/testsuite/outputs/gdb.base/index-cache/index-cache... ================== WARNING: ThreadSanitizer: data race (pid=9654) Write of size 1 at 0x7b200000420d by main thread: #0 dwarf2_per_cu_data::get_header() const gdb/dwarf2/read.c:21513 (gdb+0x8d1eee) #1 dwarf2_per_cu_data::addr_size() const gdb/dwarf2/read.c:21524 (gdb+0x8d1f4e) #2 dwarf2_cu::addr_type() const gdb/dwarf2/cu.c:112 (gdb+0x806327) #3 set_die_type gdb/dwarf2/read.c:21932 (gdb+0x8d3870) #4 read_base_type gdb/dwarf2/read.c:15448 (gdb+0x8bcacb) #5 read_type_die_1 gdb/dwarf2/read.c:19832 (gdb+0x8cc0a5) #6 read_type_die gdb/dwarf2/read.c:19767 (gdb+0x8cbe6d) #7 lookup_die_type gdb/dwarf2/read.c:19739 (gdb+0x8cbdc7) #8 die_type gdb/dwarf2/read.c:19593 (gdb+0x8cb68a) #9 read_subroutine_type gdb/dwarf2/read.c:14648 (gdb+0x8b998e) #10 read_type_die_1 gdb/dwarf2/read.c:19792 (gdb+0x8cbf2f) #11 read_type_die gdb/dwarf2/read.c:19767 (gdb+0x8cbe6d) #12 read_func_scope gdb/dwarf2/read.c:10154 (gdb+0x8a4f36) #13 process_die gdb/dwarf2/read.c:6667 (gdb+0x898daa) #14 read_file_scope gdb/dwarf2/read.c:7682 (gdb+0x89bad8) #15 process_die gdb/dwarf2/read.c:6654 (gdb+0x898ced) #16 process_full_comp_unit gdb/dwarf2/read.c:6418 (gdb+0x8981de) #17 process_queue gdb/dwarf2/read.c:5690 (gdb+0x894433) #18 dw2_do_instantiate_symtab gdb/dwarf2/read.c:1770 (gdb+0x88623a) #19 dw2_instantiate_symtab gdb/dwarf2/read.c:1792 (gdb+0x886300) #20 dw2_expand_symtabs_matching_one(dwarf2_per_cu_data*, dwarf2_per_objfile*, gdb::function_view<bool (char const*, bool)>, gdb::function_view<bool (compunit_symtab*)>) gdb/dwarf2/read.c:3042 (gdb+0x88b1f1) #21 cooked_index_functions::expand_symtabs_matching(objfile*, gdb::function_view<bool (char const*, bool)>, lookup_name_info const*, gdb::function_view<bool (char const*)>, gdb::function_view<bool (compunit_symtab*)>, enum_flags<block_search_flag_values>, domain_enum, search_domain) gdb/dwarf2/read.c:16917 (gdb+0x8c228e) #22 objfile::lookup_symbol(block_enum, char const*, domain_enum) gdb/symfile-debug.c:288 (gdb+0xf39055) #23 lookup_symbol_via_quick_fns gdb/symtab.c:2385 (gdb+0xf66ab7) #24 lookup_symbol_in_objfile gdb/symtab.c:2516 (gdb+0xf6711b) #25 operator() gdb/symtab.c:2562 (gdb+0xf67272) #26 operator() gdb/../gdbsupport/function-view.h:305 (gdb+0xf776b1) #27 _FUN gdb/../gdbsupport/function-view.h:299 (gdb+0xf77708) #28 gdb::function_view<bool (objfile*)>::operator()(objfile*) const gdb/../gdbsupport/function-view.h:289 (gdb+0xc3fc97) #29 svr4_iterate_over_objfiles_in_search_order gdb/solib-svr4.c:3455 (gdb+0xecae47) #30 gdbarch_iterate_over_objfiles_in_search_order(gdbarch*, gdb::function_view<bool (objfile*)>, objfile*) gdb/gdbarch.c:5041 (gdb+0x537cad) #31 lookup_global_or_static_symbol gdb/symtab.c:2559 (gdb+0xf674fb) #32 lookup_global_symbol(char const*, block const*, domain_enum) gdb/symtab.c:2615 (gdb+0xf67780) #33 language_defn::lookup_symbol_nonlocal(char const*, block const*, domain_enum) const gdb/symtab.c:2447 (gdb+0xf66d6e) #34 lookup_symbol_aux gdb/symtab.c:2123 (gdb+0xf65cb3) #35 lookup_symbol_in_language(char const*, block const*, domain_enum, language, field_of_this_result*) gdb/symtab.c:1931 (gdb+0xf64dab) #36 set_initial_language() gdb/symfile.c:1708 (gdb+0xf43074) #37 symbol_file_add_main_1 gdb/symfile.c:1212 (gdb+0xf41608) #38 symbol_file_command(char const*, int) gdb/symfile.c:1681 (gdb+0xf42faf) #39 file_command gdb/exec.c:554 (gdb+0x94ff29) #40 do_simple_func gdb/cli/cli-decode.c:95 (gdb+0x6d9528) #41 cmd_func(cmd_list_element*, char const*, int) gdb/cli/cli-decode.c:2735 (gdb+0x6e0f69) #42 execute_command(char const*, int) gdb/top.c:575 (gdb+0xff379c) #43 command_handler(char const*) gdb/event-top.c:552 (gdb+0x94b5bc) #44 command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) gdb/event-top.c:788 (gdb+0x94bc79) #45 tui_command_line_handler gdb/tui/tui-interp.c:104 (gdb+0x1034efc) #46 gdb_rl_callback_handler gdb/event-top.c:259 (gdb+0x94ab61) #47 rl_callback_read_char readline/readline/callback.c:290 (gdb+0x11be4ef) #48 gdb_rl_callback_read_char_wrapper_noexcept gdb/event-top.c:195 (gdb+0x94a960) #49 gdb_rl_callback_read_char_wrapper gdb/event-top.c:234 (gdb+0x94aa21) #50 stdin_event_handler gdb/ui.c:155 (gdb+0x10751a0) #51 handle_file_event gdbsupport/event-loop.cc:573 (gdb+0x1d95bac) #52 gdb_wait_for_event gdbsupport/event-loop.cc:694 (gdb+0x1d962e4) #53 gdb_do_one_event(int) gdbsupport/event-loop.cc:264 (gdb+0x1d946d0) #54 start_event_loop gdb/main.c:412 (gdb+0xb5ab52) #55 captured_command_loop gdb/main.c:476 (gdb+0xb5ad41) #56 captured_main gdb/main.c:1320 (gdb+0xb5cec1) #57 gdb_main(captured_main_args*) gdb/main.c:1339 (gdb+0xb5cf70) #58 main gdb/gdb.c:32 (gdb+0x416776) Previous read of size 1 at 0x7b200000420d by thread T11: #0 write_gdbindex gdb/dwarf2/index-write.c:1229 (gdb+0x831630) #1 write_dwarf_index(dwarf2_per_bfd*, char const*, char const*, char const*, dw_index_kind) gdb/dwarf2/index-write.c:1484 (gdb+0x832897) #2 index_cache::store(dwarf2_per_bfd*, index_cache_store_context const&) gdb/dwarf2/index-cache.c:173 (gdb+0x82db8d) #3 cooked_index::maybe_write_index(dwarf2_per_bfd*, index_cache_store_context const&) gdb/dwarf2/cooked-index.c:645 (gdb+0x7f1d49) #4 operator() gdb/dwarf2/cooked-index.c:474 (gdb+0x7f0f31) #5 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (gdb+0x7f2a13) #6 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (gdb+0x700952) #7 void std::__invoke_impl<void, std::function<void ()>&>(std::__invoke_other, std::function<void ()>&) /usr/include/c++/7/bits/invoke.h:60 (gdb+0x7381a0) #8 std::__invoke_result<std::function<void ()>&>::type std::__invoke<std::function<void ()>&>(std::function<void ()>&) /usr/include/c++/7/bits/invoke.h:95 (gdb+0x737e91) #9 std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}::operator()() const /usr/include/c++/7/future:1421 (gdb+0x737b59) #10 std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}, void>::operator()() const /usr/include/c++/7/future:1362 (gdb+0x738660) #11 std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}, void> >::_M_invoke(std::_Any_data const&) /usr/include/c++/7/bits/std_function.h:302 (gdb+0x73825c) #12 std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (gdb+0x733623) #13 std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) /usr/include/c++/7/future:561 (gdb+0x732bdf) #14 void std::__invoke_impl<void, void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::__invoke_memfun_deref, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) /usr/include/c++/7/bits/invoke.h:73 (gdb+0x734c4f) #15 std::__invoke_result<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>::type std::__invoke<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) /usr/include/c++/7/bits/invoke.h:95 (gdb+0x733bc5) #16 std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#1}::operator()() const /usr/include/c++/7/mutex:672 (gdb+0x73300d) #17 std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::operator()() const /usr/include/c++/7/mutex:677 (gdb+0x7330b2) #18 std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::_FUN() /usr/include/c++/7/mutex:677 (gdb+0x7330f2) #19 pthread_once <null> (libtsan.so.0+0x4457c) #20 __gthread_once /usr/include/c++/7/x86_64-suse-linux/bits/gthr-default.h:699 (gdb+0x72f5dd) #21 void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) /usr/include/c++/7/mutex:684 (gdb+0x733224) #22 std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) /usr/include/c++/7/future:401 (gdb+0x732852) #23 std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run() /usr/include/c++/7/future:1423 (gdb+0x737bef) #24 std::packaged_task<void ()>::operator()() /usr/include/c++/7/future:1556 (gdb+0x1dad25a) #25 gdb::thread_pool::thread_function() gdbsupport/thread-pool.cc:242 (gdb+0x1dacb7c) #26 void std::__invoke_impl<void, void (gdb::thread_pool::*)(), gdb::thread_pool*>(std::__invoke_memfun_deref, void (gdb::thread_pool::*&&)(), gdb::thread_pool*&&) /usr/include/c++/7/bits/invoke.h:73 (gdb+0x1dadc2b) #27 std::__invoke_result<void (gdb::thread_pool::*)(), gdb::thread_pool*>::type std::__invoke<void (gdb::thread_pool::*)(), gdb::thread_pool*>(void (gdb::thread_pool::*&&)(), gdb::thread_pool*&&) /usr/include/c++/7/bits/invoke.h:95 (gdb+0x1dad05c) #28 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (gdb::thread_pool::*)(), gdb::thread_pool*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) /usr/include/c++/7/thread:234 (gdb+0x1db038e) #29 std::thread::_Invoker<std::tuple<void (gdb::thread_pool::*)(), gdb::thread_pool*> >::operator()() /usr/include/c++/7/thread:243 (gdb+0x1db0319) #30 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (gdb::thread_pool::*)(), gdb::thread_pool*> > >::_M_run() /usr/include/c++/7/thread:186 (gdb+0x1db02ce) #31 <null> <null> (libstdc++.so.6+0xdcac2) ... SUMMARY: ThreadSanitizer: data race gdb/dwarf2/read.c:21513 in dwarf2_per_cu_data::get_header() const ... The race happens when issuing the "file $exec" command. The race is between: - a worker thread writing the index cache, and in the process reading dwarf2_per_cu_data::is_debug_type, and - the main thread writing to dwarf2_per_cu_data::m_header_read_in. The two bitfields dwarf2_per_cu_data::m_header_read_in and dwarf2_per_cu_data::is_debug_type share the same bitfield container. Fix this by making dwarf2_per_cu_data::m_header_read_in a packed<bool, 1>. Tested on x86_64-linux. Approved-By: Tom Tromey <tom@tromey.com> PR symtab/30392 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30392
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.