Krzysztof Parzyszek | 3780a0e | 2018-01-23 17:53:59 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=hexagon < %s | FileCheck %s |
| 2 | |
| 3 | ; Check for successful compilation. |
| 4 | ; CHECK: sfcmp |
| 5 | |
| 6 | target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048" |
| 7 | target triple = "hexagon" |
| 8 | |
Krzysztof Parzyszek | cf3ad58 | 2018-01-24 17:48:11 +0000 | [diff] [blame] | 9 | define void @fred(<8 x float>* %a0, <8 x float>* %a1) #0 { |
Krzysztof Parzyszek | 3780a0e | 2018-01-23 17:53:59 +0000 | [diff] [blame] | 10 | b0: |
Krzysztof Parzyszek | cf3ad58 | 2018-01-24 17:48:11 +0000 | [diff] [blame] | 11 | %v0 = load <8 x float>, <8 x float>* %a1, align 8 |
| 12 | %v1 = fcmp olt <8 x float> %v0, zeroinitializer |
| 13 | %v2 = load <8 x float>, <8 x float>* %a0, align 8 |
| 14 | %v3 = fcmp olt <8 x float> %v2, zeroinitializer |
Krzysztof Parzyszek | 3780a0e | 2018-01-23 17:53:59 +0000 | [diff] [blame] | 15 | %v4 = and <8 x i1> %v1, %v3 |
| 16 | %v5 = zext <8 x i1> %v4 to <8 x i32> |
| 17 | store <8 x i32> %v5, <8 x i32>* undef, align 8 |
| 18 | unreachable |
| 19 | } |
| 20 | |
| 21 | attributes #0 = { noinline norecurse nounwind "target-cpu"="hexagonv60" "target-features"="+hvx-length64b,+hvxv60" } |