|
From: | cvs-commit at gcc dot gnu.org |
Subject: | [Bug binutils/31919] AArch64 gas test case "gas/aarch64/brbe-brb-inst" fails on s390x |
Date: | Tue, 25 Jun 2024 15:27:50 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=31919 --- Comment #1 from Sourceware Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jens Remus <jremus@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=64daf9abd9c805770727ade9c8197f5e07b28324 commit 64daf9abd9c805770727ade9c8197f5e07b28324 Author: Jens Remus <jremus@linux.ibm.com> Date: Tue Jun 25 17:25:55 2024 +0200 aarch64: Treat operand Rt_IN_SYS_ALIASES as register number (PR 31919) The AArch64 instruction table (aarch64-tbl.h) defines the operand Rt_IN_SYS_ALIASES as register number. During assembly it is correctly encoded as register number (reg.regno) in parse_operands. During disassembly it is first correctly decoded as register number (reg.regno) in aarch64_ext_regno called by aarch64_extract_operand, but then erroneously treated as immediate value (imm.value) in aarch64_print_operand. This resolves the assembler test case "gas/aarch64/brbe-brb-inst" to erroneously fail on s390. On AArch64 - being little-endian - the struct aarch64_opnd_info union fields reg.regno and imm.value share their least-significant bits. On s390 - being big-endian - they do not. opcodes/ PR binutils/31919 * aarch64-opc.c: Treat operand Rt_IN_SYS_ALIASES as register number. Bug: https://sourceware.org/PR31919 Fixes: 72476aca8f58 ("aarch64: add Branch Record Buffer extension instructions") Signed-off-by: Jens Remus <jremus@linux.ibm.com> -- You are receiving this mail because: You are on the CC list for the bug.
[Prev in Thread] | Current Thread | [Next in Thread] |