mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-31 23:41:01 +08:00
[AArch64] effective_target for aarch64 f64mm asm
Commit 9ceec73 introduced intrinsics for the AArch64 FP64 matrix multiply instructions. These require binutils support for the same instructions. This patch adds a DejaGNU test to ensure this binutils support is there and uses it in the files that need this test. Testing Done: Checked on a cross-compiler that: Tests running for binutils commit e264b5b7a are listed as UNSUPPORTED. Tests running for binutils commit 26916852e all pass. gcc/testsuite/ChangeLog: 2020-01-21 Matthew Malcomson <matthew.malcomson@arm.com> * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Use require directive. * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise. * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise. * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise. * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise. * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise. * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise. * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise. * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise. * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise. * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise. * lib/target-supports.exp: Add assembly requirement directive.
This commit is contained in:
parent
28307164df
commit
3c9e580511
@ -1,3 +1,19 @@
|
||||
2020-01-21 Matthew Malcomson <matthew.malcomson@arm.com>
|
||||
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Use require
|
||||
directive.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise.
|
||||
* gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise.
|
||||
* lib/target-supports.exp: Add assembly requirement directive.
|
||||
|
||||
2020-01-21 Tobias Burnus <tobias@codesourcery.com>
|
||||
|
||||
PR fortran/93309
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
|
||||
/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */
|
||||
/* { dg-require-effective-target aarch64_asm_f64mm_ok } */
|
||||
|
||||
#include "test_sve_acle.h"
|
||||
|
||||
|
@ -8987,7 +8987,8 @@ proc check_effective_target_aarch64_tiny { } {
|
||||
# Create functions to check that the AArch64 assembler supports the
|
||||
# various architecture extensions via the .arch_extension pseudo-op.
|
||||
|
||||
foreach { aarch64_ext } { "fp" "simd" "crypto" "crc" "lse" "dotprod" "sve"} {
|
||||
foreach { aarch64_ext } { "fp" "simd" "crypto" "crc" "lse" "dotprod" "sve"
|
||||
"f64mm" } {
|
||||
eval [string map [list FUNC $aarch64_ext] {
|
||||
proc check_effective_target_aarch64_asm_FUNC_ok { } {
|
||||
if { [istarget aarch64*-*-*] } {
|
||||
|
Loading…
x
Reference in New Issue
Block a user