From: Simon Pilgrim Date: Mon, 17 Jan 2022 19:02:44 +0000 (+0000) Subject: [X86] Add test case for PR53247 X-Git-Tag: upstream/15.0.7~20193 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fea85d322d3fa49228a92fbbde568f836677edc8;p=platform%2Fupstream%2Fllvm.git [X86] Add test case for PR53247 Test case from Issue #53247 --- diff --git a/llvm/test/CodeGen/X86/pr53247.ll b/llvm/test/CodeGen/X86/pr53247.ll new file mode 100644 index 0000000..2fc2ffb --- /dev/null +++ b/llvm/test/CodeGen/X86/pr53247.ll @@ -0,0 +1,27 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE +; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX + +define i32 @PR53247(){ +; SSE-LABEL: PR53247: +; SSE: # %bb.0: # %entry +; SSE-NEXT: pxor %xmm0, %xmm0 +; SSE-NEXT: phaddd %xmm0, %xmm0 +; SSE-NEXT: phaddd %xmm0, %xmm0 +; SSE-NEXT: movd %xmm0, %eax +; SSE-NEXT: retq +; +; AVX-LABEL: PR53247: +; AVX: # %bb.0: # %entry +; AVX-NEXT: vpxor %xmm0, %xmm0, %xmm0 +; AVX-NEXT: vphaddd %xmm0, %xmm0, %xmm0 +; AVX-NEXT: vphaddd %xmm0, %xmm0, %xmm0 +; AVX-NEXT: vmovd %xmm0, %eax +; AVX-NEXT: retq +entry: + %0 = call <4 x i32> @llvm.x86.ssse3.phadd.d.128(<4 x i32> zeroinitializer, <4 x i32> zeroinitializer) + %1 = call <4 x i32> @llvm.x86.ssse3.phadd.d.128(<4 x i32> %0, <4 x i32> zeroinitializer) + %vecext.i = extractelement <4 x i32> %1, i32 0 + ret i32 %vecext.i +} +declare <4 x i32> @llvm.x86.ssse3.phadd.d.128(<4 x i32>, <4 x i32>)