brintos

brintos / llvm-project-archived public Read only

0
0
Text · 862 B · bf403b9 Raw
36 lines · plain
1; RUN: llc -mtriple=arm-eabi -mattr=+neon %s -o - | FileCheck %s2 3; This test checks that when inserting one (integer) element into a vector,4; the vector is not spuriously copied. "vorr dX, dY, dY" is the way of moving5; one DPR to another that we check for.6 7; CHECK: @f8; CHECK-NOT: vorr d9; CHECK: vmov.32 d10; CHECK-NOT: vorr d11; CHECK: mov pc, lr12define <4 x i32> @f(<4 x i32> %in) {13  %1 = insertelement <4 x i32> %in, i32 255, i32 314  ret <4 x i32> %115}16 17; CHECK: @g18; CHECK-NOT: vorr d19; CHECK: vmov.16 d20; CHECK-NOT: vorr d21; CHECK: mov pc, lr22define <8 x i16> @g(<8 x i16> %in) {23  %1 = insertelement <8 x i16> %in, i16 255, i32 724  ret <8 x i16> %125}26 27; CHECK: @h28; CHECK-NOT: vorr d29; CHECK: vmov.8 d30; CHECK-NOT: vorr d31; CHECK: mov pc, lr32define <16 x i8> @h(<16 x i8> %in) {33  %1 = insertelement <16 x i8> %in, i8 255, i32 1534  ret <16 x i8> %135}36