summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/peep-vector-extract-concat.ll
blob: f73ebb944dcdde3d6e7e1aebfd59465d82b8f737 (plain)
1
2
3
4
5
6
7
8
9
10
11
; RUN: llc < %s -mtriple=x86_64-linux -mattr=+sse2,-sse4.1 | FileCheck %s
; CHECK: pshufd $3, %xmm0, %xmm0

; RUN: llc < %s -mtriple=x86_64-win32 -mattr=+sse2,-sse4.1 | FileCheck %s -check-prefix=WIN64
; %a is passed indirectly on Win64.
; WIN64: movss   12(%rcx), %xmm0

define float @foo(<8 x float> %a) nounwind {
  %c = extractelement <8 x float> %a, i32 3
  ret float %c
}