[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#380121: ICE in reload_cse_simplify_operands, at postreload.c:393 for invalid assembler



Package: gcc-4.1
Severity: minor
Tags: upstream

You get an ICE in in reload_cse_simplify_operands, at postreload.c:393
with some invalid assembler command.  This affects 3.x up to current
4.x mainline.  On e.g. IA-64 you see it with:

tbm@coconut0:~/src/svgalib-1.4.3$ /usr/lib/gcc-snapshot/bin/gcc -c -O2
x.c
x.c: In function 'f':
x.c:3: error: impossible register constraint in 'asm'
x.c:3: error: impossible register constraint in 'asm'
x.c:3: error: impossible register constraint in 'asm'
x.c:6: error: unrecognizable insn:
(insn 11 7 23 2 (set (reg:SI 2 r2)
        (asm_operands/v:SI ("inb %1,%0") ("=a") 0 [
                (reg:HI 112 in0)
            ]
             [
                (asm_input:HI ("d"))
            ] ("x.c") 3)) -1 (nil)
    (nil))
x.c:6: internal compiler error: in reload_cse_simplify_operands, at postreload.c:393
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
tbm@coconut0:~/src/svgalib-1.4.3$ cat x.c
void f(int port)
{
    __asm__ volatile ("inb %1,%0"
        :"=a" (port)
        :"d"((unsigned short) port));
}

This is upstream PR21299.


> Automatic build of svgalib_1:1.4.3-23 on coconut0.coconut.gelato.org by sbuild/ia64 0.49
...
> cc -Wall -Wstrict-prototypes -fPIC -I/build/tbm/svgalib-1.4.3/include -I. -I/build/tbm/svgalib-1.4.3/src -I/build/tbm/svgalib-1.4.3/src/config -fomit-frame-pointer -O2 -fno-strength-reduce -pipe -g -DNO_ASSEMBLY -DSVGALIB_CONFIG_FILE=\"/etc/vga/libvga.config\" -DALLOW_MOUSE_OVERRIDE -DET4000_REGS=\"/etc/vga/libvga.et4000\" -DDYNAMIC -DROOT_VC_SHORTCUT -DINCLUDE_ET4000_DRIVER -DINCLUDE_ET4000_DRIVER_TEST -DINCLUDE_CIRRUS_DRIVER -DINCLUDE_CIRRUS_DRIVER_TEST -DINCLUDE_TVGA_DRIVER -DINCLUDE_TVGA_DRIVER_TEST -DINCLUDE_OAK_DRIVER -DINCLUDE_OAK_DRIVER_TEST -DINCLUDE_EGA_DRIVER -DINCLUDE_EGA_DRIVER_TEST -DINCLUDE_MACH32_DRIVER -DINCLUDE_MACH32_DRIVER_TEST -DINCLUDE_S3_DRIVER -DINCLUDE_S3_DRIVER_TEST -DINCLUDE_ET3000_DRIVER -DINCLUDE_ET3000_DRIVER_TEST -DINCLUDE_GVGA6400_DRIVER -DINCLUDE_GVGA6400_DRIVER_TEST -DINCLUDE_ARK_DRIVER -DINCLUDE_ATI_DRIVER -DINCLUDE_ATI_DRIVER_TEST -DINCLUDE_ALI_DRIVER -DINCLUDE_ALI_DRIVER_TEST -DINCLUDE_CHIPS_DRIVER -DINCLUDE_CHIPS_DRIVER_TEST -DINCLUDE_APM_DRIVER -DINCLUDE_APM_DRIVER_TEST -DINCLUDE_NV3_DRIVER -DINCLUDE_NV3_DRIVER_TEST -DINCLUDE_G400_DRIVER -DINCLUDE_G400_DRIVER_TEST -DINCLUDE_R128_DRIVER -DINCLUDE_R128_DRIVER_TEST -DINCLUDE_MX_DRIVER -DINCLUDE_MX_DRIVER_TEST -DINCLUDE_SAVAGE_DRIVER -DINCLUDE_SAVAGE_DRIVER_TEST -DINCLUDE_PARADISE_DRIVER -DINCLUDE_PARADISE_DRIVER_TEST -DINCLUDE_RAGE_DRIVER -DINCLUDE_RAGE_DRIVER_TEST -DINCLUDE_BANSHEE_DRIVER -DINCLUDE_BANSHEE_DRIVER_TEST -DINCLUDE_SIS_DRIVER -DINCLUDE_SIS_DRIVER_TEST -DINCLUDE_I740_DRIVER -DINCLUDE_I740_DRIVER_TEST -DINCLUDE_LAGUNA_DRIVER -DINCLUDE_LAGUNA_DRIVER_TEST -DINCLUDE_ET6000_DRIVER -DINCLUDE_ET6000_DRIVER_TEST -DINCLUDE_NEO_DRIVER -DINCLUDE_NEO_DRIVER_TEST -DINCLUDE_FBDEV_DRIVER -c -o vga.o /build/tbm/svgalib-1.4.3/src/vga.c
> /build/tbm/svgalib-1.4.3/src/vga.c:317: warning: 'release_acquire' defined but not used
> /build/tbm/svgalib-1.4.3/src/vga.c: In function 'savepalette':
> /build/tbm/svgalib-1.4.3/src/libvga.h:275: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:294: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:294: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:294: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:275: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:294: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:294: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:294: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:275: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:294: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:294: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/libvga.h:294: error: impossible register constraint in 'asm'
> /build/tbm/svgalib-1.4.3/src/vga.c:1630: error: unrecognizable insn:
> (insn 58 122 123 8 /build/tbm/svgalib-1.4.3/src/libvga.h:294 (set (reg:QI 2 r2)
>         (asm_operands/v:QI ("inb %1,%0") ("=a") 0 [
>                 (reg:HI 2 r2)
>             ]
>              [
>                 (asm_input:HI ("d"))
>             ] ("/build/tbm/svgalib-1.4.3/src/libvga.h") 294)) -1 (nil)
>     (nil))
> /build/tbm/svgalib-1.4.3/src/vga.c:1630: internal compiler error: in reload_cse_simplify_operands, at postreload.c:393
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
> For Debian GNU/Linux specific bug reporting instructions,
> see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
> make[2]: *** [vga.o] Error 1

-- 
Martin Michlmayr
http://www.cyrius.com/



Reply to: