------- Comment #27 from hjl at lucon dot org  2007-08-07 18:10 -------
Created an attachment (id=14033)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14033&action=view)
An updated patch

My patch works on gcc 4.3:

[EMAIL PROTECTED] 30961]$ cat c.c
double
convert4(long long in )
{
  double f;
  __builtin_memcpy( &f, &in, sizeof( in ) );
  return f;
}
[EMAIL PROTECTED] 30961]$ make c.s
/export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-x86_64-linux/gcc/  -S -O2
-fno-asynchronous-unwind-tables c.c
[EMAIL PROTECTED] 30961]$ cat c.s
        .file   "c.c"
        .text
        .p2align 4,,15
.globl convert4
        .type   convert4, @function
convert4:
        movq    %rdi, -8(%rsp)
        movsd   -8(%rsp), %xmm0
        ret
        .size   convert4, .-convert4
        .ident  "GCC: (GNU) 4.3.0 20070806 (experimental) [trunk revision
127248]"
        .section        .note.GNU-stack,"",@progbits
[EMAIL PROTECTED] 30961]$ 

If you can find which patch causes this regression, it will be easier to
find a solution for 4.2.


-- 


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

Reply via email to