Making good portable function-body scan tests can be challenging.
In addition to assembler syntax and ABI differences, one also needs to
account for platform constraints. In some cases, we hope to automate
common comparisons - but there are limits to what is feasible.
64Bit Darwin does not support non-PIC code on any platform and so some
of the x86 function b0dy scan tests which are expecting the ELF default
produce code which is too different to be realistically handled with
conditional matches.
We are just going to skip tests in this category.
gcc/testsuite/ChangeLog:
* gcc.target/i386/builtin-memmove-12.c: Skip for Darwin.
* gcc.target/i386/memcpy-pr120683-2.c: Likewise.
* gcc.target/i386/memcpy-pr120683-3.c: Likewise.
* gcc.target/i386/memcpy-pr120683-4.c: Likewise.
* gcc.target/i386/memcpy-pr120683-5.c: Likewise.
* gcc.target/i386/memcpy-pr120683-6.c: Likewise.
* gcc.target/i386/memcpy-pr120683-7.c: Likewise.
* gcc.target/i386/memset-pr120683-13.c: Likewise.
* gcc.target/i386/memset-pr120683-17.c: Likewise.
* gcc.target/i386/memset-pr120683-18.c: Likewise.
* gcc.target/i386/memset-pr120683-19.c: Likewise.
* gcc.target/i386/memset-pr120683-22.c: Likewise.
* gcc.target/i386/memset-pr120683-23.c: Likewise.
* gcc.target/i386/memset-pr70308-1b.c: Likewise.
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -mno-avx -msse2 -mtune=generic" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64 -mmemcpy-strategy=vector_loop:2048:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64 -mmemcpy-strategy=vector_loop:2048:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64-v3 -mmemcpy-strategy=vector_loop:2048:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64-v3 -mmemcpy-strategy=vector_loop:2048:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64-v4 -mmemcpy-strategy=vector_loop:2048:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64-v4 -mmemcpy-strategy=vector_loop:2048:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64 -mmemset-strategy=vector_loop:256:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64 -mmemset-strategy=vector_loop:256:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64 -mmemset-strategy=vector_loop:256:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64 -mmemset-strategy=vector_loop:256:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile { target { ! ia32 } } } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64 -mmemset-strategy=rep_8byte:8192:align,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64 -minline-all-stringops -mmemset-strategy=vector_loop:256:noalign,libcall:-1:noalign -fno-pie" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-do compile } */
+/* { dg-skip-if "64b Darwin does not support non-PIC" *-*-darwin* } */
/* { dg-options "-O2 -march=x86-64 -fomit-frame-pointer -DUSE_SCANF -fno-stack-protector" } */
/* { dg-add-options check_function_bodies } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */