------- Comment #5 from pinskia at gcc dot gnu dot org  2006-06-30 05:46 -------
The problem comes from:
1537          if (GET_CODE (return_reg) == PARALLEL)
1538            emit_group_load (return_reg, val, type, int_size_in_bytes
(type));
1539          else
1540            emit_move_insn (return_reg, val);


return_reg is:
(parallel:DF [
        (expr_list:REG_DEP_TRUE (reg:DI 119 [ <result> ])
            (const_int 0 [0x0]))
    ])
But I don't understand why it is DImode.  Because the return type is double,
shouldn't this also be DI.  

To me the mode should be DF and there should be a move without access to memory
to change the mode.


-- 


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

Reply via email to