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]

[Bug target/26639] [4.0/4.1/4.2 Regression]: Gcc generates unaligned access



------- Comment #6 from hjl at lucon dot org  2006-03-11 18:36 -------
Have you verified that -O0 calls memcpy in glibc? I got

[hjl@gnu-11 gcc]$ /export/build/gnu/gcc/build-ia64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-ia64-linux/gcc/
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gcc.dg/torture/pr26565.c   -O0
-c
[hjl@gnu-11 gcc]$ nm pr26565.o
0000000000000050 T main
0000000000000018 C outdata
0000000000000000 T send_probe
0000000000000008 C t
[hjl@gnu-11 gcc]$ /export/build/gnu/gcc/build-ia64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-ia64-linux/gcc/
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gcc.dg/torture/pr26565.c   -O0
-S
[hjl@gnu-11 gcc]$ cat pr26565.s
        .file   "pr26565.c"
        .pred.safe_across_calls p1-p5,p16-p63
        .text
        .align 16
        .global send_probe#
        .proc send_probe#
send_probe:
        .prologue 2, 2
        .vframe r2
        mov r2 = r12
        .body
        ;;
        st8 [r2] = r32
        adds r14 = 8, r2
        ;;
        st8 [r14] = r33
        ld8 r14 = [r2]
        ;;
        adds r15 = 9, r14
        adds r14 = 8, r2
        ;;
        ld8 r14 = [r14]
        ;;
        ld8 r14 = [r14]
        ;;
        st8 [r15] = r14
        .restore sp
        mov r12 = r2
        br.ret.sptk.many b0
        ;;
        .endp send_probe#
        .align 16
        .global main#
        .proc main#
main:
        .prologue 14, 32
        .save ar.pfs, r33
        alloc r33 = ar.pfs, 0, 4, 2, 0
        .vframe r34
        mov r34 = r12
        mov r35 = r1
        .save rp, r32
        mov r32 = b0
        .body
        addl r36 = @ltoffx(outdata#), r1
        ;;
        ld8.mov r36 = [r36], outdata#
        addl r37 = @ltoffx(t#), r1
        ;;
        ld8.mov r37 = [r37], t#
        br.call.sptk.many b0 = send_probe#
        mov r1 = r35
        mov r14 = r0
        ;;
        mov r8 = r14
        mov ar.pfs = r33
        mov b0 = r32
        .restore sp
        mov r12 = r34
        br.ret.sptk.many b0
        ;;
        .endp main#
        .common t#,8,8
        .common outdata#,24,8
        .ident  "GCC: (GNU) 4.2.0 20060311 (experimental) [trunk revision
111963 clean]"
[hjl@gnu-11 gcc]$


-- 

hjl at lucon dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WORKSFORME                  |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26639


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