Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / X86 / vector-variable-idx.ll
blob091b553a895fecc4ed9664638cfadf2926a75c0a
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s
3 ; PR2676
5 define float @foo(<4 x float> %p, i32 %t) {
6 ; CHECK-LABEL: foo:
7 ; CHECK:       # %bb.0:
8 ; CHECK-NEXT:    # kill: def $edi killed $edi def $rdi
9 ; CHECK-NEXT:    movaps %xmm0, -{{[0-9]+}}(%rsp)
10 ; CHECK-NEXT:    andl $3, %edi
11 ; CHECK-NEXT:    movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
12 ; CHECK-NEXT:    retq
13   %z = extractelement <4 x float> %p, i32 %t
14   ret float %z
16 define <4 x float> @bar(<4 x float> %p, float %f, i32 %t) {
17 ; CHECK-LABEL: bar:
18 ; CHECK:       # %bb.0:
19 ; CHECK-NEXT:    # kill: def $edi killed $edi def $rdi
20 ; CHECK-NEXT:    movaps %xmm0, -{{[0-9]+}}(%rsp)
21 ; CHECK-NEXT:    andl $3, %edi
22 ; CHECK-NEXT:    movss %xmm1, -24(%rsp,%rdi,4)
23 ; CHECK-NEXT:    movaps -{{[0-9]+}}(%rsp), %xmm0
24 ; CHECK-NEXT:    retq
25   %z = insertelement <4 x float> %p, float %f, i32 %t
26   ret <4 x float> %z