|
5 | 5 |
|
6 | 6 | ; CHECK: v{{[0-9]+}}.hf = v{{[0-9]:[0-9]}}.qf32 |
7 | 7 |
|
8 | | -define void @test() local_unnamed_addr #0 { |
| 8 | +define void @test( |
| 9 | + <32 x i32>* %optr, |
| 10 | + <64 x i32> %in64, |
| 11 | + <32 x i32> %va, |
| 12 | + <32 x i32> %vb |
| 13 | +) local_unnamed_addr #0 { |
9 | 14 | entry: |
10 | 15 | br label %for.body |
11 | 16 |
|
12 | 17 | for.body: |
13 | | - %optr.068 = phi <32 x i32>* [ %ptr, %entry ], [ %incdec.ptr6, %for.body ] |
14 | | - %0 = tail call <32 x i32> @llvm.hexagon.V6.vconv.hf.qf32.128B(<64 x i32> %input64) #2 |
| 18 | + %optr.068 = phi <32 x i32>* [ %optr, %entry ], [ %incdec.ptr6, %for.body ] |
| 19 | + %0 = tail call <32 x i32> @llvm.hexagon.V6.vconv.hf.qf32.128B(<64 x i32> %in64) #2 |
15 | 20 | %1 = tail call <32 x i32> @llvm.hexagon.V6.vdealh.128B(<32 x i32> %0) #2 |
16 | | - %2 = tail call <128 x i1> @llvm.hexagon.V6.vgth.128B(<32 x i32> %input32a, <32 x i32> %1) #2 |
17 | | - %3 = tail call <32 x i32> @llvm.hexagon.V6.vmux.128B(<128 x i1> %2, <32 x i32> %input32b, <32 x i32> %input32c) #2 |
18 | | - %4 = tail call <32 x i32> @llvm.hexagon.V6.vaddhsat.128B(<32 x i32> %3, <32 x i32> %input32d) #2 |
19 | | - %5 = tail call <32 x i32> @llvm.hexagon.V6.vpackhub.sat.128B(<32 x i32> %input32e, <32 x i32> %4) #2 |
| 21 | + %2 = tail call <128 x i1> @llvm.hexagon.V6.vgth.128B(<32 x i32> %va, <32 x i32> %1) #2 |
| 22 | + %3 = tail call <32 x i32> @llvm.hexagon.V6.vmux.128B(<128 x i1> %2, <32 x i32> %va, <32 x i32> %vb) #2 |
| 23 | + %4 = tail call <32 x i32> @llvm.hexagon.V6.vaddhsat.128B(<32 x i32> %3, <32 x i32> %vb) #2 |
| 24 | + %5 = tail call <32 x i32> @llvm.hexagon.V6.vpackhub.sat.128B(<32 x i32> %va, <32 x i32> %4) #2 |
20 | 25 | store <32 x i32> %5, <32 x i32>* %optr.068, align 1 |
21 | 26 | %incdec.ptr6 = getelementptr inbounds <32 x i32>, <32 x i32>* %optr.068, i32 1 |
22 | 27 | br label %for.body |
|
0 commit comments