72 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- -mcpu=core2 | FileCheck %s3 4define <4 x i16> @a(ptr %x1) nounwind {5; CHECK-LABEL: a:6; CHECK: # %bb.0:7; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax8; CHECK-NEXT: movl (%eax), %eax9; CHECK-NEXT: shrl %eax10; CHECK-NEXT: movzwl %ax, %eax11; CHECK-NEXT: movd %eax, %xmm012; CHECK-NEXT: retl13 14 %x2 = load i32, ptr %x115 %x3 = lshr i32 %x2, 116 %x = trunc i32 %x3 to i1617 %r = insertelement <4 x i16> zeroinitializer, i16 %x, i32 018 ret <4 x i16> %r19}20 21define <8 x i16> @b(ptr %x1) nounwind {22; CHECK-LABEL: b:23; CHECK: # %bb.0:24; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax25; CHECK-NEXT: movl (%eax), %eax26; CHECK-NEXT: shrl %eax27; CHECK-NEXT: movzwl %ax, %eax28; CHECK-NEXT: movd %eax, %xmm029; CHECK-NEXT: retl30 31 %x2 = load i32, ptr %x132 %x3 = lshr i32 %x2, 133 %x = trunc i32 %x3 to i1634 %r = insertelement <8 x i16> zeroinitializer, i16 %x, i32 035 ret <8 x i16> %r36}37 38define <8 x i8> @c(ptr %x1) nounwind {39; CHECK-LABEL: c:40; CHECK: # %bb.0:41; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax42; CHECK-NEXT: movl (%eax), %eax43; CHECK-NEXT: shrl %eax44; CHECK-NEXT: movzbl %al, %eax45; CHECK-NEXT: movd %eax, %xmm046; CHECK-NEXT: retl47 48 %x2 = load i32, ptr %x149 %x3 = lshr i32 %x2, 150 %x = trunc i32 %x3 to i851 %r = insertelement <8 x i8> zeroinitializer, i8 %x, i32 052 ret <8 x i8> %r53}54 55define <16 x i8> @d(ptr %x1) nounwind {56; CHECK-LABEL: d:57; CHECK: # %bb.0:58; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax59; CHECK-NEXT: movl (%eax), %eax60; CHECK-NEXT: shrl %eax61; CHECK-NEXT: movzbl %al, %eax62; CHECK-NEXT: movd %eax, %xmm063; CHECK-NEXT: retl64 65 %x2 = load i32, ptr %x166 %x3 = lshr i32 %x2, 167 %x = trunc i32 %x3 to i868 %r = insertelement <16 x i8> zeroinitializer, i8 %x, i32 069 ret <16 x i8> %r70}71 72