tag 425343 + moreinfo thanks please recheck with 4.2 and 4.3/snapshot
John Reiser writes: > Subject: [arm] gcc-4.1: bad code and no warning for thumb assembly of arm > instruction > Package: gcc-4.1 > Version: 4.1.1-21 > Severity: normal > > *** Please type your report below this line *** > The assembler generates an incorrect instruction without warning > when assembling this arm instruction in thumb mode: > .code 16 > mov r1,r0,lsr #4 // arm instruction > The generated code is the thumb instruction: > movs r1,r0 // .word 0x1c01 > and the shift has been ignored silently. > > The expected behavior is to generate the equivalent thumb instruction > [equivalent except that thumb mode always sets condition codes > while arm mode does not]: > lsrs r1,r0,#4 // .word 0x0901 > Or, the assembler could complain > bad syntax: unexpected ",lsr #4" > But generating bad code with no warning is not acceptable. > > $ gcc --version > gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) > $ > > -- System Information: > Debian Release: 4.0 > APT prefers stable > APT policy: (500, 'stable') > Architecture: arm (armv5tel) > Shell: /bin/sh linked to /bin/bash > Kernel: Linux 2.6.18-3-ixp4xx > Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) > > Versions of packages gcc-4.1 depends on: > ii binutils 2.17-3 The GNU assembler, linker and > bina > ii cpp-4.1 4.1.1-21 The GNU C preprocessor > ii gcc-4.1-base 4.1.1-21 The GNU Compiler Collection (base > ii libc6 2.3.6.ds1-13 GNU C Library: Shared libraries > ii libgcc1 1:4.1.1-21 GCC support library > ii libssp0 4.1.1-21 GCC stack smashing protection > libr -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]