brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · 7fac56f Raw
120 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mattr=+vsx -mcpu=pwr8 < %s |  \3; RUN:   FileCheck %s --implicit-check-not lxvd2x --implicit-check-not lfs4; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mattr=-altivec -mcpu=pwr8 -mattr=-vsx < %s | \5; RUN:   FileCheck %s --check-prefix=CHECK-NVSXALT --implicit-check-not xxlxor \6; RUN:                                             --implicit-check-not vxor7 8define signext i32 @t1(float %x) local_unnamed_addr #0 {9; CHECK-LABEL: t1:10; CHECK:       # %bb.0: # %entry11; CHECK-NEXT:    xxlxor 0, 0, 012; CHECK-NEXT:    li 3, 1113; CHECK-NEXT:    li 4, 4314; CHECK-NEXT:    fcmpu 0, 1, 015; CHECK-NEXT:    iselgt 3, 4, 316; CHECK-NEXT:    blr17;18; CHECK-NVSXALT-LABEL: t1:19; CHECK-NVSXALT:       # %bb.0: # %entry20; CHECK-NVSXALT-NEXT:    addis 3, 2, .LCPI0_0@toc@ha21; CHECK-NVSXALT-NEXT:    li 4, 4322; CHECK-NVSXALT-NEXT:    lfs 0, .LCPI0_0@toc@l(3)23; CHECK-NVSXALT-NEXT:    li 3, 1124; CHECK-NVSXALT-NEXT:    fcmpu 0, 1, 025; CHECK-NVSXALT-NEXT:    iselgt 3, 4, 326; CHECK-NVSXALT-NEXT:    blr27entry:28  %cmp = fcmp ogt float %x, 0.000000e+0029  %tmp = select i1 %cmp, i32 43, i32 1130  ret i32 %tmp31 32}33 34define signext i32 @t2(double %x) local_unnamed_addr #0 {35; CHECK-LABEL: t2:36; CHECK:       # %bb.0: # %entry37; CHECK-NEXT:    xxlxor 0, 0, 038; CHECK-NEXT:    li 3, 1139; CHECK-NEXT:    li 4, 4340; CHECK-NEXT:    xscmpudp 0, 1, 041; CHECK-NEXT:    iselgt 3, 4, 342; CHECK-NEXT:    blr43;44; CHECK-NVSXALT-LABEL: t2:45; CHECK-NVSXALT:       # %bb.0: # %entry46; CHECK-NVSXALT-NEXT:    addis 3, 2, .LCPI1_0@toc@ha47; CHECK-NVSXALT-NEXT:    li 4, 4348; CHECK-NVSXALT-NEXT:    lfs 0, .LCPI1_0@toc@l(3)49; CHECK-NVSXALT-NEXT:    li 3, 1150; CHECK-NVSXALT-NEXT:    fcmpu 0, 1, 051; CHECK-NVSXALT-NEXT:    iselgt 3, 4, 352; CHECK-NVSXALT-NEXT:    blr53entry:54  %cmp = fcmp ogt double %x, 0.000000e+0055  %tmp = select i1 %cmp, i32 43, i32 1156  ret i32 %tmp57 58}59 60define signext i32 @t3(ppc_fp128 %x) local_unnamed_addr #0 {61; CHECK-LABEL: t3:62; CHECK:       # %bb.0: # %entry63; CHECK-NEXT:    xxlxor 0, 0, 064; CHECK-NEXT:    li 3, 1165; CHECK-NEXT:    li 4, 4366; CHECK-NEXT:    fcmpu 0, 2, 067; CHECK-NEXT:    fcmpu 1, 1, 068; CHECK-NEXT:    crand 20, 6, 169; CHECK-NEXT:    cror 20, 5, 2070; CHECK-NEXT:    isel 3, 4, 3, 2071; CHECK-NEXT:    blr72;73; CHECK-NVSXALT-LABEL: t3:74; CHECK-NVSXALT:       # %bb.0: # %entry75; CHECK-NVSXALT-NEXT:    addis 3, 2, .LCPI2_0@toc@ha76; CHECK-NVSXALT-NEXT:    li 4, 4377; CHECK-NVSXALT-NEXT:    lfs 0, .LCPI2_0@toc@l(3)78; CHECK-NVSXALT-NEXT:    li 3, 1179; CHECK-NVSXALT-NEXT:    fcmpu 0, 2, 080; CHECK-NVSXALT-NEXT:    fcmpu 1, 1, 081; CHECK-NVSXALT-NEXT:    crand 20, 6, 182; CHECK-NVSXALT-NEXT:    cror 20, 5, 2083; CHECK-NVSXALT-NEXT:    isel 3, 4, 3, 2084; CHECK-NVSXALT-NEXT:    blr85entry:86  %cmp = fcmp ogt ppc_fp128 %x, 0xM0000000000000000000000000000000087  %tmp = select i1 %cmp, i32 43, i32 1188  ret i32 %tmp89 90}91 92define <2 x double> @t4() local_unnamed_addr #0 {93; CHECK-LABEL: t4:94; CHECK:       # %bb.0:95; CHECK-NEXT:    xxlxor 34, 34, 3496; CHECK-NEXT:    blr97;98; CHECK-NVSXALT-LABEL: t4:99; CHECK-NVSXALT:       # %bb.0:100; CHECK-NVSXALT-NEXT:    addis 3, 2, .LCPI3_0@toc@ha101; CHECK-NVSXALT-NEXT:    lfs 1, .LCPI3_0@toc@l(3)102; CHECK-NVSXALT-NEXT:    fmr 2, 1103; CHECK-NVSXALT-NEXT:    blr104  ret <2 x double> zeroinitializer105}106 107define <2 x i64> @t5() local_unnamed_addr #0 {108; CHECK-LABEL: t5:109; CHECK:       # %bb.0:110; CHECK-NEXT:    xxlxor 34, 34, 34111; CHECK-NEXT:    blr112;113; CHECK-NVSXALT-LABEL: t5:114; CHECK-NVSXALT:       # %bb.0:115; CHECK-NVSXALT-NEXT:    li 3, 0116; CHECK-NVSXALT-NEXT:    li 4, 0117; CHECK-NVSXALT-NEXT:    blr118  ret <2 x i64> zeroinitializer119}120