------- Comment #17 from dave at hiauly1 dot hia dot nrc dot ca 2005-12-27 15:00 ------- Subject: Re: [4.1 Regression] (short) ((int)(unsigned short) + (int)) is done in the wrong type
> Re. comments #14 and #15 -- Dave you really should also say what compiler you > used, or people will just have to make a guess. They'd probably conclude you > are testing GCC 3.3 in this case ;-) The test was only added to 4.2.0 (Kazu's previous comment), so I thought the compiler under test would be obvious. Some day I'll have to update the directory names. I just got used to typing "gcc-3.3" ;-) > Anyway, if the initial RTL is wrong, we either feed wrong code to expand out > of > the tree optimizers, or there is a bug in expand itself. Could you check > whether the .vars tree dump is still alright? You can generate it with > -fdump-tree-vars. Here is the .vars tree dump for function f: ;; Function f (f) f (a) { int D.1496; <bb 2>: if (a > 0) goto <L3>; else goto <L4>; <L4>:; D.1496 = 32768; goto <bb 4> (<L2>); <L3>:; D.1496 = 0; <L2>:; return D.1496; } Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25125