[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / X86 / combine-avx-intrinsics.ll
blobe46a1903e81e0dc12bc045f90fa3aa48b8df1a85
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=avx | FileCheck %s
5 define <4 x double> @test_x86_avx_blend_pd_256(<4 x double> %a0) {
6 ; CHECK-LABEL: test_x86_avx_blend_pd_256:
7 ; CHECK:       # %bb.0:
8 ; CHECK-NEXT:    retq
9   %1 = call <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double> %a0, <4 x double> %a0, i32 7)
10   ret <4 x double> %1
13 define <8 x float> @test_x86_avx_blend_ps_256(<8 x float> %a0) {
14 ; CHECK-LABEL: test_x86_avx_blend_ps_256:
15 ; CHECK:       # %bb.0:
16 ; CHECK-NEXT:    retq
17   %1 = call <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float> %a0, <8 x float> %a0, i32 7)
18   ret <8 x float> %1
21 define <4 x double> @test2_x86_avx_blend_pd_256(<4 x double> %a0, <4 x double> %a1) {
22 ; CHECK-LABEL: test2_x86_avx_blend_pd_256:
23 ; CHECK:       # %bb.0:
24 ; CHECK-NEXT:    retq
25   %1 = call <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double> %a0, <4 x double> %a1, i32 0)
26   ret <4 x double> %1
29 define <8 x float> @test2_x86_avx_blend_ps_256(<8 x float> %a0, <8 x float> %a1) {
30 ; CHECK-LABEL: test2_x86_avx_blend_ps_256:
31 ; CHECK:       # %bb.0:
32 ; CHECK-NEXT:    retq
33   %1 = call <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float> %a0, <8 x float> %a1, i32 0)
34   ret <8 x float> %1
37 define <4 x double> @test3_x86_avx_blend_pd_256(<4 x double> %a0, <4 x double> %a1) {
38 ; CHECK-LABEL: test3_x86_avx_blend_pd_256:
39 ; CHECK:       # %bb.0:
40 ; CHECK-NEXT:    vmovaps %ymm1, %ymm0
41 ; CHECK-NEXT:    retq
42   %1 = call <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double> %a0, <4 x double> %a1, i32 -1)
43   ret <4 x double> %1
46 define <8 x float> @test3_x86_avx_blend_ps_256(<8 x float> %a0, <8 x float> %a1) {
47 ; CHECK-LABEL: test3_x86_avx_blend_ps_256:
48 ; CHECK:       # %bb.0:
49 ; CHECK-NEXT:    vmovaps %ymm1, %ymm0
50 ; CHECK-NEXT:    retq
51   %1 = call <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float> %a0, <8 x float> %a1, i32 -1)
52   ret <8 x float> %1
55 declare <4 x double> @llvm.x86.avx.blend.pd.256(<4 x double>, <4 x double>, i32)
56 declare <8 x float> @llvm.x86.avx.blend.ps.256(<8 x float>, <8 x float>, i32)