1*335f955dSFangrui Song; RUN: llc < %s -O2 -mtriple=powerpc-linux-musl | FileCheck %s 2*335f955dSFangrui Song; RUN: llc < %s -O2 -mtriple=powerpc64-linux-musl | FileCheck %s 3*335f955dSFangrui Song; RUN: llc < %s -O2 -mtriple=powerpc64le-linux-musl | FileCheck %s 4*335f955dSFangrui Song 5*335f955dSFangrui Songdefine fp128 @addkf3(fp128 %a, fp128 %b) { 6*335f955dSFangrui Song; CHECK-LABEL: addkf3: 7*335f955dSFangrui Song; CHECK: __addkf3 8*335f955dSFangrui Song %1 = fadd fp128 %a, %b 9*335f955dSFangrui Song ret fp128 %1 10*335f955dSFangrui Song} 11*335f955dSFangrui Song 12*335f955dSFangrui Songdefine fp128 @subkf3(fp128 %a, fp128 %b) { 13*335f955dSFangrui Song; CHECK-LABEL: subkf3: 14*335f955dSFangrui Song; CHECK: __subkf3 15*335f955dSFangrui Song %1 = fsub fp128 %a, %b 16*335f955dSFangrui Song ret fp128 %1 17*335f955dSFangrui Song} 18*335f955dSFangrui Song 19*335f955dSFangrui Songdefine fp128 @mulkf3(fp128 %a, fp128 %b) { 20*335f955dSFangrui Song; CHECK-LABEL: mulkf3: 21*335f955dSFangrui Song; CHECK: __mulkf3 22*335f955dSFangrui Song %1 = fmul fp128 %a, %b 23*335f955dSFangrui Song ret fp128 %1 24*335f955dSFangrui Song} 25*335f955dSFangrui Song 26*335f955dSFangrui Songdefine fp128 @divkf3(fp128 %a, fp128 %b) { 27*335f955dSFangrui Song; CHECK-LABEL: divkf3: 28*335f955dSFangrui Song; CHECK: __divkf3 29*335f955dSFangrui Song %1 = fdiv fp128 %a, %b 30*335f955dSFangrui Song ret fp128 %1 31*335f955dSFangrui Song} 32*335f955dSFangrui Song 33*335f955dSFangrui Songdefine fp128 @extendsfkf2(float %a) { 34*335f955dSFangrui Song; CHECK-LABEL: extendsfkf2: 35*335f955dSFangrui Song; CHECK: __extendsfkf2 36*335f955dSFangrui Song %1 = fpext float %a to fp128 37*335f955dSFangrui Song ret fp128 %1 38*335f955dSFangrui Song} 39*335f955dSFangrui Song 40*335f955dSFangrui Songdefine fp128 @extenddfkf2(double %a) { 41*335f955dSFangrui Song; CHECK-LABEL: extenddfkf2: 42*335f955dSFangrui Song; CHECK: __extenddfkf2 43*335f955dSFangrui Song %1 = fpext double %a to fp128 44*335f955dSFangrui Song ret fp128 %1 45*335f955dSFangrui Song} 46*335f955dSFangrui Song 47*335f955dSFangrui Songdefine float @trunckfsf2(fp128 %a) { 48*335f955dSFangrui Song; CHECK-LABEL: trunckfsf2: 49*335f955dSFangrui Song; CHECK: __trunckfsf2 50*335f955dSFangrui Song %1 = fptrunc fp128 %a to float 51*335f955dSFangrui Song ret float %1 52*335f955dSFangrui Song} 53*335f955dSFangrui Song 54*335f955dSFangrui Songdefine double @trunckfdf2(fp128 %a) { 55*335f955dSFangrui Song; CHECK-LABEL: trunckfdf2: 56*335f955dSFangrui Song; CHECK: __trunckfdf2 57*335f955dSFangrui Song %1 = fptrunc fp128 %a to double 58*335f955dSFangrui Song ret double %1 59*335f955dSFangrui Song} 60*335f955dSFangrui Song 61*335f955dSFangrui Songdefine i32 @fixkfsi(fp128 %a) { 62*335f955dSFangrui Song; CHECK-LABEL: fixkfsi: 63*335f955dSFangrui Song; CHECK: __fixkfsi 64*335f955dSFangrui Song %1 = fptosi fp128 %a to i32 65*335f955dSFangrui Song ret i32 %1 66*335f955dSFangrui Song} 67*335f955dSFangrui Song 68*335f955dSFangrui Songdefine i64 @fixkfdi(fp128 %a) { 69*335f955dSFangrui Song; CHECK-LABEL: fixkfdi: 70*335f955dSFangrui Song; CHECK: __fixkfdi 71*335f955dSFangrui Song %1 = fptosi fp128 %a to i64 72*335f955dSFangrui Song ret i64 %1 73*335f955dSFangrui Song} 74*335f955dSFangrui Song 75*335f955dSFangrui Songdefine i32 @fixunskfsi(fp128 %a) { 76*335f955dSFangrui Song; CHECK-LABEL: fixunskfsi: 77*335f955dSFangrui Song; CHECK: __fixunskfsi 78*335f955dSFangrui Song %1 = fptoui fp128 %a to i32 79*335f955dSFangrui Song ret i32 %1 80*335f955dSFangrui Song} 81*335f955dSFangrui Song 82*335f955dSFangrui Songdefine i64 @fixunskfdi(fp128 %a) { 83*335f955dSFangrui Song; CHECK-LABEL: fixunskfdi: 84*335f955dSFangrui Song; CHECK: __fixunskfdi 85*335f955dSFangrui Song %1 = fptoui fp128 %a to i64 86*335f955dSFangrui Song ret i64 %1 87*335f955dSFangrui Song} 88*335f955dSFangrui Song 89*335f955dSFangrui Songdefine fp128 @floatsikf(i32 %a) { 90*335f955dSFangrui Song; CHECK-LABEL: floatsikf: 91*335f955dSFangrui Song; CHECK: __floatsikf 92*335f955dSFangrui Song %1 = sitofp i32 %a to fp128 93*335f955dSFangrui Song ret fp128 %1 94*335f955dSFangrui Song} 95*335f955dSFangrui Song 96*335f955dSFangrui Songdefine fp128 @floatdikf(i64 %a) { 97*335f955dSFangrui Song; CHECK-LABEL: floatdikf: 98*335f955dSFangrui Song; CHECK: __floatdikf 99*335f955dSFangrui Song %1 = sitofp i64 %a to fp128 100*335f955dSFangrui Song ret fp128 %1 101*335f955dSFangrui Song} 102*335f955dSFangrui Song 103*335f955dSFangrui Songdefine fp128 @floatunsikf(i32 %a) { 104*335f955dSFangrui Song; CHECK-LABEL: floatunsikf: 105*335f955dSFangrui Song; CHECK: __floatunsikf 106*335f955dSFangrui Song %1 = uitofp i32 %a to fp128 107*335f955dSFangrui Song ret fp128 %1 108*335f955dSFangrui Song} 109*335f955dSFangrui Song 110*335f955dSFangrui Songdefine fp128 @floatundikf(i64 %a) { 111*335f955dSFangrui Song; CHECK-LABEL: floatundikf: 112*335f955dSFangrui Song; CHECK: __floatundikf 113*335f955dSFangrui Song %1 = uitofp i64 %a to fp128 114*335f955dSFangrui Song ret fp128 %1 115*335f955dSFangrui Song} 116*335f955dSFangrui Song 117*335f955dSFangrui Songdefine i1 @test_eqkf2(fp128 %a, fp128 %b) { 118*335f955dSFangrui Song; CHECK-LABEL: test_eqkf2: 119*335f955dSFangrui Song; CHECK: __eqkf2 120*335f955dSFangrui Song %1 = fcmp oeq fp128 %a, %b 121*335f955dSFangrui Song ret i1 %1 122*335f955dSFangrui Song} 123*335f955dSFangrui Song 124*335f955dSFangrui Songdefine i1 @test_nekf2(fp128 %a, fp128 %b) { 125*335f955dSFangrui Song; CHECK-LABEL: test_nekf2: 126*335f955dSFangrui Song; CHECK: __nekf2 127*335f955dSFangrui Song %1 = fcmp une fp128 %a, %b 128*335f955dSFangrui Song ret i1 %1 129*335f955dSFangrui Song} 130*335f955dSFangrui Song 131*335f955dSFangrui Songdefine i1 @test_gekf2(fp128 %a, fp128 %b) { 132*335f955dSFangrui Song; CHECK-LABEL: test_gekf2: 133*335f955dSFangrui Song; CHECK: __gekf2 134*335f955dSFangrui Song %1 = fcmp oge fp128 %a, %b 135*335f955dSFangrui Song ret i1 %1 136*335f955dSFangrui Song} 137*335f955dSFangrui Song 138*335f955dSFangrui Songdefine i1 @test_ltkf2(fp128 %a, fp128 %b) { 139*335f955dSFangrui Song; CHECK-LABEL: test_ltkf2: 140*335f955dSFangrui Song; CHECK: __ltkf2 141*335f955dSFangrui Song %1 = fcmp olt fp128 %a, %b 142*335f955dSFangrui Song ret i1 %1 143*335f955dSFangrui Song} 144*335f955dSFangrui Song 145*335f955dSFangrui Songdefine i1 @test_lekf2(fp128 %a, fp128 %b) { 146*335f955dSFangrui Song; CHECK-LABEL: test_lekf2: 147*335f955dSFangrui Song; CHECK: __lekf2 148*335f955dSFangrui Song %1 = fcmp ole fp128 %a, %b 149*335f955dSFangrui Song ret i1 %1 150*335f955dSFangrui Song} 151*335f955dSFangrui Song 152*335f955dSFangrui Songdefine i1 @test_gtkf2(fp128 %a, fp128 %b) { 153*335f955dSFangrui Song; CHECK-LABEL: test_gtkf2: 154*335f955dSFangrui Song; CHECK: __gtkf2 155*335f955dSFangrui Song %1 = fcmp ogt fp128 %a, %b 156*335f955dSFangrui Song ret i1 %1 157*335f955dSFangrui Song} 158*335f955dSFangrui Song 159*335f955dSFangrui Songdefine i1 @test_unordkf2(fp128 %a, fp128 %b) { 160*335f955dSFangrui Song; CHECK-LABEL: test_unordkf2: 161*335f955dSFangrui Song; CHECK: __unordkf2 162*335f955dSFangrui Song %1 = fcmp uno fp128 %a, %b 163*335f955dSFangrui Song ret i1 %1 164*335f955dSFangrui Song} 165