]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/X86/vec_partial.ll
Vendor import of llvm trunk r291274:
[FreeBSD/FreeBSD.git] / test / CodeGen / X86 / vec_partial.ll
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s
3
4 ; PR11580
5 define <3 x float> @addf3(<3 x float> %x) {
6 ; CHECK-LABEL: addf3:
7 ; CHECK:       # BB#0: # %entry
8 ; CHECK-NEXT:    addps {{.*}}(%rip), %xmm0
9 ; CHECK-NEXT:    retq
10 entry:
11   %add = fadd <3 x float> %x, <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
12   ret <3 x float> %add
13 }
14
15 ; PR11580
16 define <4 x float> @cvtf3_f4(<3 x float> %x) {
17 ; CHECK-LABEL: cvtf3_f4:
18 ; CHECK:       # BB#0: # %entry
19 ; CHECK-NEXT:    retq
20 entry:
21   %extractVec = shufflevector <3 x float> %x, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef>
22   ret <4 x float> %extractVec
23 }
24
25 ; PR11580
26 define <3 x float> @cvtf4_f3(<4 x float> %x) {
27 ; CHECK-LABEL: cvtf4_f3:
28 ; CHECK:       # BB#0: # %entry
29 ; CHECK-NEXT:    retq
30 entry:
31   %extractVec = shufflevector <4 x float> %x, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2>
32   ret <3 x float> %extractVec
33 }