This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: target/8309: [3.2/? regression][m68k] m68k-elf-gcc -m5200 produces erroneous SImode set of short varaible on stack


>you reported this bug about 6 months ago. Can you confirm whether it's  
>still present in 3.3 branch and mainline today? Thanks,

Ok, I pulled out the prerelease of gcc-3.3 and I still see this problem:

[pbarada: /tmp] > /tmp/m68k-elf-3.3/bin/m68k-elf-gcc -v
Reading specs from /tmp/m68k-elf-3.3/lib/gcc-lib/m68k-elf/3.3/specs
Configured with: /home/pbarada/work/cvs-wavemark/cross-linux-tools/gcc-3.3-20030508/configure --target=m68k-elf --prefix=/tmp/m68k-elf-3.3 --enable-languages=c --with-local-prefix=/tmp/m68k-elf-3.3/m68k-elf --without-headers --with-newlib --disable-shared --verbose
Thread model: single
gcc version 3.3 20030509 (prerelease)

[pbarada: /tmp] > /tmp/m68k-elf-3.3/bin/m68k-elf-gcc -O2 -fno-common  -ffixed-a2 -m5200 -S -o yy.s yy.c -dp -da

yy.c.11.gcse:

(insn 230 228 231 9 0x4001f420 (set (reg:SI 94)
        (plus:SI (subreg:SI (reg/v:HI 40) 0)
            (const_int 1 [0x1]))) 100 {*addsi3_5200} (nil)
    (nil))

(insn 231 230 232 9 0x4001f420 (set (reg/v:HI 40)
        (subreg:HI (reg:SI 94) 2)) 33 {*m68k.md:1024} (nil)
    (nil))


yy.c.23.lreg:

(insn 231 230 232 10 0x4001f420 (set (subreg:SI (reg/v:HI 40) 0)
        (plus:SI (subreg:SI (reg/v:HI 40) 0)
            (const_int 1 [0x1]))) 100 {*addsi3_5200} (nil)
    (nil))

(insn 232 231 235 10 0x4001f420 (set (reg/f:SI 15 %sp)
        (plus:SI (reg/f:SI 15 %sp)
            (const_int 8 [0x8]))) 100 {*addsi3_5200} (nil)
    (nil))


yy.c.24.greg:

(note 230 228 371 10 NOTE_INSN_DELETED)

(insn 371 230 231 10 (nil) (set (reg:SI 1 %d1)
        (const_int 1 [0x1])) 30 {*m68k.md:993} (nil)
    (nil))

(insn 231 371 232 10 0x4001f420 (set (mem:SI (plus:SI (reg/f:SI 14 %a6)
                (const_int -38 [0xffffffda])) [23 rotate S4 A16])
        (plus:SI (mem:SI (plus:SI (reg/f:SI 14 %a6)
                    (const_int -38 [0xffffffda])) [23 rotate S4 A16])
            (reg:SI 1 %d1))) 100 {*addsi3_5200} (nil)
    (nil))


Note that in yy.c.11.gcse insn 231 was (set (mem:HI...)), and in
yy.c.24.greg is (set (mem:SI...))


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]