From: Anton Korobeynikov Date: Sun, 30 Aug 2009 19:06:39 +0000 (+0000) Subject: Add missed pattern X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=d91aafd0055a10230f3d606a933b2dac4f68284b;p=oota-llvm.git Add missed pattern git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80502 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/ARMInstrNEON.td b/lib/Target/ARM/ARMInstrNEON.td index 6775591d9f0..c278e8b071d 100644 --- a/lib/Target/ARM/ARMInstrNEON.td +++ b/lib/Target/ARM/ARMInstrNEON.td @@ -1720,6 +1720,8 @@ def : Pat<(insertelt (v4i32 QPR:$src1), GPR:$src2, imm:$lane), GPR:$src2, (SubReg_i32_lane imm:$lane)), (DSubReg_i32_reg imm:$lane)))>; +def : Pat<(v2f32 (insertelt DPR:$src1, SPR:$src2, imm:$src3)), + (INSERT_SUBREG DPR:$src1, SPR:$src2, (SSubReg_f32_reg imm:$src3))>; def : Pat<(v4f32 (insertelt QPR:$src1, SPR:$src2, imm:$src3)), (INSERT_SUBREG QPR:$src1, SPR:$src2, (SSubReg_f32_reg imm:$src3))>; diff --git a/test/CodeGen/ARM/vset_lane.ll b/test/CodeGen/ARM/vset_lane.ll index 279c628aed6..f45f92a65a2 100644 --- a/test/CodeGen/ARM/vset_lane.ll +++ b/test/CodeGen/ARM/vset_lane.ll @@ -2,6 +2,7 @@ ; RUN: grep {vmov\\.8} %t | count 2 ; RUN: grep {vmov\\.16} %t | count 2 ; RUN: grep {vmov\\.32} %t | count 2 +; RUN: grep {fcpys} %t | count 2 define <8 x i8> @vset_lane8(<8 x i8>* %A, i8 %B) nounwind { %tmp1 = load <8 x i8>* %A @@ -38,3 +39,9 @@ define <4 x i32> @vsetQ_lane32(<4 x i32>* %A, i32 %B) nounwind { %tmp2 = insertelement <4 x i32> %tmp1, i32 %B, i32 1 ret <4 x i32> %tmp2 } + +define arm_aapcs_vfpcc <2 x float> @test_vset_lanef32(float %arg0_float32_t, <2 x float> %arg1_float32x2_t) nounwind { +entry: + %0 = insertelement <2 x float> %arg1_float32x2_t, float %arg0_float32_t, i32 1 ; <<2 x float>> [#uses=1] + ret <2 x float> %0 +}