21 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- -mcpu=yonah | FileCheck %s3 4; Legalization example that requires splitting a large vector into smaller pieces.5 6define void @update(<8 x i32> %val, ptr %dst) nounwind {7; CHECK-LABEL: update:8; CHECK: # %bb.0: # %entry9; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax10; CHECK-NEXT: psrad $2, %xmm011; CHECK-NEXT: psrad $4, %xmm112; CHECK-NEXT: movdqa %xmm1, 16(%eax)13; CHECK-NEXT: movdqa %xmm0, (%eax)14; CHECK-NEXT: retl15entry: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, ptr %dst19 ret void20}21