<div dir="ltr"><div><div><div><div><div><div><div>Hello,<br></div>I am opening llvm more and more for me, so now I have some questions about shifting and undef value:<br></div>1) undef value is like a separate entity. But I have seen in some notes, that this is legal to compute expressions with undef value. So ,  undef |1 will be equal to one (the size of the result will depended on the size of one)? And undef & 0 will be equal to zero and so on?<br></div>2) Is it compiler dependent (may be here there is a lack of my knowledges) that unoptimized version of llvm , when I try:<br></div>char a = 6;<br></div>char a = 2;<br></div>char c = 6<<2 - performs sext on 6 before performing a 32 bit shl?<br></div>Thank you in advance for the answers.<br></div>