Skip to content

Commit a8fc420

Browse files
Add test
1 parent a0551f8 commit a8fc420

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

llvm/test/CodeGen/X86/pr121456.ll

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2+
; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512dq -O3 | FileCheck %s
3+
4+
define <8 x i64> @pr121456(<8 x i64> %a, <8 x i64> %b) {
5+
; CHECK-LABEL: pr121456:
6+
; CHECK: # %bb.0: # %entry
7+
; CHECK-NEXT: vpmuludq %zmm0, %zmm1, %zmm0
8+
; CHECK-NEXT: vpsllq $32, %zmm0, %zmm0
9+
; CHECK-NEXT: retq
10+
entry:
11+
%0 = and <8 x i64> %a, splat (i64 4294967295)
12+
%1 = and <8 x i64> %b, splat (i64 4294967295)
13+
%2 = mul nuw <8 x i64> %1, %0
14+
%3 = bitcast <8 x i64> %2 to <16 x i32>
15+
%4 = shufflevector <16 x i32> <i32 0, i32 poison, i32 0, i32 poison, i32 0, i32 poison, i32 0, i32 poison, i32 0, i32 poison, i32 0, i32 poison, i32 0, i32 poison, i32 0, i32 poison>, <16 x i32> %3, <16 x i32> <i32 0, i32 16, i32 2, i32 18, i32 4, i32 20, i32 6, i32 22, i32 8, i32 24, i32 10, i32 26, i32 12, i32 28, i32 14, i32 30>
16+
%5 = bitcast <16 x i32> %4 to <8 x i64>
17+
ret <8 x i64> %5
18+
}

0 commit comments

Comments
 (0)