mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-28 03:26:16 +00:00

This patch upstreams support for the Armv8.6-a Matrix Multiplication Extension. A summary of the features can be found here: https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a This patch includes: - Command line options to enable these features with +i8mm, +f32mm, or f64mm Note: +f32mm and +f64mm are optional and so are not enabled by default This is part of a patch series, starting with BFloat16 support and the other components in the armv8.6a extension (in previous patches linked in phabricator) Based on work by: - Luke Geeson - Oliver Stannard - Luke Cheeseman Reviewers: t.p.northover, DavidSpickett Reviewed By: DavidSpickett Subscribers: DavidSpickett, ostannard, kristof.beyls, danielkiss, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77875
15 lines
846 B
C
15 lines
846 B
C
// RUN: %clang -### -target arm-none-none-eabi -march=armv8.5a+i8mm %s 2>&1 | FileCheck %s
|
|
// RUN: %clang -### -target aarch64-none-none-eabi -march=armv8.5a+i8mm %s 2>&1 | FileCheck %s
|
|
// CHECK: "-target-feature" "+i8mm"
|
|
// CHECK-NOT: "-target-feature" "-i8mm"
|
|
|
|
// RUN: %clang -### -target arm-none-none-eabi -march=armv8.6a+noi8mm %s 2>&1 | FileCheck %s --check-prefix=NOI8MM
|
|
// RUN: %clang -### -target aarch64-none-none-eabi -march=armv8.6a+noi8mm %s 2>&1 | FileCheck %s --check-prefix=NOI8MM
|
|
// NOI8MM: "-target-feature" "-i8mm"
|
|
// NOI8MM-NOT: "-target-feature" "+i8mm"
|
|
|
|
// RUN: %clang -### -target arm-none-none-eabi %s 2>&1 | FileCheck %s --check-prefix=ABSENT
|
|
// RUN: %clang -### -target aarch64-none-none-eabi %s 2>&1 | FileCheck %s --check-prefix=ABSENT
|
|
// ABSENT-NOT: "-target-feature" "+i8mm"
|
|
// ABSENT-NOT: "-target-feature" "-i8mm"
|