| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | |
| ; RUN: llc < %s -mtriple=x86_64-- -mcpu=x86-64 | FileCheck %s --check-prefixes=SSE | |
| ; RUN: llc < %s -mtriple=x86_64-- -mcpu=x86-64-v2 | FileCheck %s --check-prefixes=SSE | |
| ; RUN: llc < %s -mtriple=x86_64-- -mcpu=x86-64-v3 | FileCheck %s --check-prefixes=AVX | |
| ; RUN: llc < %s -mtriple=x86_64-- -mcpu=x86-64-v4 | FileCheck %s --check-prefixes=AVX | |
| define <8 x i16> @PR168594() { | |
| ; SSE-LABEL: PR168594: | |
| ; SSE: # %bb.0: | |
| ; SSE-NEXT: pxor %xmm0, %xmm0 | |
| ; SSE-NEXT: psubw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0 | |
| ; SSE-NEXT: retq | |
| ; | |
| ; AVX-LABEL: PR168594: | |
| ; AVX: # %bb.0: | |
| ; AVX-NEXT: vpxor %xmm0, %xmm0, %xmm0 | |
| ; AVX-NEXT: vpsubw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0 | |
| ; AVX-NEXT: retq | |
| %call = call <8 x i16> @llvm.x86.sse2.pavg.w(<8 x i16> splat (i16 1), <8 x i16> zeroinitializer) | |
| %sub = sub <8 x i16> zeroinitializer, %call | |
| ret <8 x i16> %sub | |
| } |