brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · a1be8d3 Raw
90 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -verify-machineinstrs -mcpu=pwr7 < %s | FileCheck %s3; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-isel < %s | FileCheck --check-prefix=CHECK-NO-ISEL %s4target datalayout = "E-m:e-i64:64-n32:64"5target triple = "powerpc64-unknown-linux-gnu"6 7; Function Attrs: nounwind readnone8define signext i32 @foo(i32 signext %a, i32 signext %b) #0 {9; CHECK-LABEL: foo:10; CHECK:       # %bb.0: # %entry11; CHECK-NEXT:    cmpw 3, 412; CHECK-NEXT:    li 3, 013; CHECK-NEXT:    li 4, 1614; CHECK-NEXT:    isellt 3, 4, 315; CHECK-NEXT:    blr16;17; CHECK-NO-ISEL-LABEL: foo:18; CHECK-NO-ISEL:       # %bb.0: # %entry19; CHECK-NO-ISEL-NEXT:    cmpw 3, 420; CHECK-NO-ISEL-NEXT:    li 3, 1621; CHECK-NO-ISEL-NEXT:    bclr 12, 0, 022; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry23; CHECK-NO-ISEL-NEXT:    li 3, 024; CHECK-NO-ISEL-NEXT:    blr25entry:26  %cmp = icmp slt i32 %a, %b27  %conv = zext i1 %cmp to i3228  %shl = shl nuw nsw i32 %conv, 429  ret i32 %shl30 31 32}33 34; Function Attrs: nounwind readnone35define signext i32 @foo2(i32 signext %a, i32 signext %b) #0 {36; CHECK-LABEL: foo2:37; CHECK:       # %bb.0: # %entry38; CHECK-NEXT:    cmpw 3, 439; CHECK-NEXT:    li 3, 540; CHECK-NEXT:    li 4, 2141; CHECK-NEXT:    isellt 3, 4, 342; CHECK-NEXT:    blr43;44; CHECK-NO-ISEL-LABEL: foo2:45; CHECK-NO-ISEL:       # %bb.0: # %entry46; CHECK-NO-ISEL-NEXT:    cmpw 3, 447; CHECK-NO-ISEL-NEXT:    li 3, 2148; CHECK-NO-ISEL-NEXT:    bclr 12, 0, 049; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry50; CHECK-NO-ISEL-NEXT:    li 3, 551; CHECK-NO-ISEL-NEXT:    blr52entry:53  %cmp = icmp slt i32 %a, %b54  %conv = zext i1 %cmp to i3255  %shl = shl nuw nsw i32 %conv, 456  %add1 = or i32 %shl, 557  ret i32 %add158 59 60}61 62; Function Attrs: nounwind readnone63define signext i32 @foo3(i32 signext %a, i32 signext %b) #0 {64; CHECK-LABEL: foo3:65; CHECK:       # %bb.0: # %entry66; CHECK-NEXT:    cmpw 3, 467; CHECK-NEXT:    li 3, 1668; CHECK-NEXT:    iselgt 3, 0, 369; CHECK-NEXT:    blr70;71; CHECK-NO-ISEL-LABEL: foo3:72; CHECK-NO-ISEL:       # %bb.0: # %entry73; CHECK-NO-ISEL-NEXT:    cmpw 3, 474; CHECK-NO-ISEL-NEXT:    li 3, 075; CHECK-NO-ISEL-NEXT:    bclr 12, 1, 076; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry77; CHECK-NO-ISEL-NEXT:    li 3, 1678; CHECK-NO-ISEL-NEXT:    blr79entry:80  %cmp = icmp sle i32 %a, %b81  %conv = zext i1 %cmp to i3282  %shl = shl nuw nsw i32 %conv, 483  ret i32 %shl84 85 86}87 88attributes #0 = { nounwind readnone }89 90