|
3 | 3 | ; RUN: llc -mtriple=aarch64 -mattr=+sve2 %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NOI8MM |
4 | 4 | ; RUN: llc -mtriple=aarch64 -mattr=+sve,+i8mm -aarch64-enable-partial-reduce-nodes %s -o - | FileCheck %s --check-prefixes=CHECK-NEWLOWERING,CHECK-NEWLOWERING-SVE |
5 | 5 | ; RUN: llc -mtriple=aarch64 -mattr=+sve2,+i8mm -aarch64-enable-partial-reduce-nodes %s -o - | FileCheck %s --check-prefixes=CHECK-NEWLOWERING,CHECK-NEWLOWERING-SVE2 |
| 6 | +; RUN: llc -mtriple=aarch64 -mattr=+sme -force-streaming -aarch64-enable-partial-reduce-nodes %s -o - | FileCheck %s --check-prefixes=CHECK-NEWLOWERING,CHECK-NEWLOWERING-SME |
6 | 7 |
|
7 | 8 | define <vscale x 4 x i32> @udot(<vscale x 4 x i32> %acc, <vscale x 16 x i8> %a, <vscale x 16 x i8> %b) { |
8 | 9 | ; CHECK-LABEL: udot: |
@@ -214,6 +215,14 @@ define <vscale x 4 x i64> @udot_8to64(<vscale x 4 x i64> %acc, <vscale x 16 x i8 |
214 | 215 | ; CHECK-NEWLOWERING-SVE2-NEXT: uaddwb z0.d, z0.d, z4.s |
215 | 216 | ; CHECK-NEWLOWERING-SVE2-NEXT: uaddwt z0.d, z0.d, z4.s |
216 | 217 | ; CHECK-NEWLOWERING-SVE2-NEXT: ret |
| 218 | +; |
| 219 | +; CHECK-NEWLOWERING-SME-LABEL: udot_8to64: |
| 220 | +; CHECK-NEWLOWERING-SME: // %bb.0: // %entry |
| 221 | +; CHECK-NEWLOWERING-SME-NEXT: mov z4.s, #0 // =0x0 |
| 222 | +; CHECK-NEWLOWERING-SME-NEXT: udot z4.s, z2.b, z3.b |
| 223 | +; CHECK-NEWLOWERING-SME-NEXT: uaddwb z0.d, z0.d, z4.s |
| 224 | +; CHECK-NEWLOWERING-SME-NEXT: uaddwt z0.d, z0.d, z4.s |
| 225 | +; CHECK-NEWLOWERING-SME-NEXT: ret |
217 | 226 | entry: |
218 | 227 | %a.wide = zext <vscale x 16 x i8> %a to <vscale x 16 x i64> |
219 | 228 | %b.wide = zext <vscale x 16 x i8> %b to <vscale x 16 x i64> |
@@ -251,6 +260,14 @@ define <vscale x 4 x i64> @sdot_8to64(<vscale x 4 x i64> %acc, <vscale x 16 x i8 |
251 | 260 | ; CHECK-NEWLOWERING-SVE2-NEXT: saddwb z0.d, z0.d, z4.s |
252 | 261 | ; CHECK-NEWLOWERING-SVE2-NEXT: saddwt z0.d, z0.d, z4.s |
253 | 262 | ; CHECK-NEWLOWERING-SVE2-NEXT: ret |
| 263 | +; |
| 264 | +; CHECK-NEWLOWERING-SME-LABEL: sdot_8to64: |
| 265 | +; CHECK-NEWLOWERING-SME: // %bb.0: // %entry |
| 266 | +; CHECK-NEWLOWERING-SME-NEXT: mov z4.s, #0 // =0x0 |
| 267 | +; CHECK-NEWLOWERING-SME-NEXT: sdot z4.s, z2.b, z3.b |
| 268 | +; CHECK-NEWLOWERING-SME-NEXT: saddwb z0.d, z0.d, z4.s |
| 269 | +; CHECK-NEWLOWERING-SME-NEXT: saddwt z0.d, z0.d, z4.s |
| 270 | +; CHECK-NEWLOWERING-SME-NEXT: ret |
254 | 271 | entry: |
255 | 272 | %a.wide = sext <vscale x 16 x i8> %a to <vscale x 16 x i64> |
256 | 273 | %b.wide = sext <vscale x 16 x i8> %b to <vscale x 16 x i64> |
|
0 commit comments