xref: /llvm-project/llvm/test/CodeGen/PowerPC/fp-splat.ll (revision 112a6bac726658c7ebd73a4aaf2539fa67ffb9e4)
1*112a6bacSHal Finkel; RUN: llc -mcpu=pwr8 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-P8 -check-prefix=CHECK
2*112a6bacSHal Finkel; RUN: llc -mcpu=pwr7 -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-P7 -check-prefix=CHECK
3*112a6bacSHal Finkel
4*112a6bacSHal Finkeldefine <4 x float> @test1(float %a) {
5*112a6bacSHal Finkelentry:
6*112a6bacSHal Finkel; CHECK-LABEL: test1
7*112a6bacSHal Finkel  %vecins = insertelement <4 x float> undef, float %a, i32 0
8*112a6bacSHal Finkel  %vecins1 = insertelement <4 x float> %vecins, float %a, i32 1
9*112a6bacSHal Finkel  %vecins2 = insertelement <4 x float> %vecins1, float %a, i32 2
10*112a6bacSHal Finkel  %vecins3 = insertelement <4 x float> %vecins2, float %a, i32 3
11*112a6bacSHal Finkel  ret <4 x float> %vecins3
12*112a6bacSHal Finkel; CHECK-P8: xscvdpspn
13*112a6bacSHal Finkel; CHECK-P7-NOT: xscvdpspn
14*112a6bacSHal Finkel; CHECK: blr
15*112a6bacSHal Finkel}
16*112a6bacSHal Finkel
17*112a6bacSHal Finkeldefine <2 x double> @test2(double %a) {
18*112a6bacSHal Finkelentry:
19*112a6bacSHal Finkel; CHECK-LABEL: test2
20*112a6bacSHal Finkel  %vecins = insertelement <2 x double> undef, double %a, i32 0
21*112a6bacSHal Finkel  %vecins1 = insertelement <2 x double> %vecins, double %a, i32 1
22*112a6bacSHal Finkel  ret <2 x double> %vecins1
23*112a6bacSHal Finkel; CHECK-P8: xxspltd
24*112a6bacSHal Finkel; CHECK-P7: xxspltd
25*112a6bacSHal Finkel; CHECK: blr
26*112a6bacSHal Finkel}
27*112a6bacSHal Finkel
28