m68k, uses illegal assembler code
>Submitter-Id: net
>Originator: "Christian T. Steigies" <cts@debian.org>
>Organization: The Debian project
>Confidential: no
>Synopsis: m68k, uses illegal assembler code
>Severity: serious
>Priority: low
>Category:
>Class: rejects-legal
>Release: 3.0 (Debian GNU/Linux)
>Environment:
System: Debian GNU/Linux (testing/unstable)
Architecture: m68k
host: i386-linux
build: i386-linux
target: i386-linux
>Description:
[ Reported to the Debian BTS as report #89023.
Please CC 89023-quiet@bugs.debian.org on replies.
Log of report can be found at http://bugs.debian.org/89023 ]
It works fine when compiling the offending file with -O1, compiling with -O2 and higher fails. Reported for gcc-2.95.x, behaviour seen in 3.0.x as well.
Full log at:
http://people.debian.org/~cts/failed_logs/libgmp3_3.1.1-2.dsc_20010308-2328
rm -f .libs/gcdext.lo
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -DOPERATION_gcdext -O3 -c gcdext.c -fPIC -DPIC -o .libs/gcdext.lo
gcdext.c: In function `__gmpn_gcdext':
gcdext.c:700: internal error--unrecognizable insn:
(insn 1116 5099 5102 (parallel[
(set (reg:SI 1 %d1)
(asm_operands ("add%.l %5,%1
addx%.l %3,%0") ("=d") 0[
(mem:SI (plus:SI (reg:SI 14 %a6)
(const_int -56 [0xffffffc8])) 0)
(reg:SI 1 %d1)
(reg:SI 2 %d2)
(mem:SI (plus:SI (reg:SI 14 %a6)
(const_int -12 [0xfffffff4])) 0)
]
[
(asm_input:SI ("%0"))
(asm_input:SI ("d"))
(asm_input:SI ("%1"))
(asm_input:SI ("g"))
] ("gcdext.c") 325))
(set (reg:SI 2 %d2)
(asm_operands ("add%.l %5,%1
addx%.l %3,%0") ("=&d") 1[
(mem:SI (plus:SI (reg:SI 14 %a6)
(const_int -56 [0xffffffc8])) 0)
(reg:SI 1 %d1)
(reg:SI 2 %d2)
(mem:SI (plus:SI (reg:SI 14 %a6)
(const_int -12 [0xfffffff4])) 0)
]
[
(asm_input:SI ("%0"))
(asm_input:SI ("d"))
(asm_input:SI ("%1"))
(asm_input:SI ("g"))
] ("gcdext.c") 325))
] ) -1 (nil)
(nil))
make[4]: *** [gcdext.lo] Error 1
make[4]: Leaving directory `/build/cts/libgmp3-3.1.1/mpn'
>How-To-Repeat:
>Fix:
Reply to: