xref: /llvm-project/llvm/test/CodeGen/Hexagon/double.ll (revision 2208c97c1bec2512d4e47b6223db6d95a7037956)
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s
2; CHECK: __hexagon_adddf3
3; CHECK: __hexagon_subdf3
4
5define void @f0(ptr %a0, double %a1, double %a2) #0 {
6b0:
7  %v0 = alloca ptr, align 4
8  %v1 = alloca double, align 8
9  %v2 = alloca double, align 8
10  store ptr %a0, ptr %v0, align 4
11  store double %a1, ptr %v1, align 8
12  store double %a2, ptr %v2, align 8
13  %v3 = load ptr, ptr %v0, align 4
14  %v4 = load double, ptr %v3
15  %v5 = load double, ptr %v1, align 8
16  %v6 = fadd double %v4, %v5
17  %v7 = load double, ptr %v2, align 8
18  %v8 = fsub double %v6, %v7
19  %v9 = load ptr, ptr %v0, align 4
20  store double %v8, ptr %v9
21  ret void
22}
23
24attributes #0 = { nounwind "target-cpu"="hexagonv5" }
25