[ARM] Split large truncating MVE stores
[llvm-complete.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