diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-08-30 19:06:39 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-08-30 19:06:39 +0000 |
commit | d91aafd0055a10230f3d606a933b2dac4f68284b (patch) | |
tree | e79d2454b62c2fcfe1d0a602061e1b78d183518a | |
parent | f925cbd7e4212c41e4aec72e9346c6673b75ef4a (diff) |
Add missed pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80502 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMInstrNEON.td | 2 | ||||
-rw-r--r-- | test/CodeGen/ARM/vset_lane.ll | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrNEON.td b/lib/Target/ARM/ARMInstrNEON.td index 6775591d9f..c278e8b071 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 279c628aed..f45f92a65a 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 +} |