33 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 62; RUN: llc --mtriple=loongarch32 --mattr=+d < %s | FileCheck %s --check-prefix=LA323; RUN: llc --mtriple=loongarch64 --mattr=+d < %s | FileCheck %s --check-prefix=LA644 5declare float @llvm.log2.f32(float)6declare double @llvm.log2.f64(double)7 8define float @flog2_s(float %x) nounwind {9; LA32-LABEL: flog2_s:10; LA32: # %bb.0:11; LA32-NEXT: b log2f12;13; LA64-LABEL: flog2_s:14; LA64: # %bb.0:15; LA64-NEXT: flogb.s $fa0, $fa016; LA64-NEXT: ret17 %y = call float @llvm.log2.f32(float %x)18 ret float %y19}20 21define double @flog2_d(double %x) nounwind {22; LA32-LABEL: flog2_d:23; LA32: # %bb.0:24; LA32-NEXT: b log225;26; LA64-LABEL: flog2_d:27; LA64: # %bb.0:28; LA64-NEXT: flogb.d $fa0, $fa029; LA64-NEXT: ret30 %y = call double @llvm.log2.f64(double %x)31 ret double %y32}33