24 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -O2 -S -data-layout="e" < %s | FileCheck %s3; RUN: opt -passes="default<O2>" -S -data-layout="e" < %s | FileCheck %s4 5define <4 x i16> @truncate(<4 x i32> %x) {6; CHECK-LABEL: @truncate(7; CHECK-NEXT: [[V3:%.*]] = trunc <4 x i32> [[X:%.*]] to <4 x i16>8; CHECK-NEXT: ret <4 x i16> [[V3]]9;10 %x0 = extractelement <4 x i32> %x, i32 011 %t0 = trunc i32 %x0 to i1612 %v0 = insertelement <4 x i16> undef, i16 %t0, i32 013 %x1 = extractelement <4 x i32> %x, i32 114 %t1 = trunc i32 %x1 to i1615 %v1 = insertelement <4 x i16> %v0, i16 %t1, i32 116 %x2 = extractelement <4 x i32> %x, i32 217 %t2 = trunc i32 %x2 to i1618 %v2 = insertelement <4 x i16> %v1, i16 %t2, i32 219 %x3 = extractelement <4 x i32> %x, i32 320 %t3 = trunc i32 %x3 to i1621 %v3 = insertelement <4 x i16> %v2, i16 %t3, i32 322 ret <4 x i16> %v323}24