1*741aeda9SQiu Chaofan; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*741aeda9SQiu Chaofan; RUN: llc -mtriple=powerpc64le-unknown-linux < %s | FileCheck %s 3*741aeda9SQiu Chaofan; RUN: llc -mtriple=powerpc64-ibm-aix-xcoff < %s | FileCheck %s 4*741aeda9SQiu Chaofan 5*741aeda9SQiu Chaofandefine double @ldbl_1(ppc_fp128 %x) { 6*741aeda9SQiu Chaofan; CHECK-LABEL: ldbl_1: 7*741aeda9SQiu Chaofan; CHECK: # %bb.0: # %entry 8*741aeda9SQiu Chaofan; CHECK-NEXT: fmr 1, 2 9*741aeda9SQiu Chaofan; CHECK-NEXT: blr 10*741aeda9SQiu Chaofanentry: 11*741aeda9SQiu Chaofan %0 = call double @llvm.ppc.unpack.longdouble(ppc_fp128 %x, i32 0) 12*741aeda9SQiu Chaofan ret double %0 13*741aeda9SQiu Chaofan} 14*741aeda9SQiu Chaofan 15*741aeda9SQiu Chaofandefine double @ldbl_2(ppc_fp128 %x) { 16*741aeda9SQiu Chaofan; CHECK-LABEL: ldbl_2: 17*741aeda9SQiu Chaofan; CHECK: # %bb.0: # %entry 18*741aeda9SQiu Chaofan; CHECK-NEXT: blr 19*741aeda9SQiu Chaofanentry: 20*741aeda9SQiu Chaofan %0 = call double @llvm.ppc.unpack.longdouble(ppc_fp128 %x, i32 1) 21*741aeda9SQiu Chaofan ret double %0 22*741aeda9SQiu Chaofan} 23*741aeda9SQiu Chaofan 24*741aeda9SQiu Chaofandefine ppc_fp128 @ldbl_pack(double %x, double %y) { 25*741aeda9SQiu Chaofan; CHECK-LABEL: ldbl_pack: 26*741aeda9SQiu Chaofan; CHECK: # %bb.0: # %entry 27*741aeda9SQiu Chaofan; CHECK-NEXT: blr 28*741aeda9SQiu Chaofanentry: 29*741aeda9SQiu Chaofan %0 = call ppc_fp128 @llvm.ppc.pack.longdouble(double %x, double %y) 30*741aeda9SQiu Chaofan ret ppc_fp128 %0 31*741aeda9SQiu Chaofan} 32*741aeda9SQiu Chaofan 33*741aeda9SQiu Chaofandeclare double @llvm.ppc.unpack.longdouble(ppc_fp128, i32) 34*741aeda9SQiu Chaofandeclare ppc_fp128 @llvm.ppc.pack.longdouble(double, double) 35