Krzysztof Parzyszek | 6bfc657 | 2018-10-19 17:31:11 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=hexagon < %s | FileCheck %s |
Tony Linthicum | 1213a7a | 2011-12-12 21:14:40 +0000 | [diff] [blame] | 2 | ; CHECK: __hexagon_adddf3 |
| 3 | ; CHECK: __hexagon_subdf3 |
| 4 | |
Krzysztof Parzyszek | 6bfc657 | 2018-10-19 17:31:11 +0000 | [diff] [blame] | 5 | define void @f0(double* %a0, double %a1, double %a2) #0 { |
| 6 | b0: |
| 7 | %v0 = alloca double*, align 4 |
| 8 | %v1 = alloca double, align 8 |
| 9 | %v2 = alloca double, align 8 |
| 10 | store double* %a0, double** %v0, align 4 |
| 11 | store double %a1, double* %v1, align 8 |
| 12 | store double %a2, double* %v2, align 8 |
| 13 | %v3 = load double*, double** %v0, align 4 |
| 14 | %v4 = load double, double* %v3 |
| 15 | %v5 = load double, double* %v1, align 8 |
| 16 | %v6 = fadd double %v4, %v5 |
| 17 | %v7 = load double, double* %v2, align 8 |
| 18 | %v8 = fsub double %v6, %v7 |
| 19 | %v9 = load double*, double** %v0, align 4 |
| 20 | store double %v8, double* %v9 |
Tony Linthicum | 1213a7a | 2011-12-12 21:14:40 +0000 | [diff] [blame] | 21 | ret void |
| 22 | } |
Krzysztof Parzyszek | 6bfc657 | 2018-10-19 17:31:11 +0000 | [diff] [blame] | 23 | |
| 24 | attributes #0 = { nounwind "target-cpu"="hexagonv5" } |