42 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \3; RUN: -mcpu=pwr9 < %s | FileCheck %s4; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \5; RUN: -mcpu=pwr9 < %s | FileCheck %s6; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-aix \7; RUN: -mcpu=pwr9 < %s | FileCheck %s8 9define dso_local i64 @extract_sig(double %d) {10; CHECK-LABEL: extract_sig:11; CHECK: # %bb.0: # %entry12; CHECK-NEXT: xsxsigdp 3, 113; CHECK-NEXT: blr14entry:15 %0 = tail call i64 @llvm.ppc.extract.sig(double %d)16 ret i64 %017}18declare i64 @llvm.ppc.extract.sig(double)19 20define dso_local double @insert_exp(double %d, i64 %ull) {21; CHECK-LABEL: insert_exp:22; CHECK: # %bb.0: # %entry23; CHECK-NEXT: mffprd 3, 124; CHECK-NEXT: xsiexpdp 1, 3, 425; CHECK-NEXT: blr26entry:27 %0 = tail call double @llvm.ppc.insert.exp(double %d, i64 %ull)28 ret double %029}30declare double @llvm.ppc.insert.exp(double, i64)31 32declare i64 @llvm.ppc.addex(i64, i64, i32 immarg)33define dso_local i64 @call_addex_0(i64 %a, i64 %b) {34; CHECK-LABEL: call_addex_0:35; CHECK: # %bb.0: # %entry36; CHECK-NEXT: addex 3, 3, 4, 037; CHECK-NEXT: blr38entry:39 %0 = tail call i64 @llvm.ppc.addex(i64 %a, i64 %b, i32 0)40 ret i64 %041}42