https://sourceware.org/bugzilla/show_bug.cgi?id=27065
Bug ID: 27065 Summary: [ARM] If-Then instruction and .align directive Product: binutils Version: 2.35.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: kordalski.wojciech at gmail dot com Target Milestone: --- Created attachment 13048 --> https://sourceware.org/bugzilla/attachment.cgi?id=13048&action=edit The minimal example During research of ARM Cortex-M3-based processor for our master thesis, we found a bug (using a tool that generates random-but-correct sequences of assembly instructions). Minimal example would be: .syntax unified .thumb .align 2 .type f1, %function .thumb_func f1: it eq .align 2 moveq r0, 42 This code can be assembled successfully with: arm-none-eabi-as -o test.o test.s After disassembly we get following listing: test.o: file format elf32-littlearm Disassembly of section .text: 00000000 <f1>: 0: bf08 it eq 2: 46c0 nopeq ; (mov r8, r8) 4: 202a movs r0, #42 ; 0x2a 6: 46c0 nop ; (mov r8, r8) The If-Then instruction became applied to NOP instruction (and not to MOV instruction). Expected behavior: MOV instruction become conditionally executed (assembler should modify the If-Then instruction) or assembler prints a warning message that MOV instruction has specified condition code, but it is not inside an IT block. -- You are receiving this mail because: You are on the CC list for the bug.