1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=i686-- -mcpu=yonah | FileCheck %s 3 4; Legalization example that requires splitting a large vector into smaller pieces. 5 6define void @update(<8 x i32> %val, <8 x i32>* %dst) nounwind { 7; CHECK-LABEL: update: 8; CHECK: # %bb.0: # %entry 9; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax 10; CHECK-NEXT: psrad $2, %xmm0 11; CHECK-NEXT: psrad $4, %xmm1 12; CHECK-NEXT: movdqa %xmm1, 16(%eax) 13; CHECK-NEXT: movdqa %xmm0, (%eax) 14; CHECK-NEXT: retl 15entry: 16 %shl = shl <8 x i32> %val, < i32 2, i32 2, i32 2, i32 2, i32 4, i32 4, i32 4, i32 4 > 17 %shr = ashr <8 x i32> %val, < i32 2, i32 2, i32 2, i32 2, i32 4, i32 4, i32 4, i32 4 > 18 store <8 x i32> %shr, <8 x i32>* %dst 19 ret void 20} 21