Summary: Adds the constraints described below to ensure that we can tie variables of SVE ACLE types to operands in inline-asm: - y: SVE registers Z0-Z7 - Upl: One of the low eight SVE predicate registers (P0-P7) - Upa: Full range of SVE predicate registers (P0-P15) Reviewers: sdesmalen, huntergr, rovka, cameron.mcinally, efriedma, rengolin Reviewed By: efriedma Subscribers: miyuki, tschuett, rkruppe, psnobl, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75690
22 lines
513 B
C
22 lines
513 B
C
// REQUIRES: aarch64-registered-target
|
|
|
|
// RUN: not %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns \
|
|
// RUN: -target-feature +neon -S -O1 -o - %s | FileCheck %s
|
|
|
|
// Assembler error
|
|
// Output constraint : Set a vector constraint on an integer
|
|
__SVFloat32_t funcB2()
|
|
{
|
|
__SVFloat32_t ret ;
|
|
asm volatile (
|
|
"fmov %[ret], wzr \n"
|
|
: [ret] "=w" (ret)
|
|
:
|
|
:);
|
|
|
|
return ret ;
|
|
}
|
|
|
|
// CHECK: funcB2
|
|
// CHECK-ERROR: error: invalid operand for instruction
|