[x86] fix assert with horizontal math + broadcast of vector (PR43402)
[llvm-core.git] / test / CodeGen / X86 / no-sse2-avg.ll
blob21528f7032758562322341d75c689ef71c18f717
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; REQUIRES: asserts
3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=-sse2 | FileCheck %s
5 define <16 x i8> @PR27973() {
6 ; CHECK-LABEL: PR27973:
7 ; CHECK:       # %bb.0:
8 ; CHECK-NEXT:    movq %rdi, %rax
9 ; CHECK-NEXT:    movq $0, 8(%rdi)
10 ; CHECK-NEXT:    movq $0, (%rdi)
11 ; CHECK-NEXT:    retq
12   %t0 = zext <16 x i8> zeroinitializer to <16 x i32>
13   %t1 = add nuw nsw <16 x i32> %t0, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
14   %t2 = lshr <16 x i32> %t1, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
15   %t3 = trunc <16 x i32> %t2 to <16 x i8>
16   ret <16 x i8> %t3