+2019-11-05 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/attr-crypto.c: Skip if -mpure-code is used.
+ * gcc.target/arm/attr-neon-fp16.c: Likewise.
+ * gcc.target/arm/combine-cmp-shift.c: Likewise.
+ * gcc.target/arm/data-rel-1.c: Likewise.
+ * gcc.target/arm/data-rel-2.c: Likewise.
+ * gcc.target/arm/data-rel-3.c: Likewise.
+ * gcc.target/arm/ftest-armv7a-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv7a-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv7r-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv7r-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv7ve-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv7ve-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv8a-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
+ * gcc.target/arm/lceil-vcvt_1.c: Likewise.
+ * gcc.target/arm/lfloor-vcvt_1.c: Likewise.
+ * gcc.target/arm/lround-vcvt_1.c: Likewise.
+ * gcc.target/arm/memset-inline-10.c: Likewise.
+ * gcc.target/arm/mod_2.c: Likewise.
+ * gcc.target/arm/mod_256.c: Likewise.
+ * gcc.target/arm/pr40657-1.c: Likewise.
+ * gcc.target/arm/pr44788.c: Likewise.
+ * gcc.target/arm/pr50305.c: Likewise.
+ * gcc.target/arm/pr51835.c: Likewise.
+ * gcc.target/arm/pr51915.c: Likewise.
+ * gcc.target/arm/pr52006.c: Likewise.
+ * gcc.target/arm/pr53187.c: Likewise.
+ * gcc.target/arm/pr58784.c: Likewise.
+ * gcc.target/arm/pr59575.c: Likewise.
+ * gcc.target/arm/pr59923.c: Likewise.
+ * gcc.target/arm/pr60650-2.c: Likewise.
+ * gcc.target/arm/pr60657.c: Likewise.
+ * gcc.target/arm/pr60663.c: Likewise.
+ * gcc.target/arm/pr67439_1.c: Likewise.
+ * gcc.target/arm/pr68620.c: Likewise.
+ * gcc.target/arm/pr7676.c: Likewise.
+ * gcc.target/arm/pr79239.c: Likewise.
+ * gcc.target/arm/pr81863.c: Likewise.
+ * gcc.target/arm/pragma_attribute.c: Likewise.
+ * gcc.target/arm/pragma_cpp_fma.c: Likewise.
+ * gcc.target/arm/require-pic-register-loc.c: Likewise.
+ * gcc.target/arm/thumb-ltu.c: Likewise.
+ * gcc.target/arm/thumb1-pic-high-reg.c: Likewise.
+ * gcc.target/arm/thumb1-pic-single-base.c: Likewise.
+ * gcc.target/arm/tlscall.c: Likewise.
+ * gcc.target/arm/unsigned-float.c: Likewise.
+ * gcc.target/arm/vrinta-ce.c: Likewise.
+
2019-11-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/92324
/* { dg-do compile } */
/* Make sure we can force fpu=vfp before switching using the
pragma. */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-options "-O2 -march=armv8-a" } */
/* { dg-add-options arm_fp } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only and without Neon" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-options "-mfp16-format=ieee" } */
/* { dg-add-options arm_fp } */
/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "-march=armv7-a" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -mcpu=cortex-a8" } */
/* { dg-final { scan-assembler "cmp\tr\[0-9\]*, r\[0-9\]*, asr #31" } } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-fPIC -mno-pic-data-is-text-relative" } */
/* { dg-final { scan-assembler-not "j-\\(.LPIC" } } */
/* { dg-final { scan-assembler-not "_GLOBAL_OFFSET_TABLE_-\\(.LPIC" } } */
/* { dg-skip-if "Not supported in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-fPIC -mno-pic-data-is-text-relative -mno-single-pic-base" } */
/* { dg-final { scan-assembler-not "j-\\(.LPIC" } } */
/* { dg-final { scan-assembler "_GLOBAL_OFFSET_TABLE_-\\(.LPIC" } } */
/* { dg-skip-if "Not supported in FDPIC" { arm*-*-uclinuxfdpiceabi } "*" "" } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-fPIC -mpic-data-is-text-relative" } */
/* { dg-final { scan-assembler "j-\\(.LPIC" } } */
/* { dg-final { scan-assembler-not "_GLOBAL_OFFSET_TABLE_-\\(.LPIC" } } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v7a } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7a } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-r" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v7r } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-r" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7r } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7ve" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v7ve } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7ve" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v7ve } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv8-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-mthumb" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-marm" } */
/* { dg-add-options arm_arch_v8a } */
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv8-a" } } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-mthumb" } */
/* { dg-add-options arm_arch_v8a } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_v8_vfp_ok } */
/* { dg-options "-O2 -march=armv8-a" } */
/* { dg-add-options arm_v8_vfp } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_v8_vfp_ok } */
/* { dg-options "-O2 -march=armv8-a" } */
/* { dg-add-options arm_v8_vfp } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_v8_vfp_ok } */
/* { dg-options "-O2 -march=armv8-a -ffast-math" } */
/* { dg-add-options arm_v8_vfp } */
/* { dg-options "-march=armv7-a -mfloat-abi=hard -mfpu=neon -O2" } */
/* { dg-skip-if "need SIMD instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
/* { dg-skip-if "need SIMD instructions" { *-*-* } { "-mfpu=vfp*" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
#define BUF 100
long a[BUF];
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm32 } */
/* { dg-options "-O2 -mcpu=cortex-a57 -save-temps" } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm32 } */
/* { dg-options "-O2 -mcpu=cortex-a57 -save-temps" } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-Os -march=armv5te -mthumb" } */
/* { dg-require-effective-target arm_thumb1_ok } */
/* { dg-final { scan-assembler "pop.*r1.*pc" } } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb2_ok } */
/* { dg-options "-Os -fno-strict-aliasing -fPIC -mthumb -march=armv7-a -mfpu=vfp3 -mfloat-abi=softfp" } */
/* { dg-do compile } */
/* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "-march=armv7-a" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -fno-omit-frame-pointer -marm -march=armv7-a -mfpu=vfp3" } */
struct event {
/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
/* { dg-skip-if "avoid conflicting -mfpu" { *-*-* } { "-mfpu=*" } { "-mfpu=fpv4-sp-d16" "-mfpu=vfpv3xd" "-mfpu=vfpv3xd-fp16" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -march=armv7-a -mfloat-abi=hard -mfpu=fpv4-sp-d16" } */
int func1 (double d)
/* { dg-do compile } */
/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -O2" } */
struct S { int s1; void *s2; };
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicts with multilib flags" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -O2 -fPIC" } */
unsigned long a;
/* { dg-do compile } */
/* { dg-skip-if "no support for hard-float VFP ABI" { arm_thumb1 } { "-march=*" } { "" } } */
/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -O2" } */
void bar (int);
/* { dg-skip-if "incompatible options" { arm_thumb1 } } */
/* { dg-options "-march=armv7-a -mfloat-abi=hard -mfpu=neon -marm -O2" } */
/* { dg-skip-if "need hardfp ABI" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
typedef struct __attribute__ ((__packed__))
/* PR target/59575 */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-Os -g -march=armv7-a" } */
void foo (int *);
/* PR target/59923 */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb2_ok } */
/* { dg-options "-O2 -mcpu=cortex-a15 -fno-strict-aliasing -mthumb -g" } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -fno-omit-frame-pointer -march=armv7-a" } */
int a, h, j;
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -march=armv7-a" } */
/* PR rtl-optimization/60663 */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -march=armv7-a" } */
int
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb2_ok } */
/* { dg-options "-O1 -mfp16-format=ieee -march=armv7-a -mfpu=neon -mthumb -mrestrict-it" } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-options "-mfp16-format=ieee" } */
/* { dg-add-options arm_fp } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O1 -march=armv8-a -mfloat-abi=soft -mthumb" } */
/* { dg-skip-if "Do not combine float-abi= hard | soft | softfp" {*-*-*} {"-mfloat-abi=hard" -mfloat-abi=softfp } {""} } */
int a;
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-add-options arm_fp } */
/* testsuite/gcc.target/arm/pr48183.c */
/* { dg-do compile } */
/* { dg-skip-if "-mslow-flash-data and -mword-relocations incompatible" { *-*-* } { "-mslow-flash-data" } } */
+/* { dg-skip-if "-mpure-code and -mword-relocations incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-O2 -mword-relocations -march=armv7-a -marm" } */
/* { dg-final { scan-assembler-not "\[\\t \]+movw" } } */
/* Test for #prama target macros. */
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
+/* { dg-require-effective-target arm_arm_ok } */
#pragma GCC target ("thumb")
/* Test that FMA macro is correctly undef. */
/* { dg-do compile } */
/* { dg-skip-if "Default no fma" { *-*-* } { "-mfpu=*vfpv4*" "-mfpu=*armv8"} } */
+/* { dg-skip-if "-mpure-code supports M-profile without Neon only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-add-options arm_fp } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-g -fPIC" } */
void *v;
void a (void *x) { }
void b (void) { }
- /* line 7. */
-int /* line 8. */
-main (int argc) /* line 9. */
-{ /* line 10. */
- if (argc == 12345) /* line 11. */
+ /* line 8. */
+int /* line 9. */
+main (int argc) /* line 10. */
+{ /* line 11. */
+ if (argc == 12345) /* line 12. */
{
a (v);
return 1;
return 0;
}
-/* { dg-final { scan-assembler-not "\.loc 1 7 \[0-9\]\+" } } */
/* { dg-final { scan-assembler-not "\.loc 1 8 \[0-9\]\+" } } */
/* { dg-final { scan-assembler-not "\.loc 1 9 \[0-9\]\+" } } */
+/* { dg-final { scan-assembler-not "\.loc 1 10 \[0-9\]\+" } } */
/* The loc at the start of the prologue. */
-/* { dg-final { scan-assembler-times "\.loc 1 10 \[0-9\]\+" 1 } } */
+/* { dg-final { scan-assembler-times "\.loc 1 11 \[0-9\]\+" 1 } } */
/* The loc at the end of the prologue, with the first user line. */
-/* { dg-final { scan-assembler-times "\.loc 1 11 \[0-9\]\+" 1 } } */
+/* { dg-final { scan-assembler-times "\.loc 1 12 \[0-9\]\+" 1 } } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb1_ok } */
/* { dg-options "-mcpu=arm1136jf-s -mthumb -O2" } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code and -fpic incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb1_ok } */
/* { dg-options "-mthumb -fpic -mpic-register=9" } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code and -fpic incompatible" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_thumb1_ok } */
/* { dg-options "-mthumb -fpic -msingle-pic-base" } */
/* { dg-do assemble } */
/* { dg-options "-O2 -fPIC -mtls-dialect=gnu2" } */
/* { dg-skip-if "FDPIC does not support gnu2 TLS dialect" { arm*-*-uclinuxfdpiceabi } "*" "" } */
+/* { dg-skip-if "-mpure-code and -fPIC incompatible" { *-*-* } { "-mpure-code" } } */
typedef struct _IO_FILE FILE;
/* { dg-do compile } */
/* { dg-require-effective-target arm_fp_ok } */
/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-options "-march=armv7-a -O1" } */
/* { dg-add-options arm_fp } */
/* { dg-do compile } */
+/* { dg-skip-if "-mpure-code supports M-profile only" { *-*-* } { "-mpure-code" } } */
/* { dg-require-effective-target arm_v8_vfp_ok } */
/* { dg-options "-O2 -marm -march=armv8-a" } */
/* { dg-add-options arm_v8_vfp } */