brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 09a5cbb Raw
55 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s3 4@var_3 = external dso_local global i16, align 25@var_13 = external dso_local global i16, align 26@var_212 = external dso_local global i64, align 87 8define void @pr34127() {9; CHECK-LABEL: pr34127:10; CHECK:       # %bb.0: # %entry11; CHECK-NEXT:    movzwl var_13(%rip), %eax12; CHECK-NEXT:    movzwl var_3(%rip), %ecx13; CHECK-NEXT:    andw %ax, %cx14; CHECK-NEXT:    movzwl %cx, %ecx15; CHECK-NEXT:    movl %ecx, -{{[0-9]+}}(%rsp)16; CHECK-NEXT:    movzwl var_3(%rip), %ecx17; CHECK-NEXT:    xorl %edx, %edx18; CHECK-NEXT:    testl %eax, %ecx19; CHECK-NEXT:    sete %dl20; CHECK-NEXT:    andl %ecx, %edx21; CHECK-NEXT:    movq %rdx, var_212(%rip)22; CHECK-NEXT:    movw $0, (%rax)23; CHECK-NEXT:    retq24entry:25  %a = alloca i32, align 426  %0 = load i16, ptr @var_3, align 227  %conv = zext i16 %0 to i3228  %1 = load i16, ptr @var_3, align 229  %conv1 = zext i16 %1 to i3230  %2 = load i16, ptr @var_13, align 231  %conv2 = zext i16 %2 to i3232  %and = and i32 %conv1, %conv233  %and3 = and i32 %conv, %and34  store i32 %and3, ptr %a, align 435  %3 = load i16, ptr @var_3, align 236  %conv4 = zext i16 %3 to i3237  %4 = load i16, ptr @var_3, align 238  %conv5 = zext i16 %4 to i3239  %5 = load i16, ptr @var_13, align 240  %conv6 = zext i16 %5 to i3241  %and7 = and i32 %conv5, %conv642  %and8 = and i32 %conv4, %and743  %tobool = icmp ne i32 %and8, 044  %lnot = xor i1 %tobool, true45  %conv9 = zext i1 %lnot to i3246  %6 = load i16, ptr @var_3, align 247  %conv10 = zext i16 %6 to i3248  %and11 = and i32 %conv9, %conv1049  %conv12 = sext i32 %and11 to i6450  store i64 %conv12, ptr @var_212, align 851  %conv14 = zext i1 undef to i1652  store i16 %conv14, ptr undef, align 253  ret void54}55