huangcm
2025-02-24 69ed55dec4b2116a19e4cca4393cbc014fce5fb2
1
2
3
4
5
6
7
8
9
10
11
; RUN: opt < %s -instcombine -S | FileCheck %s
; CHECK: sext
; Don't fold zero/sign extensions with a bitcast between a vector and scalar.
 
define i32 @t(<4 x i8> %src1, <4 x i8> %src2) nounwind readonly {
entry:
   %cmp = icmp eq <4 x i8> %src1, %src2; <<4 x i1>> [#uses=1]
   %sext = sext <4 x i1> %cmp to <4 x i8>
   %val = bitcast <4 x i8> %sext to i32
   ret i32 %val
}