llvm/flang/test/Lower/PowerPC/ppc-mma-accumulator-move-clear.f90

! RUN: %flang_fc1 -flang-experimental-hlfir -triple powerpc64le-unknown-unknown -target-cpu pwr10 -emit-llvm %s -o - | FileCheck --check-prefixes="LLVMIR" %s
! REQUIRES: target=powerpc{{.*}}

      subroutine test_xxmfacc()
      use, intrinsic :: mma
      implicit none
      __vector_quad :: cq
      call mma_xxmfacc(cq)
      end subroutine test_xxmfacc

!CHECK-LABEL: @test_xxmfacc_
!LLVMIR:  %1 = alloca <512 x i1>, i64 1, align 64
!LLVMIR:  %2 = load <512 x i1>, ptr %1, align 64
!LLVMIR:  %3 = call <512 x i1> @llvm.ppc.mma.xxmfacc(<512 x i1> %2)
!LLVMIR:  store <512 x i1> %3, ptr %1, align 64

      subroutine test_xxmtacc()
      use, intrinsic :: mma
      implicit none
      __vector_quad :: cq
      call mma_xxmtacc(cq)
      end subroutine test_xxmtacc

!CHECK-LABEL: @test_xxmtacc_
!LLVMIR:  %1 = alloca <512 x i1>, i64 1, align 64
!LLVMIR:  %2 = load <512 x i1>, ptr %1, align 64
!LLVMIR:  %3 = call <512 x i1> @llvm.ppc.mma.xxmtacc(<512 x i1> %2)
!LLVMIR:  store <512 x i1> %3, ptr %1, align 64

      subroutine test_xxsetaccz()
      use, intrinsic :: mma
      implicit none
      __vector_quad :: cq
      call mma_xxsetaccz(cq)
      end subroutine test_xxsetaccz

!CHECK-LABEL: @test_xxsetaccz_
!LLVMIR:  %1 = alloca <512 x i1>, i64 1, align 64
!LLVMIR:  %2 = call <512 x i1> @llvm.ppc.mma.xxsetaccz()
!LLVMIR:  store <512 x i1> %2, ptr %1, align 64