https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119114

--- Comment #7 from Li Pan <pan2.li at intel dot com> ---
Yes, double checked, the result of tree.optimized looks right, details as
below.
Then should be a backend issue now.

will take a look into it.

 206   │   <bb 5> [local count: 56478818]:
 207   │   _114 = MEM[(short int *)&t];
 208   │   _106 = MEM[(short int *)&t + 8B];
 209   │   _145 = _106 & _114;
 210   │   _124 = _145 != 0;  // 1
 211   │   _144 = a_lsm.12_51 ^ _124; // 1
 212   │
 213   │   _125 = (<signed-boolean:1>) _144; // 1
 214   │   _250 = {_125, _125, _125, _125, _125, _125, _125, _125}; // 1
 215   │   _251 = {_106, _106, _106, _106, _106, _106, _106, _106}; // 3
 216   │   D__lsm0.64_261 = MEM[(short int *)&t + 16B]; // 3
 217   │   D__lsm0.65_262 = MEM[(short int *)&t + 12B]; // 3
 218   │   D__lsm0.66_263 = MEM[(short int *)&t + 4B];  // 3
 219   │   vect_cst__266 = {D__lsm0.66_263, D__lsm0.66_263, D__lsm0.66_263,
D__lsm0.66_263, D__lsm0.66_263, D__lsm0.66_263, D__lsm0.66_263,
D__lsm0.66_263};
 220   │   // {3}
 221   │   vect_cst__267 = {D__lsm0.65_262, D__lsm0.65_262, D__lsm0.65_262,
D__lsm0.65_262, D__lsm0.65_262, D__lsm0.65_262, D__lsm0.65_262,
D__lsm0.65_262};
 222   │   // {3}
 223   │   vect__58.17_268 = vect_cst__266 & vect_cst__267;
 224   │   // {3}
 225   │   mask__57.18_269 = vect__58.17_268 != { 0, 0, 0, 0, 0, 0, 0, 0 };
 226   │   // 0xff
 227   │   vect_cst__273 = {D__lsm0.64_261, D__lsm0.64_261, D__lsm0.64_261,
D__lsm0.64_261, D__lsm0.64_261, D__lsm0.64_261, D__lsm0.64_261,
D__lsm0.64_261};
 228   │   // {3}
 229   │   vect__81.20_274 = _251 & vect_cst__273;
 230   │   mask__82.21_275 = vect__81.20_274 != { 0, 0, 0, 0, 0, 0, 0, 0 }; //
{3}
 231   │   _32 = mask__57.18_269 ^ mask__82.21_275; // 0xff
 232   │   mask__83.22_277 = _32 ^ _250; // 0xff
 233   │   _278 = .VEC_EXTRACT (mask__83.22_277, 0); // 1
 234   │
 235   │   _23 = MEM[(short int *)&t + 20B]; // 3
 236   │   _24 = _23 & D__lsm0.65_262; // 3
 237   │   _25 = _24 != 0; // 1
 238   │   _127 = (<signed-boolean:1>) _25; // 1
 239   │   _157 = _127 ^ _278; // 1
 240   │   _158 = {_157, _157, _157, _157, _157, _157, _157, _157}; // {1}
 241   │   _164 = {_23, _23, _23, _23, _23, _23, _23, _23}; // {3}
 242   │   D__lsm0.64_37 = MEM[(short int *)&t + 28B]; // 3
 243   │   D__lsm0.65_47 = MEM[(short int *)&t + 24B]; // 3
 244   │   vect_cst__57 = {D__lsm0.65_47, D__lsm0.65_47, D__lsm0.65_47,
D__lsm0.65_47, D__lsm0.65_47, D__lsm0.65_47, D__lsm0.65_47, D__lsm0.65_47};
 245   │   // {3}
 246   │   vect__58.17_56 = vect_cst__57 & vect_cst__273; // {3}
 247   │   mask__57.18_81 = vect__58.17_56 != { 0, 0, 0, 0, 0, 0, 0, 0 }; //
0xff
 248   │   vect_cst__142 = {D__lsm0.64_37, D__lsm0.64_37, D__lsm0.64_37,
D__lsm0.64_37, D__lsm0.64_37, D__lsm0.64_37, D__lsm0.64_37, D__lsm0.64_37};
 249   │   // {3}
 250   │   vect__81.20_52 = vect_cst__142 & _164; // {3}
 251   │   mask__82.21_53 = vect__81.20_52 != { 0, 0, 0, 0, 0, 0, 0, 0 }; //
0xff
 252   │   _31 = mask__82.21_53 ^ mask__57.18_81; // 0xff
 253   │   mask__83.22_168 = _31 ^ _158; // 0
 254   │   _172 = .VEC_EXTRACT (mask__83.22_168, 0); // 0
 255   │   _173 = (_Bool) _172;
 256   │   a = _173;
 257   │   _4 = (long long int) _173;
 258   │   __builtin_printf ("Final %llu, but expect 0.\n", _4);
 259   │   return 0;

Reply via email to