------- Comment #2 from hjl dot tools at gmail dot com 2008-03-31 02:04 ------- useless_type_conversion_p returns true for
(gdb) call debug_tree (outer_type) <vector_type 0x2aaaaac11240 unaligned type <real_type 0x2aaaaab0a6c0 float asm_written SF size <integer_cst 0x2aaaaaaeba80 constant invariant 32> unit size <integer_cst 0x2aaaaaaeb6f0 constant invariant 4> align 32 symtab -1430183552 alias set -1 canonical type 0x2aaaaab0a6c0 precision 32 pointer_to_this <pointer_type 0x2aaaaab0a900>> sizes-gimplified V4SF size <integer_cst 0x2aaaaaaebde0 type <integer_type 0x2aaaaaafb0c0 bit_size_type> constant invariant 128> unit size <integer_cst 0x2aaaaaaebe10 type <integer_type 0x2aaaaaafb000 long unsigned int> constant invariant 16> user align 8 symtab -1430183264 alias set -1 canonical type 0x2aaaaac11240 attributes <tree_list 0x2aaaaac108a0 purpose <identifier_node 0x2aaaaabe0f60 __may_alias__>> nunits 4> (gdb) call debug_tree (inner_type) <vector_type 0x2aaaaac110c0 __m128 type <real_type 0x2aaaaab0a6c0 float asm_written SF size <integer_cst 0x2aaaaaaeba80 constant invariant 32> unit size <integer_cst 0x2aaaaaaeb6f0 constant invariant 4> align 32 symtab -1430183552 alias set -1 canonical type 0x2aaaaab0a6c0 precision 32 pointer_to_this <pointer_type 0x2aaaaab0a900>> sizes-gimplified V4SF size <integer_cst 0x2aaaaaaebde0 type <integer_type 0x2aaaaaafb0c0 bit_size_type> constant invariant 128> unit size <integer_cst 0x2aaaaaaebe10 type <integer_type 0x2aaaaaafb000 long unsigned int> constant invariant 16> align 128 symtab -1430183936 alias set -1 canonical type 0x2aaaaabab900 attributes <tree_list 0x2aaaaac108a0 purpose <identifier_node 0x2aaaaabe0f60 __may_alias__>> nunits 4 pointer_to_this <pointer_type 0x2aaaaac116c0>> It isn't correct. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35771