• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s -march=r600 -mcpu=tahiti | FileCheck %s
2
3; CHECK: @fsqrt_f32
4; CHECK: V_SQRT_F32_e32 {{VGPR[0-9]+, VGPR[0-9]+}}
5
6define void @fsqrt_f32(float addrspace(1)* %out, float addrspace(1)* %in) {
7   %r0 = load float addrspace(1)* %in
8   %r1 = call float @llvm.sqrt.f32(float %r0)
9   store float %r1, float addrspace(1)* %out
10   ret void
11}
12
13; CHECK: @fsqrt_f64
14; CHECK: V_SQRT_F64_e32 {{VGPR[0-9]+_VGPR[0-9]+, VGPR[0-9]+_VGPR[0-9]+}}
15
16define void @fsqrt_f64(double addrspace(1)* %out, double addrspace(1)* %in) {
17   %r0 = load double addrspace(1)* %in
18   %r1 = call double @llvm.sqrt.f64(double %r0)
19   store double %r1, double addrspace(1)* %out
20   ret void
21}
22
23declare float @llvm.sqrt.f32(float %Val)
24declare double @llvm.sqrt.f64(double %Val)
25