Elena Demikhovsky | f8f478b | 2013-08-25 12:54:30 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=x86-64 -mtriple=x86_64-apple-darwin -mcpu=knl | FileCheck %s |
| 2 | |
| 3 | ; CHECK-LABEL: test1 |
| 4 | ; CHECK: vpxord |
| 5 | ; CHECK: ret |
| 6 | define <16 x i32> @test1(i32* %x) { |
| 7 | %y = load i32* %x, align 4 |
| 8 | %res = insertelement <16 x i32>zeroinitializer, i32 %y, i32 4 |
| 9 | ret <16 x i32>%res |
| 10 | } |
| 11 | |
| 12 | ; CHECK-LABEL: test2 |
| 13 | ; CHECK: vpaddd LCP{{.*}}(%rip){1to16} |
| 14 | ; CHECK: ret |
| 15 | define <16 x i32> @test2(<16 x i32> %x) { |
| 16 | %res = add <16 x i32><i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, %x |
| 17 | ret <16 x i32>%res |
Elena Demikhovsky | 2aafc22 | 2014-02-11 07:25:59 +0000 | [diff] [blame^] | 18 | } |
| 19 | |
| 20 | ; CHECK-LABEL: test3 |
| 21 | ; CHECK: vinsertf128 |
| 22 | ; CHECK: vinsertf64x4 |
| 23 | ; CHECK: ret |
| 24 | define <16 x float> @test3(<4 x float> %a) { |
| 25 | %b = extractelement <4 x float> %a, i32 2 |
| 26 | %c = insertelement <16 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, float %b, i32 5 |
| 27 | %b1 = extractelement <4 x float> %a, i32 0 |
| 28 | %c1 = insertelement <16 x float> %c, float %b1, i32 6 |
| 29 | ret <16 x float>%c1 |
Elena Demikhovsky | f8f478b | 2013-08-25 12:54:30 +0000 | [diff] [blame] | 30 | } |