|
1 | | -; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
2 | 1 | ; RUN: llc < %s -O1 -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefixes=X64 |
3 | 2 |
|
4 | 3 | ; 67108863 == (1 << 26) - 1 |
@@ -200,7 +199,19 @@ entry: |
200 | 199 | ret <4 x i64> %res |
201 | 200 | } |
202 | 201 |
|
| 202 | +define <16 x i64> @v16_test_split(<16 x i64> %a, <16 x i64> %b, <16 x i64> %acc) #1 { |
| 203 | +; X64-LABEL: v16_test_split: |
| 204 | +; X64: vpmadd52luq |
| 205 | +; X64: vpmadd52luq |
| 206 | +; X64: ret |
| 207 | +entry: |
| 208 | + %a26 = and <16 x i64> %a, splat (i64 67108863) |
| 209 | + %b26 = and <16 x i64> %b, splat (i64 67108863) |
| 210 | + %mul = mul <16 x i64> %a26, %b26 |
| 211 | + %res = add <16 x i64> %acc, %mul |
| 212 | + ret <16 x i64> %res |
| 213 | +} |
| 214 | + |
203 | 215 | attributes #0 = { mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable "target-features"="+avx,+avx2,+avx512dq,+avx512f,+avx512ifma,-avx512vl,+cmov,+crc32,+evex512,+cx8,+f16c,+fma,+fxsr,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave" "tune-cpu"="generic" } |
204 | 216 | attributes #1 = { mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable "target-features"="+avx,+avx2,+avx512dq,+avx512f,+avx512ifma,+avx512vl,+cmov,+crc32,+cx8,+f16c,+fma,+fxsr,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave" "tune-cpu"="generic" } |
205 | 217 | attributes #2 = { mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable "target-features"="+avx,+avx2,+avx512dq,+avx512f,+avx512vl,+avxifma,+cmov,+crc32,+cx8,+f16c,+fma,+fxsr,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave" "tune-cpu"="generic" } |
206 | | -attributes #3 = { "target-features"="+avx512dq,+avx512f,+avx512ifma,+avx512vl,-evex512" } |
|
0 commit comments