[Bug pending/27092] New: Compiling a special asm-statment will fail if -O1 -fgcse is set.
gcc-bugzilla at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Apr 9 12:41:00 GMT 2006
NOTE: Defaulting component because reported component no longer exists
When compile with gcc-3.4 -O1 -fgcse -c -o qemu-bug.o qemu-bug.c,
there will be the error:
dieter@Pegasos:~/src/qemu-bug$ gcc-3.4 -O1 -fgcse -c -o qemu-bug.o qemu-bug.c
qemu-bug.c: In function `main':
qemu-bug.c:2: error: inconsistent operand constraints in an `asm'
qemu-bug.c:2: error: inconsistent operand constraints in an `asm'
Without -fgcse, there will no error, -O2 -fno-gcse does work as well.
Environment:
System: Linux Pegasos 2.6.16 #3 PREEMPT Sat Apr 8 18:28:12 CEST 2006 ppc
GNU/Linux
Architecture: ppc
host: powerpc-unknown-linux-gnu
build: powerpc-unknown-linux-gnu
target: powerpc-unknown-linux-gnu
configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal
--prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4
--enable-shared --with-system-zlib --enable-nls --without-included-gettext
--program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --disable-softfloat
--enable-targets=powerpc-linux,powerpc64-linux --with-cpu=default32
--disable-softfloat powerpc-linux-gnu
How-To-Repeat:
# 1 "qemu-bug.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "qemu-bug.c"
inline void stl(void *ptr, int v) {
__asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*(unsigned long *)ptr) : "r"
(v), "r" (ptr));
}
int main () {
unsigned long *sp, *u_platform;
char *k_platform;
stl(sp, (unsigned long)(0)); stl(sp+1, (unsigned long)(0));;
if (k_platform)
stl(sp, (unsigned long)(15)); stl(sp+1, (unsigned long)((unsigned long)
u_platform));;
return 0;
}
--
Summary: Compiling a special asm-statment will fail if -O1 -fgcse
is set.
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: pending
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: didischuster at arcor dot de
GCC build triplet: powerpc-unknown-linux-gnu
GCC host triplet: powerpc-unknown-linux-gnu
GCC target triplet: powerpc-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27092
More information about the Gcc-bugs
mailing list