Commit 1f98b7b2 by Janis Johnson Committed by Janis Johnson

ftest-support.h: Replace for compile-only tests.

	* gcc.target/arm/ftest-support.h: Replace for compile-only tests.
	* gcc.target/arm/ftest-support-arm.h: Delete.
	* gcc.target/arm/ftest-support-thumb.h: Delete.
	* gcc.target/arm/ftest-armv4-arm.c: Replace with compile-only test.
	* gcc.target/arm/ftest-armv4t-arm.c: Likewise.
	* gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv5t-arm.c: Likewise.
	* gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv5te-arm.c: Likewise.
	* gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv6-arm.c: Likewise.
	* gcc.target/arm/ftest-armv6-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv6k-arm.c: Likewise.
	* gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
	* gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv6z-arm.c: Likewise.
	* gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv7a-arm.c: Likewise.
	* gcc.target/arm/ftest-armv7a-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv7em-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv7m-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv7r-arm.c: Likewise.
	* gcc.target/arm/ftest-armv7r-thumb.c: Likewise.
	* gcc.target/arm/ftest-armv8a-arm.c: Likewise.
	* gcc.target/arm/ftest-armv8a-thumb.c: Likewise.

From-SVN: r195270
parent 922c57d1
2013-01-17 Janis Johnson <janisjo@codesourcery.com>
* gcc.target/arm/ftest-support.h: Replace for compile-only tests.
* gcc.target/arm/ftest-support-arm.h: Delete.
* gcc.target/arm/ftest-support-thumb.h: Delete.
* gcc.target/arm/ftest-armv4-arm.c: Replace with compile-only test.
* gcc.target/arm/ftest-armv4t-arm.c: Likewise.
* gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
* gcc.target/arm/ftest-armv5t-arm.c: Likewise.
* gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
* gcc.target/arm/ftest-armv5te-arm.c: Likewise.
* gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6-arm.c: Likewise.
* gcc.target/arm/ftest-armv6-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6k-arm.c: Likewise.
* gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
* gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6z-arm.c: Likewise.
* gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
* gcc.target/arm/ftest-armv7a-arm.c: Likewise.
* gcc.target/arm/ftest-armv7a-thumb.c: Likewise.
* gcc.target/arm/ftest-armv7em-thumb.c: Likewise.
* gcc.target/arm/ftest-armv7m-thumb.c: Likewise.
* gcc.target/arm/ftest-armv7r-arm.c: Likewise.
* gcc.target/arm/ftest-armv7r-thumb.c: Likewise.
* gcc.target/arm/ftest-armv8a-arm.c: Likewise.
* gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
2013-01-17 Martin Jambor <mjambor@suse.cz>
PR tree-optimizations/55264
......
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v4_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv4" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v4 } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 4
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#include "ftest-support.h"
int
main (void)
{
return ftest (ARCH_V4);
}
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v4t_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv4t" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v4t } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 4
int
main (void)
{
return ftest (ARCH_V4T);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v4t_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv4t" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v4t } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 4
int
main (void)
{
return ftest (ARCH_V4T);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v5t_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv5t" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v5t } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 5
int
main (void)
{
return ftest (ARCH_V5T);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v5t_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv5t" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v5t } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 5
int
main (void)
{
return ftest (ARCH_V5T);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v5te_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv5te" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v5te } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 5
int
main (void)
{
return ftest (ARCH_V5TE);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v5te_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv5te" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v5te } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 5
int
main (void)
{
return ftest (ARCH_V5TE);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v6_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v6 } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 6
int
main (void)
{
return ftest (ARCH_V6);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 4
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v6_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v6 } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 6
int
main (void)
{
return ftest (ARCH_V6);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v6k_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6k" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v6k } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 6
int
main (void)
{
return ftest (ARCH_V6K);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 15
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v6k_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6k" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v6k } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 6
int
main (void)
{
return ftest (ARCH_V6K);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v6m_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6-m" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v6m } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 6
int
main (void)
{
return ftest (ARCH_V6M);
}
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#define NEED_ARM_ARCH_PROFILE
#define VALUE_ARM_ARCH_PROFILE 'M'
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v6t2_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6t2" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v6t2 } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 6
int
main (void)
{
return ftest (ARCH_V6T2);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 4
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v6t2_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6t2" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v6t2 } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 6
int
main (void)
{
return ftest (ARCH_V6T2);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v6z_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6z" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v6z } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 6
int
main (void)
{
return ftest (ARCH_V6Z);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 4
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v6z_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6z" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v6z } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 6
int
main (void)
{
return ftest (ARCH_V6Z);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 1
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v7a_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v7a } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 7
int
main (void)
{
return ftest (ARCH_V7A);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_ARCH_PROFILE
#define VALUE_ARM_ARCH_PROFILE 'A'
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 15
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v7a_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=aramv7-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7a } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 7
int
main (void)
{
return ftest (ARCH_V7A);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_ARCH_PROFILE
#define VALUE_ARM_ARCH_PROFILE 'A'
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 15
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v7em_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7e-m" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7em } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 7
int
main (void)
{
return ftest (ARCH_V7EM);
}
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_ARCH_PROFILE
#define VALUE_ARM_ARCH_PROFILE 'M'
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 7
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v7m_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=arm7-m" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7m } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 7
int
main (void)
{
return ftest (ARCH_V7M);
}
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_ARCH_PROFILE
#define VALUE_ARM_ARCH_PROFILE 'M'
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 7
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v7r_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-r" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v7r } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 7
int
main (void)
{
return ftest (ARCH_V7R);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_ARCH_PROFILE
#define VALUE_ARM_ARCH_PROFILE 'R'
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 15
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v7r_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-r" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7r } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 7
int
main (void)
{
return ftest (ARCH_V7R);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_ARCH_PROFILE
#define VALUE_ARM_ARCH_PROFILE 'R'
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 15
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_nothumb } */
/* { dg-require-effective-target arm_arch_v8a_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv8-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v8a } */
#include "ftest-support-arm.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 8
int
main (void)
{
return ftest (ARCH_V8A);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_ARCH_PROFILE
#define VALUE_ARM_ARCH_PROFILE 'A'
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 15
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
/* { dg-do run } */
/* { dg-require-effective-target arm_eabi } */
/* { dg-require-effective-target arm_arch_v8a_multilib } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv8-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v8a } */
#include "ftest-support-thumb.h"
#define NEED_ARM_ARCH
#define VALUE_ARM_ARCH 8
int
main (void)
{
return ftest (ARCH_V8A);
}
#define NEED_ARM_ARCH_ISA_ARM
#define VALUE_ARM_ARCH_ISA_ARM 1
#define NEED_ARM_ARCH_ISA_THUMB
#define VALUE_ARM_ARCH_ISA_THUMB 2
#define NEED_ARM_ARCH_PROFILE
#define VALUE_ARM_ARCH_PROFILE 'A'
#define NEED_ARM_FEATURE_UNALIGNED
#define VALUE_ARM_FEATURE_UNALIGNED 1
#define NEED_ARM_FEATURE_LDREX
#define VALUE_ARM_FEATURE_LDREX 15
#define NEED_ARM_FEATURE_CLZ
#define VALUE_ARM_FEATURE_CLZ 1
#define NEED_ARM_FEATURE_DSP
#define VALUE_ARM_FEATURE_DSP 1
#define NEED_ARM_FEATURE_SIMD32
#define VALUE_ARM_FEATURE_SIMD32 1
#define NEED_ARM_FEATURE_QBIT
#define VALUE_ARM_FEATURE_QBIT 1
#define NEED_ARM_FEATURE_SAT
#define VALUE_ARM_FEATURE_SAT 1
#include "ftest-support.h"
#include "ftest-support.h"
/*Feature matrix layout:
__ARM_ARCH
__ARM_ARCH_ISA_ARM
__ARM_ARCH_ISA_THUMB
__ARM_ARCH_PROFILE
__ARM_FEATURE_UNALIGNED
__ARM_FEATURE_LDREX
__ARM_FEATURE_CLZ
__ARM_FEATURE_DSP
__ARM_FEATURE_SIMD32
__ARM_FEATURE_QBIT
__ARM_FEATURE_SAT
*/
int feature_matrix[ARCH_COUNT][NUM_FEATURES] =
{{4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, /* ARCH_V4. */
{4, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, /* ARCH_V4T. */
{5, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0}, /* ARCH_V5T. */
{5, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0}, /* ARCH_V5TE. */
{6, 1, 1, 0, 1, 4, 1, 1, 1, 1, 1}, /* ARCH_V6. */
{6, 1, 1, 0, 1, 15, 1, 1, 1, 1, 1}, /* ARCH_V6K. */
{6, 1, 2, 0, 1, 4, 1, 1, 1, 1, 1}, /* ARCH_V6T2. */
{6, 1, 1, 0, 1, 4, 1, 1, 1, 1, 1}, /* ARCH_V6Z. */
{6, 0, 1, 'M', 0, 0, 1, 0, 0, 0, 0}, /* ARCH_V6M. */
{7, 1, 2, 'A', 1, 15, 1, 1, 1, 1, 1}, /* ARCH_V7A. */
{7, 1, 2, 'R', 1, 15, 1, 1, 1, 1, 1}, /* ARCH_V7R. */
{7, 0, 2, 'M', 1, 7, 1, 0, 0, 1, 1}, /* ARCH_V7M. */
{7, 0, 2, 'M', 1, 7, 1, 1, 0, 1, 1}, /* ARCH_V7EM. */
{8, 1, 2, 'A', 1, 15, 1, 1, 1, 1, 1}}; /* ARCH_V8A. */
#include "ftest-support.h"
/*Feature matrix layout:
__ARM_ARCH
__ARM_ARCH_ISA_ARM
__ARM_ARCH_ISA_THUMB
__ARM_ARCH_PROFILE
__ARM_FEATURE_UNALIGNED
__ARM_FEATURE_LDREX
__ARM_FEATURE_CLZ
__ARM_FEATURE_DSP
__ARM_FEATURE_SIMD32
__ARM_FEATURE_QBIT
__ARM_FEATURE_SAT
*/
int feature_matrix[ARCH_COUNT][NUM_FEATURES] =
{{4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, /* ARCH_V4. */
{4, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, /* ARCH_V4T. */
{5, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, /* ARCH_V5T. */
{5, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}, /* ARCH_V5TE. */
{6, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0}, /* ARCH_V6. */
{6, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0}, /* ARCH_V6K. */
{6, 1, 2, 0, 1, 0, 1, 1, 1, 1, 1}, /* ARCH_V6T2. */
{6, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0}, /* ARCH_V6Z. */
{6, 0, 1, 'M', 0, 0, 0, 0, 0, 0, 0}, /* ARCH_V6M. */
{7, 1, 2, 'A', 1, 15, 1, 1, 1, 1, 1}, /* ARCH_V7A. */
{7, 1, 2, 'R', 1, 15, 1, 1, 1, 1, 1}, /* ARCH_V7R. */
{7, 0, 2, 'M', 1, 7, 1, 0, 0, 1, 1}, /* ARCH_V7M. */
{7, 0, 2, 'M', 1, 7, 1, 1, 1, 1, 1}, /* ARCH_V7EM. */
{8, 1, 2, 'A', 1, 15, 1, 1, 1, 1, 1}}; /* ARCH_V8A. */
#if 0
#define INTERNAL_DEBUG 1
#endif
/* For each of several ARM architecture features, check that relevant
macros are defined or not, and that they have the expected values. */
#ifdef INTERNAL_DEBUG
#include <stdio.h>
#ifdef NEED_ARM_ARCH
# ifdef __ARM_ARCH
# if __ARM_ARCH != VALUE_ARM_ARCH
# error __ARM_ARCH has unexpected value
# endif
# else
# error __ARM_ARCH is not defined but should be
# endif
#else
# ifdef __ARM_ARCH
# error __ARM_ARCH is defined but should not be
# endif
#endif
extern void abort (void);
enum architecture {
ARCH_V4 = 0,
ARCH_V4T,
ARCH_V5T,
ARCH_V5TE,
ARCH_V6,
ARCH_V6K,
ARCH_V6T2,
ARCH_V6Z,
ARCH_V6M,
ARCH_V7A,
ARCH_V7R,
ARCH_V7M,
ARCH_V7EM,
ARCH_V8A,
ARCH_COUNT
};
#define NUM_FEATURES 11
int feature_matrix[ARCH_COUNT][NUM_FEATURES];
int
ftest (int arch)
{
int features[NUM_FEATURES] = {0};
int y;
for (y = 0; y < NUM_FEATURES; ++y)
features[y] = 0;
#ifdef __ARM_ARCH
features[0] = __ARM_ARCH;
#endif
#ifdef __ARM_ARCH_ISA_ARM
features[1] = __ARM_ARCH_ISA_ARM;
#endif
#ifdef __ARM_ARCH_ISA_THUMB
features[2] = __ARM_ARCH_ISA_THUMB;
#endif
#ifdef __ARM_ARCH_PROFILE
features[3] = __ARM_ARCH_PROFILE;
#ifdef NEED_ARM_ARCH_ISA_ARM
# ifdef __ARM_ARCH_ISA_ARM
# if __ARM_ARCH_ISA_ARM != VALUE_ARM_ARCH_ISA_ARM
# error __ARM_ARCH_ISA_ARM has unexpected value
# endif
# else
# error __ARM_ARCH_ISA_ARM is not defined but should be
# endif
#else
# ifdef __ARM_ARCH_ISA_ARM
# error __ARM_ARCH_ISA_ARM is defined but should not be
# endif
#endif
#ifdef __ARM_FEATURE_UNALIGNED
features[4] = __ARM_FEATURE_UNALIGNED;
#ifdef NEED_ARM_ARCH_ISA_THUMB
# ifdef __ARM_ARCH_ISA_THUMB
# if __ARM_ARCH_ISA_THUMB != VALUE_ARM_ARCH_ISA_THUMB
# error __ARM_ARCH_ISA_THUMB has unexpected value
# endif
# else
# error __ARM_ARCH_ISA_THUMB is not defined but should be
# endif
#else
# ifdef __ARM_ARCH_ISA_THUMB
# error __ARM_ARCH_ISA_THUMB is defined but should not be
# endif
#endif
#ifdef __ARM_FEATURE_LDREX
features[5] = __ARM_FEATURE_LDREX;
#ifdef NEED_ARM_ARCH_PROFILE
# ifdef __ARM_ARCH_PROFILE
# if __ARM_ARCH_PROFILE != VALUE_ARM_ARCH_PROFILE
# error __ARM_ARCH_PROFILE has unexpected value
# endif
# else
# error __ARM_ARCH_PROFILE is not defined but should be
# endif
#else
# ifdef __ARM_ARCH_PROFILE
# error __ARM_ARCH_PROFILE is defined but should not be
# endif
#endif
#ifdef __ARM_FEATURE_CLZ
features[6] = __ARM_FEATURE_CLZ;
#ifdef NEED_ARM_FEATURE_UNALIGNED
# ifdef __ARM_FEATURE_UNALIGNED
# if __ARM_FEATURE_UNALIGNED != VALUE_ARM_FEATURE_UNALIGNED
# error __ARM_FEATURE_UNALIGNED has unexpected value
# endif
# else
# error __ARM_FEATURE_UNALIGNED is not defined but should be
# endif
#else
# ifdef __ARM_FEATURE_UNALIGNED
# error __ARM_FEATURE_UNALIGNED is defined but should not be
# endif
#endif
#ifdef __ARM_FEATURE_DSP
features[7] = __ARM_FEATURE_DSP;
#ifdef NEED_ARM_FEATURE_LDREX
# ifdef __ARM_FEATURE_LDREX
# if __ARM_FEATURE_LDREX != VALUE_ARM_FEATURE_LDREX
# error __ARM_FEATURE_LDREX has unexpected value
# endif
# else
# error __ARM_FEATURE_LDREX is not defined but should be
# endif
#else
# ifdef __ARM_FEATURE_LDREX
# error __ARM_FEATURE_LDREX is defined but should not be
# endif
#endif
#ifdef __ARM_FEATURE_SIMD32
features[8] = __ARM_FEATURE_SIMD32;
#ifdef NEED_ARM_FEATURE_CLZ
# ifdef __ARM_FEATURE_CLZ
# if __ARM_FEATURE_CLZ != VALUE_ARM_FEATURE_CLZ
# error __ARM_FEATURE_CLZ has unexpected value
# endif
# else
# error __ARM_FEATURE_CLZ is not defined but should be
# endif
#else
# ifdef __ARM_FEATURE_CLZ
# error __ARM_FEATURE_CLZ is defined but should not be
# endif
#endif
#ifdef __ARM_FEATURE_QBIT
features[9] = __ARM_FEATURE_QBIT;
#ifdef NEED_ARM_FEATURE_DSP
# ifdef __ARM_FEATURE_DSP
# if __ARM_FEATURE_DSP != VALUE_ARM_FEATURE_DSP
# error __ARM_FEATURE_DSP has unexpected value
# endif
# else
# error __ARM_FEATURE_DSP is not defined but should be
# endif
#else
# ifdef __ARM_FEATURE_DSP
# error __ARM_FEATURE_DSP is defined but should not be
# endif
#endif
#ifdef __ARM_FEATURE_SAT
features[10] = __ARM_FEATURE_SAT;
#ifdef NEED_ARM_FEATURE_SIMD32
# ifdef __ARM_FEATURE_SIMD32
# if __ARM_FEATURE_SIMD32 != VALUE_ARM_FEATURE_SIMD32
# error __ARM_FEATURE_SIMD32 has unexpected value
# endif
# else
# error __ARM_FEATURE_SIMD32 is not defined but should be
# endif
#else
# ifdef __ARM_FEATURE_SIMD32
# error __ARM_FEATURE_SIMD32 is defined but should not be
# endif
#endif
for (y = 0; y < NUM_FEATURES; ++y)
if (feature_matrix[arch][y] != features[y])
{
#ifdef INTERNAL_DEBUG
printf ("%d, %d, %d, %d\n", arch, y, feature_matrix[arch][y], features[y]);
#ifdef NEED_ARM_FEATURE_QBIT
# ifdef __ARM_FEATURE_QBIT
# if __ARM_FEATURE_QBIT != VALUE_ARM_FEATURE_QBIT
# error __ARM_FEATURE_QBIT has unexpected value
# endif
# else
# error __ARM_FEATURE_QBIT is not defined but should be
# endif
#else
# ifdef __ARM_FEATURE_QBIT
# error __ARM_FEATURE_QBIT is defined but should not be
# endif
#endif
abort ();
}
return 0;
}
#ifdef NEED_ARM_FEATURE_SAT
# ifdef __ARM_FEATURE_SAT
# if __ARM_FEATURE_SAT != VALUE_ARM_FEATURE_SAT
# error __ARM_FEATURE_SAT has unexpected value
# endif
# else
# error __ARM_FEATURE_SAT is not defined but should be
# endif
#else
# ifdef __ARM_FEATURE_SAT
# error __ARM_FEATURE_SAT is defined but should not be
# endif
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment