标签: llvm undefined-behavior llvm-ir
LLVM documentation for 'shl'说
<result> = shl i32 1, 32
是undefined value,因为它的移位大于或等于i32中的位数。但是,我不清楚
i32
<result> = shl <2 x i32> < i32 1, i32 1>, < i32 1, i32 32>
结果的第二个元素是否未定义(result=<2 x i32> < i32 2, i32 undef>),还是整个结果未定义(result=<2 x i32> undef)?
result=<2 x i32> < i32 2, i32 undef>
result=<2 x i32> undef