; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 ; RUN: llc < %s -mtriple=x86_64 | FileCheck %s define void @f(ptr %0, i64 %1) { ; CHECK-LABEL: f: ; CHECK: # %bb.0: # %BB ; CHECK-NEXT: subq $40, %rsp ; CHECK-NEXT: .cfi_def_cfa_offset 48 ; CHECK-NEXT: andl $1, %esi ; CHECK-NEXT: movaps (%rdi), %xmm0 ; CHECK-NEXT: movaps %xmm0, (%rsp) # 16-byte Spill ; CHECK-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp) ; CHECK-NEXT: movl $42, %edi ; CHECK-NEXT: callq *16(%rsp,%rsi,8) ; CHECK-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload ; CHECK-NEXT: movaps %xmm0, (%rax) ; CHECK-NEXT: addq $40, %rsp ; CHECK-NEXT: .cfi_def_cfa_offset 8 ; CHECK-NEXT: retq BB: %fps = load <2 x ptr>, ptr %0 %fp = extractelement <2 x ptr> %fps, i64 %1 %p = call ptr %fp(i32 42) store <2 x ptr> %fps, ptr %p ret void }