diff options
Diffstat (limited to 'test/CodeGen/Hexagon/vect/vect-zeroextend.ll')
-rw-r--r-- | test/CodeGen/Hexagon/vect/vect-zeroextend.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CodeGen/Hexagon/vect/vect-zeroextend.ll b/test/CodeGen/Hexagon/vect/vect-zeroextend.ll new file mode 100644 index 0000000..3d0b794 --- /dev/null +++ b/test/CodeGen/Hexagon/vect/vect-zeroextend.ll @@ -0,0 +1,23 @@ +; RUN: llc -march=hexagon < %s +; Used to fail with "Cannot select: 0x16cb2d0: v4i16 = zero_extend" + +; ModuleID = 'bugpoint-reduced-simplified.bc' +target datalayout = "e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-f64:64:64-f32:32:32-a0:0-n32" +target triple = "hexagon-unknown-linux-gnu" + +define void @foo() nounwind { +entry: + br i1 undef, label %for.cond30.preheader.lr.ph, label %for.end425 + +for.cond30.preheader.lr.ph: ; preds = %entry + br label %for.cond37.preheader + +for.cond37.preheader: ; preds = %for.cond37.preheader, %for.cond30.preheader.lr.ph + %_p_vec_full = load <3 x i8>, <3 x i8>* undef, align 8 + %0 = zext <3 x i8> %_p_vec_full to <3 x i16> + store <3 x i16> %0, <3 x i16>* undef, align 8 + br label %for.cond37.preheader + +for.end425: ; preds = %entry + ret void +} |