50 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s | FileCheck %s3 4target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"5target triple = "i386-unknown-linux-gnu"6 7@b = global i16 0, align 48 9define i32 @main() {10; CHECK-LABEL: main:11; CHECK: # %bb.0: # %entry12; CHECK-NEXT: xorl %eax, %eax13; CHECK-NEXT: testb %al, %al14; CHECK-NEXT: jne .LBB0_315; CHECK-NEXT: # %bb.1: # %go16; CHECK-NEXT: movl $-1, %ecx17; CHECK-NEXT: movsbl b, %edx18; CHECK-NEXT: notl %ecx19; CHECK-NEXT: movzwl %dx, %edx20; CHECK-NEXT: cmpl $-1, %edx21; CHECK-NEXT: sbbl %ecx, %eax22; CHECK-NEXT: jge .LBB0_323; CHECK-NEXT: # %bb.2: # %if.then24; CHECK-NEXT: movl $42, %eax25; CHECK-NEXT: retl26; CHECK-NEXT: .LBB0_3: # %if.else27; CHECK-NEXT: xorl %eax, %eax28; CHECK-NEXT: retl29entry:30 %true = icmp eq i32 0, 031 %const = bitcast i64 -4294967296 to i6432 br i1 %true, label %go, label %if.else33 34go:35 %b = load i16, ptr @b, align 436 %sext = shl i16 %b, 837 %conv = ashr i16 %sext, 838 %neg4 = xor i64 %const, -139 %conv5 = zext i16 %conv to i6440 %cmp = icmp slt i64 %conv5, %neg441 br i1 %cmp, label %if.then, label %if.else42 43if.then:44 ret i32 4245 46if.else:47 ret i32 048}49 50