| ; RUN: llc -O0 -mtriple=x86_64-unknown -mcpu=skx -o - %s |
| ; RUN: llc -mtriple=x86_64-unknown -mcpu=skx -o - %s |
| ; RUN: llc -O0 -mtriple=i686-unknown -mcpu=skx -o - %s |
| ; RUN: llc -mtriple=i686-unknown -mcpu=skx -o - %s |
| ; REQUIRES: asserts |
| |
| @var_26 = external global i16, align 2 |
| |
| define void @foo() #0 { |
| %1 = alloca i16, align 2 |
| %2 = load i16, i16* @var_26, align 2 |
| %3 = zext i16 %2 to i32 |
| %4 = icmp ne i32 %3, 7 |
| %5 = zext i1 %4 to i16 |
| store i16 %5, i16* %1, align 2 |
| %6 = load i16, i16* @var_26, align 2 |
| %7 = zext i16 %6 to i32 |
| %8 = and i32 1, %7 |
| %9 = shl i32 %8, 0 |
| %10 = load i16, i16* @var_26, align 2 |
| %11 = zext i16 %10 to i32 |
| %12 = icmp ne i32 %11, 7 |
| %13 = zext i1 %12 to i32 |
| %14 = and i32 %9, %13 |
| %15 = icmp ne i32 %14, 0 |
| %16 = zext i1 %15 to i8 |
| store i8 %16, i8* undef, align 1 |
| unreachable |
| } |