brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 27365ab Raw
46 lines · plain
1; RUN: llc -mtriple=hexagon -hexagon-hvx-widen=32 < %s | FileCheck %s2 3; Test that the Hexagon Vector Combine pass computes the address4; correctly when the loading objects that contain extra padding5; between successive objects.6 7; CHECK: [[REG:r[0-9]+]] = add(r{{[0-9]+}},#2432)8; CHECK: = vmem([[REG]]+#0)9 10define dllexport void @test(ptr %a0) local_unnamed_addr #0 {11b0:12  %v0 = add nuw nsw i32 0, 304013  %v1 = load i8, ptr undef, align 114  %v2 = insertelement <19 x i8> undef, i8 %v1, i32 015  %v3 = shufflevector <19 x i8> %v2, <19 x i8> undef, <19 x i32> zeroinitializer16  %v4 = getelementptr inbounds i8, ptr %a0, i32 %v017  %v6 = load <19 x i8>, ptr %v4, align 118  %v7 = mul <19 x i8> %v3, %v619  %v8 = add <19 x i8> %v7, zeroinitializer20  %v9 = add <19 x i8> zeroinitializer, %v821  %v10 = add <19 x i8> zeroinitializer, %v922  %v11 = add <19 x i8> zeroinitializer, %v1023  %v12 = add <19 x i8> zeroinitializer, %v1124  %v13 = add <19 x i8> zeroinitializer, %v1225  %v14 = add <19 x i8> zeroinitializer, %v1326  %v15 = add <19 x i8> zeroinitializer, %v1427  %v16 = add <19 x i8> zeroinitializer, %v1528  %v17 = add <19 x i8> zeroinitializer, %v1629  %v18 = add <19 x i8> zeroinitializer, %v1730  %v19 = load i8, ptr undef, align 131  %v20 = insertelement <19 x i8> undef, i8 %v19, i32 032  %v21 = shufflevector <19 x i8> %v20, <19 x i8> undef, <19 x i32> zeroinitializer33  %v22 = add nuw nsw i32 0, 547234  %v23 = getelementptr inbounds i8, ptr %a0, i32 %v2235  %v25 = load <19 x i8>, ptr %v23, align 136  %v26 = mul <19 x i8> %v21, %v2537  %v27 = add <19 x i8> %v26, %v1838  %v28 = add <19 x i8> zeroinitializer, %v2739  %v29 = add <19 x i8> zeroinitializer, %v2840  %v30 = add <19 x i8> zeroinitializer, %v2941  store <19 x i8> %v30, ptr %a0, align 142  ret void43}44 45attributes #0 = { "target-features"="+hvxv66,+hvx-length128b" }46