brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 49a5687 Raw
73 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -ppc-gpr-icmps=all -verify-machineinstrs -mcpu=pwr7 < %s | FileCheck %s3; RUN: llc -ppc-gpr-icmps=all -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 @crbitsoff(i32 signext %v1, i32 signext %v2) #0 {9; CHECK-LABEL: crbitsoff:10; CHECK:       # %bb.0: # %entry11; CHECK-NEXT:    cntlzw 4, 412; CHECK-NEXT:    cmplwi 3, 013; CHECK-NEXT:    li 3, 114; CHECK-NEXT:    iseleq 3, 0, 315; CHECK-NEXT:    rlwinm 4, 4, 27, 5, 3116; CHECK-NEXT:    and 3, 3, 417; CHECK-NEXT:    blr18;19; CHECK-NO-ISEL-LABEL: crbitsoff:20; CHECK-NO-ISEL:       # %bb.0: # %entry21; CHECK-NO-ISEL-NEXT:    cmplwi 3, 022; CHECK-NO-ISEL-NEXT:    li 3, 123; CHECK-NO-ISEL-NEXT:    bne 0, .LBB0_224; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry25; CHECK-NO-ISEL-NEXT:    li 3, 026; CHECK-NO-ISEL-NEXT:  .LBB0_2: # %entry27; CHECK-NO-ISEL-NEXT:    cntlzw 4, 428; CHECK-NO-ISEL-NEXT:    rlwinm 4, 4, 27, 5, 3129; CHECK-NO-ISEL-NEXT:    and 3, 3, 430; CHECK-NO-ISEL-NEXT:    blr31entry:32  %tobool = icmp ne i32 %v1, 033  %lnot = icmp eq i32 %v2, 034  %and3 = and i1 %tobool, %lnot35  %and = zext i1 %and3 to i3236  ret i32 %and37 38}39 40define signext i32 @crbitson(i32 signext %v1, i32 signext %v2) #1 {41; CHECK-LABEL: crbitson:42; CHECK:       # %bb.0: # %entry43; CHECK-NEXT:    cntlzw 3, 344; CHECK-NEXT:    cntlzw 4, 445; CHECK-NEXT:    srwi 3, 3, 546; CHECK-NEXT:    srwi 4, 4, 547; CHECK-NEXT:    xori 3, 3, 148; CHECK-NEXT:    and 3, 3, 449; CHECK-NEXT:    blr50;51; CHECK-NO-ISEL-LABEL: crbitson:52; CHECK-NO-ISEL:       # %bb.0: # %entry53; CHECK-NO-ISEL-NEXT:    cntlzw 3, 354; CHECK-NO-ISEL-NEXT:    cntlzw 4, 455; CHECK-NO-ISEL-NEXT:    srwi 3, 3, 556; CHECK-NO-ISEL-NEXT:    srwi 4, 4, 557; CHECK-NO-ISEL-NEXT:    xori 3, 3, 158; CHECK-NO-ISEL-NEXT:    and 3, 3, 459; CHECK-NO-ISEL-NEXT:    blr60entry:61  %tobool = icmp ne i32 %v1, 062  %lnot = icmp eq i32 %v2, 063  %and3 = and i1 %tobool, %lnot64  %and = zext i1 %and3 to i3265  ret i32 %and66 67}68 69 70attributes #0 = { nounwind readnone "target-features"="-crbits" }71attributes #1 = { nounwind readnone }72 73