https://sourceware.org/bugzilla/show_bug.cgi?id=33142
Bug ID: 33142 Summary: CR16 loadx disp14 format broken Product: binutils Version: 2.46 (HEAD) Status: UNCONFIRMED Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: Jomosoto at proton dot me Target Milestone: --- Test case: test.S --- loadb [r12]3(r1,r0), r2 loadw [r12]3(r1,r0), r3 loadd [r12]3(r1,r0), (r5,r4) --- Command: `as test.S` objdump -D output: --- Disassembly of section .text: 00000000 <.text>: 0: 60 86 03 00 loadb [r12]0x23:m(r1,r0),r6 4: f0 86 03 00 loadw [r12]0x33:m(r1,r0),r15 8: c0 86 03 00 loadw [r12]0x3:m(r1,r0),r12 --- Expected objdump -D ouput: --- Disassembly of section .text: 00000000 <.text>: 0: 40 86 23 00 loadb [r12]0x3:m(r1,r0),r2 4: a0 86 33 00 loadw [r12]0x3:m(r1,r0),r3 8: 80 86 43 00 loadd [r12]0x3:m(r1,r0),(r5,r4) --- It appears like the assembler tries to put reg dest to bits 2:3 instead of 16:19 (no effect at third example because "4" doesn't fit in the two bits) The disassembler seems to interpret bits 0:3 as reg dest, but the disp is decoded correctly (but broken in example 1 and 2, because of the wrong behaviour in the assembly step) -- You are receiving this mail because: You are on the CC list for the bug.