brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 8b45f1c Raw
66 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s -mtriple=aarch64-- | FileCheck %s3; RUN: llc -mtriple=aarch64-windows-pc-msvc < %s | FileCheck -check-prefix=WINDOWS %s4 5declare double @llvm.powi.f64.i32(double, i32)6declare float  @llvm.powi.f32.i32(float,  i32)7declare float  @pow(double noundef, double noundef)8 9define float @powi_f32_4(float %x) nounwind {10; CHECK-LABEL: powi_f32_4:11; CHECK:       // %bb.0:12; CHECK-NEXT:    fmul s0, s0, s013; CHECK-NEXT:    fmul s0, s0, s014; CHECK-NEXT:    ret15;16; WINDOWS-LABEL: powi_f32_4:17; WINDOWS:       // %bb.0:18; WINDOWS-NEXT:    fmul s0, s0, s019; WINDOWS-NEXT:    fmul s0, s0, s020; WINDOWS-NEXT:    ret21  %1 = tail call float @llvm.powi.f32.i32(float %x, i32 4)22  ret float %123}24 25define double @powi_f64_3(double %x) nounwind {26; CHECK-LABEL: powi_f64_3:27; CHECK:       // %bb.0:28; CHECK-NEXT:    fmul d1, d0, d029; CHECK-NEXT:    fmul d0, d0, d130; CHECK-NEXT:    ret31;32; WINDOWS-LABEL: powi_f64_3:33; WINDOWS:       // %bb.0:34; WINDOWS-NEXT:    fmul d1, d0, d035; WINDOWS-NEXT:    fmul d0, d0, d136; WINDOWS-NEXT:    ret37  %1 = tail call double @llvm.powi.f64.i32(double %x, i32 3)38  ret double %139}40 41define float @powi_f32(float %x, i32 %n) nounwind {42; CHECK-LABEL: powi_f32:43; CHECK:       // %bb.0:44; CHECK-NEXT:    b __powisf245;46; WINDOWS-LABEL: powi_f32:47; WINDOWS:       // %bb.0:48; WINDOWS-NEXT:    scvtf s1, w049; WINDOWS-NEXT:    b powf50  %ret = tail call float @llvm.powi.f32.i32(float %x, i32 %n)51  ret float %ret52}53 54define double @powi_f64(double %x, i32 %n) nounwind {55; CHECK-LABEL: powi_f64:56; CHECK:       // %bb.0:57; CHECK-NEXT:    b __powidf258;59; WINDOWS-LABEL: powi_f64:60; WINDOWS:       // %bb.0:61; WINDOWS-NEXT:    scvtf d1, w062; WINDOWS-NEXT:    b pow63  %ret = tail call double @llvm.powi.f64.i32(double %x, i32 %n)64  ret double %ret65}66