Krzysztof Parzyszek | 6bfc657 | 2018-10-19 17:31:11 +0000 | [diff] [blame^] | 1 | ; RUN: llc -march=hexagon < %s | FileCheck %s |
| 2 | ; CHECK: dfcmp |
Jyotsna Verma | c7dcc2f | 2013-03-07 20:28:34 +0000 | [diff] [blame] | 3 | |
Krzysztof Parzyszek | 6bfc657 | 2018-10-19 17:31:11 +0000 | [diff] [blame^] | 4 | @g0 = internal constant [12 x i8] c"a < b = %d\0A\00" |
| 5 | @g1 = internal constant [13 x i8] c"a <= b = %d\0A\00" |
| 6 | @g2 = internal constant [12 x i8] c"a > b = %d\0A\00" |
| 7 | @g3 = internal constant [13 x i8] c"a >= b = %d\0A\00" |
| 8 | @g4 = internal constant [13 x i8] c"a == b = %d\0A\00" |
| 9 | @g5 = internal constant [13 x i8] c"a != b = %d\0A\00" |
| 10 | @g6 = global double 2.000000e+00 |
| 11 | @g7 = global double 5.000000e+00 |
Jyotsna Verma | c7dcc2f | 2013-03-07 20:28:34 +0000 | [diff] [blame] | 12 | |
Krzysztof Parzyszek | 6bfc657 | 2018-10-19 17:31:11 +0000 | [diff] [blame^] | 13 | declare i32 @f0(i8*, ...) #0 |
Jyotsna Verma | c7dcc2f | 2013-03-07 20:28:34 +0000 | [diff] [blame] | 14 | |
Krzysztof Parzyszek | 6bfc657 | 2018-10-19 17:31:11 +0000 | [diff] [blame^] | 15 | define i32 @f1() #0 { |
| 16 | b0: |
| 17 | %v0 = load double, double* @g6 |
| 18 | %v1 = load double, double* @g7 |
| 19 | %v2 = fcmp olt double %v0, %v1 |
| 20 | %v3 = fcmp ole double %v0, %v1 |
| 21 | %v4 = fcmp ogt double %v0, %v1 |
| 22 | %v5 = fcmp oge double %v0, %v1 |
| 23 | %v6 = fcmp oeq double %v0, %v1 |
| 24 | %v7 = fcmp une double %v0, %v1 |
| 25 | %v8 = getelementptr [12 x i8], [12 x i8]* @g0, i64 0, i64 0 |
| 26 | %v9 = getelementptr [13 x i8], [13 x i8]* @g1, i64 0, i64 0 |
| 27 | %v10 = getelementptr [12 x i8], [12 x i8]* @g2, i64 0, i64 0 |
| 28 | %v11 = getelementptr [13 x i8], [13 x i8]* @g3, i64 0, i64 0 |
| 29 | %v12 = getelementptr [13 x i8], [13 x i8]* @g4, i64 0, i64 0 |
| 30 | %v13 = getelementptr [13 x i8], [13 x i8]* @g5, i64 0, i64 0 |
| 31 | %v14 = call i32 (i8*, ...) @f0(i8* %v8, i1 %v2) |
| 32 | %v15 = call i32 (i8*, ...) @f0(i8* %v9, i1 %v3) |
| 33 | %v16 = call i32 (i8*, ...) @f0(i8* %v10, i1 %v4) |
| 34 | %v17 = call i32 (i8*, ...) @f0(i8* %v11, i1 %v5) |
| 35 | %v18 = call i32 (i8*, ...) @f0(i8* %v12, i1 %v6) |
| 36 | %v19 = call i32 (i8*, ...) @f0(i8* %v13, i1 %v7) |
| 37 | ret i32 0 |
Stephen Lin | f799e3f | 2013-07-13 20:38:47 +0000 | [diff] [blame] | 38 | } |
Krzysztof Parzyszek | 6bfc657 | 2018-10-19 17:31:11 +0000 | [diff] [blame^] | 39 | |
| 40 | attributes #0 = { nounwind "target-cpu"="hexagonv5" } |