[PowerPC][MMA] Allow MMA builtin types in pre-P10 compilation units
authorKamau Bridgeman <kamau.bridgeman@ibm.com>
Thu, 30 Sep 2021 16:36:54 +0000 (11:36 -0500)
committerKamau Bridgeman <kamau.bridgeman@ibm.com>
Tue, 5 Oct 2021 12:59:32 +0000 (07:59 -0500)
commit8737c74fab3aee833d85b7d235d2c47ebb4eed2e
treef8f169127ba9da0716cf043eea9649d1c44a6faa
parente826db624040919a11e9dd3a9f3714105ee031ce
[PowerPC][MMA] Allow MMA builtin types in pre-P10 compilation units

This patch allows the use of __vector_quad and __vector_pair, PPC MMA builtin
types, on all PowerPC 64-bit compilation units. When these types are
made available the builtins that use them automatically become available
so semantic checking for mma and pair vector memop __builtins is also
expanded to ensure these builtin function call are only allowed on
Power10 and new architectures. All related test cases are updated to
ensure test coverage.

Reviewed By: #powerpc, nemanjai

Differential Revision: https://reviews.llvm.org/D109599
clang/include/clang/Sema/Sema.h
clang/lib/AST/ASTContext.cpp
clang/lib/Sema/Sema.cpp
clang/lib/Sema/SemaChecking.cpp
clang/test/AST/ast-dump-ppc-types.c
clang/test/CodeGen/ppc-mma-types.c
clang/test/CodeGenCXX/ppc-mangle-mma-types.cpp
clang/test/Sema/ppc-mma-builtins.c [new file with mode: 0644]
clang/test/Sema/ppc-paired-vector-builtins.c [new file with mode: 0644]
llvm/test/CodeGen/PowerPC/mma-acc-memops.ll