--- Comment #8 from pinskia at gcc dot gnu dot org 2006-07-08 02:29 ---
This is really a dup of bug 27287 which is also affects 4.1.
*** This bug has been marked as a duplicate of 27287 ***
--
pinskia at gcc dot gnu dot org changed:
What|Removed |
--- Comment #7 from pinskia at gcc dot gnu dot org 2006-07-08 02:26 ---
http://gcc.gnu.org/ml/gcc/2006-04/msg00463.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27875
--- Comment #6 from dje at gcc dot gnu dot org 2006-06-30 13:39 ---
This may be due to spe_build_register_parallel() called from
rs6000_function_value().
--
dje at gcc dot gnu dot org changed:
What|Removed |Added
---
--- 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)
1538emit_group_load (return_reg, val, type, int_size_in_bytes
(type));
1539 else
1540emit_move_insn (retur
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-06-30 05:37 ---
It has to do with the return only.
The reduced code ICEs at -O1 and above only:
double foo() { return 0.0;}
because otherwise we get a temporary variable.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27875
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-06-30 05:36 ---
Confirmed, it is produced by expand:
;; return 0.0
(insn 9 8 10 (set (reg:SI 123)
(high:SI (symbol_ref:SI ("*.LANCHOR0") [flags 0x182]))) -1 (nil)
(nil))
(insn 10 9 11 (set (reg/f:SI 122)
(lo_sum
--- Comment #2 from dje at gcc dot gnu dot org 2006-06-07 02:31 ---
Can you provide any information about what initially produces the
(subreg:DF (reg:DI)) ?
--
dje at gcc dot gnu dot org changed:
What|Removed |Added
--
mmitchel at gcc dot gnu dot org changed:
What|Removed |Added
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27875
--
jsm28 at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|--- |4.2.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27875