https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119114
--- Comment #8 from Li Pan <pan2.li at intel dot com> --- 252 │ vect__81.20_52 = vect_cst__142 & _164; // {3} 253 │ mask__82.21_53 = vect__81.20_52 != { 0, 0, 0, 0, 0, 0, 0, 0 };// 0xff 254 │ _31 = mask__82.21_53 ^ mask__57.18_81; // 0xff 255 │ mask__83.22_168 = _31 ^ _158; // 0 256 │ _172 = .VEC_EXTRACT (mask__83.22_168, 0); // 0 257 │ _173 = (_Bool) _172; 258 │ a = _173; 259 │ _4 = (long long int) _173; 260 │ __builtin_printf ("Final %llu, but expect 0.\n", _4); 261 │ return 0; --------------------looks like VEC_EXTRACT? line 153 and 155 may not necessary. 144 │ 102fc: 5e07c0d7 vmv.v.x v1,a5 // v1.s = {3}, a5 = 3 145 │ 10300: 261100d7 vand.vv v1,v1,v2 // v1.s = {3}, v2 = {3} 146 │ 10304: 661030d7 vmsne.vi v1,v1,0 // v1.s = {0xffff} 147 │ 10308: 6e00a057 vmxor.mm v0,v0,v1 // v0.s = {0xff00} 1st XOR 148 │ 1030c: 0c707057 vsetvli zero,zero,e8,mf2,ta,ma // vl = 8 149 │ 10310: 5e0740d7 vmv.v.x v1,a4 // v1.b = {0xfe}, a4 = -2 151 │ 10314: 661030d7 vmsne.vi v1,v1,0 // v1.b = {0xff} 152 │ 10318: 6e00a057 vmxor.mm v0,v0,v1 // v0.b = {0xff} 2nd XOR 153 │ 1031c: 5e0030d7 vmv.v.i v1,0 // v1.b = {0} 155 │ 10320: 5c10b0d7 vmerge.vim v1,v1,1,v0 // v1.b = {0x1} 156 │ 10324: 421025d7 vmv.x.s a1,v1 // a1 = 0x1 157 │ 10328: 8985 andi a1,a1,1 158 │ 1032a: 88b18823 sb a1,-1904(gp) # 1abf0 <a> 159 │ 1032e: 6565 lui a0,0x19 160 │ 10330: 66050513 addi a0,a0,1632 # 19660 <__clzdi2+0x2e> 161 │ 10334: 482000ef jal 107b6 <printf>