1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=aarch64-unknown-unknown | FileCheck %s 3; RUN: llc < %s -mtriple=aarch64-unknown-unknown -global-isel | FileCheck %s 4 5define double @pow_optsize(double %x) nounwind optsize { 6; CHECK-LABEL: pow_optsize: 7; CHECK: // %bb.0: // %entry 8; CHECK-NEXT: mov w0, #15 // =0xf 9; CHECK-NEXT: b __powidf2 10entry: 11 %0 = call double @llvm.powi.f64.i32(double %x, i32 15) 12 ret double %0 13} 14 15define double @pow_optsize_expand(double %x) nounwind optsize { 16; CHECK-LABEL: pow_optsize_expand: 17; CHECK: // %bb.0: // %entry 18; CHECK-NEXT: fmul d0, d0, d0 19; CHECK-NEXT: fmul d0, d0, d0 20; CHECK-NEXT: fmul d0, d0, d0 21; CHECK-NEXT: fmul d0, d0, d0 22; CHECK-NEXT: ret 23entry: 24 %0 = call double @llvm.powi.f64.i32(double %x, i32 16) 25 ret double %0 26} 27