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

--- Comment #13 from H.J. Lu <hjl.tools at gmail dot com> 2011-07-21 17:16:35 
UTC ---
With -mx32 -O, I got

foo (union U u)
{
  union U v;
  _Bool D.2704;
  double D.2703;
  double D.2702;
  int D.2701;

  # BLOCK 2 freq:10000
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  v = {};
  v.m = &xxxx;
  D.2702_1 = u.d;
  D.2703_2 = v.d;
  D.2704_3 = D.2702_1 == D.2703_2;
  D.2701_4 = (int) D.2704_3;
  return D.2701_4;
  # SUCC: EXIT [100.0%] 

}

In x.i.153r.dfinit,

(insn 8 6 9 2 (set (reg:SI 68) 
        (symbol_ref:SI ("xxxx") [flags 0x40]  <var_decl 0x7fd45d36e140 xxxx>))
x.i:12 64 {*movsi_internal}
     (nil))

(insn 9 8 10 2 (set (reg:DI 67) 
        (zero_extend:DI (reg:SI 68))) x.i:12 112 {*zero_extendsidi2_rex64}
     (nil))

x.i.154r.cse1 has

(insn 8 6 9 2 (set (reg/f:SI 68) 
        (symbol_ref:SI ("xxxx") [flags 0x40]  <var_decl 0x7fd45d36e140 xxxx>))
x.i:12 64 {*movsi_internal}
     (nil))

(insn 9 8 10 2 (set (reg/f:DI 67) 
        (symbol_ref:DI ("xxxx") [flags 0x40]  <var_decl 0x7fd45d36e140 xxxx>))
x.i:12 62 {*movdi_internal_rex64}
     (nil))

Reply via email to