xref: /aosp_15_r20/external/llvm/test/CodeGen/AArch64/fast-isel-sqrt.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm64-apple-darwin                             -verify-machineinstrs < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm64-apple-darwin -fast-isel -fast-isel-abort=1 -verify-machineinstrs < %s | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine float @test_sqrt_f32(float %a) {
5*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_sqrt_f32
6*9880d681SAndroid Build Coastguard Worker; CHECK:       fsqrt s0, s0
7*9880d681SAndroid Build Coastguard Worker  %res = call float @llvm.sqrt.f32(float %a)
8*9880d681SAndroid Build Coastguard Worker  ret float %res
9*9880d681SAndroid Build Coastguard Worker}
10*9880d681SAndroid Build Coastguard Workerdeclare float @llvm.sqrt.f32(float) nounwind readnone
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerdefine double @test_sqrt_f64(double %a) {
13*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_sqrt_f64
14*9880d681SAndroid Build Coastguard Worker; CHECK:       fsqrt d0, d0
15*9880d681SAndroid Build Coastguard Worker  %res = call double @llvm.sqrt.f64(double %a)
16*9880d681SAndroid Build Coastguard Worker  ret double %res
17*9880d681SAndroid Build Coastguard Worker}
18*9880d681SAndroid Build Coastguard Workerdeclare double @llvm.sqrt.f64(double) nounwind readnone
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker
21