1 ; RUN: opt < %s -instcombine -S | notcast
3 define i32 @mul(i32 %x, i32 %y) {
4 %A = trunc i32 %x to i8
5 %B = trunc i32 %y to i8
11 define i32 @select1(i1 %cond, i32 %x, i32 %y, i32 %z) {
12 %A = trunc i32 %x to i8
13 %B = trunc i32 %y to i8
14 %C = trunc i32 %z to i8
16 %E = select i1 %cond, i8 %C, i8 %D
17 %F = zext i8 %E to i32
21 define i8 @select2(i1 %cond, i8 %x, i8 %y, i8 %z) {
22 %A = zext i8 %x to i32
23 %B = zext i8 %y to i32
24 %C = zext i8 %z to i32
26 %E = select i1 %cond, i32 %C, i32 %D
27 %F = trunc i32 %E to i8