]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[Darwin, X86, testsuite] Provide an asm shim for AVX512F tests.
authorIain Sandoe <iain@sandoe.co.uk>
Thu, 5 Sep 2019 19:19:46 +0000 (19:19 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Thu, 5 Sep 2019 19:19:46 +0000 (19:19 +0000)
Without this the tests fail to build.

2019-09-05  Iain Sandoe  <iain@sandoe.co.uk>

Backport from mainline.
2019-05-10  Iain Sandoe  <iain@sandoe.co.uk>

* gcc.target/x86_64/abi/avx512f/abi-avx512f.exp: Darwin is
now tested.
* gcc.target/x86_64/abi/avx512f/asm-support-darwin.s: New.

From-SVN: r275430

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/x86_64/abi/avx512f/abi-avx512f.exp
gcc/testsuite/gcc.target/x86_64/abi/avx512f/asm-support-darwin.s [new file with mode: 0644]

index b88d7a6e6b59971682de5437a4d8af6a6e0109b1..a93dbf908b5a072cfbd1095abf404fc18ceff3e4 100644 (file)
@@ -1,3 +1,12 @@
+2019-09-05  Iain Sandoe  <iain@sandoe.co.uk>
+
+       Backport from mainline.
+       2019-05-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.target/x86_64/abi/avx512f/abi-avx512f.exp: Darwin is
+       now tested.
+       * gcc.target/x86_64/abi/avx512f/asm-support-darwin.s: New.
+
 2019-09-05  Iain Sandoe  <iain@sandoe.co.uk>
 
        Backport from mainline.
index 18e3fde01680c2d7fc0e646d3b50fb4d5eed612b..1af72b1a6282a32848217fab889abfa2b0ca1442 100644 (file)
@@ -37,7 +37,6 @@ set additional_flags "-W -Wall -mavx512f"
 foreach src [lsort [glob -nocomplain $srcdir/$subdir/test_*.c]] {
     if {[runtest_file_p $runtests $src]} {
        if { ([istarget *-*-darwin*]) } then {
-           # FIXME: Darwin isn't tested.
            c-torture-execute [list $src \
                                    $srcdir/$subdir/asm-support-darwin.s] \
                                    $additional_flags
diff --git a/gcc/testsuite/gcc.target/x86_64/abi/avx512f/asm-support-darwin.s b/gcc/testsuite/gcc.target/x86_64/abi/avx512f/asm-support-darwin.s
new file mode 100644 (file)
index 0000000..5364726
--- /dev/null
@@ -0,0 +1,93 @@
+       .text
+       .p2align 4,,15
+       .globl _snapshot
+_snapshot:
+LFB3:
+       movq    %rax, _rax(%rip)
+       movq    %rbx, _rbx(%rip)
+       movq    %rcx, _rcx(%rip)
+       movq    %rdx, _rdx(%rip)
+       movq    %rdi, _rdi(%rip)
+       movq    %rsi, _rsi(%rip)
+       movq    %rbp, _rbp(%rip)
+       movq    %rsp, _rsp(%rip)
+       movq    %r8, _r8(%rip)
+       movq    %r9, _r9(%rip)
+       movq    %r10, _r10(%rip)
+       movq    %r11, _r11(%rip)
+       movq    %r12, _r12(%rip)
+       movq    %r13, _r13(%rip)
+       movq    %r14, _r14(%rip)
+       movq    %r15, _r15(%rip)
+       vmovdqu32 %zmm0, _zmm_regs+0(%rip)
+       vmovdqu32 %zmm1, _zmm_regs+64(%rip)
+       vmovdqu32 %zmm2, _zmm_regs+128(%rip)
+       vmovdqu32 %zmm3, _zmm_regs+192(%rip)
+       vmovdqu32 %zmm4, _zmm_regs+256(%rip)
+       vmovdqu32 %zmm5, _zmm_regs+320(%rip)
+       vmovdqu32 %zmm6, _zmm_regs+384(%rip)
+       vmovdqu32 %zmm7, _zmm_regs+448(%rip)
+       vmovdqu32 %zmm8, _zmm_regs+512(%rip)
+       vmovdqu32 %zmm9, _zmm_regs+576(%rip)
+       vmovdqu32 %zmm10, _zmm_regs+640(%rip)
+       vmovdqu32 %zmm11, _zmm_regs+704(%rip)
+       vmovdqu32 %zmm12, _zmm_regs+768(%rip)
+       vmovdqu32 %zmm13, _zmm_regs+832(%rip)
+       vmovdqu32 %zmm14, _zmm_regs+896(%rip)
+       vmovdqu32 %zmm15, _zmm_regs+960(%rip)
+       vmovdqu32 %zmm16, _zmm_regs+1024(%rip)
+       vmovdqu32 %zmm17, _zmm_regs+1088(%rip)
+       vmovdqu32 %zmm18, _zmm_regs+1152(%rip)
+       vmovdqu32 %zmm19, _zmm_regs+1216(%rip)
+       vmovdqu32 %zmm20, _zmm_regs+1280(%rip)
+       vmovdqu32 %zmm21, _zmm_regs+1344(%rip)
+       vmovdqu32 %zmm22, _zmm_regs+1408(%rip)
+       vmovdqu32 %zmm23, _zmm_regs+1472(%rip)
+       vmovdqu32 %zmm24, _zmm_regs+1536(%rip)
+       vmovdqu32 %zmm25, _zmm_regs+1600(%rip)
+       vmovdqu32 %zmm26, _zmm_regs+1664(%rip)
+       vmovdqu32 %zmm27, _zmm_regs+1728(%rip)
+       vmovdqu32 %zmm28, _zmm_regs+1792(%rip)
+       vmovdqu32 %zmm29, _zmm_regs+1856(%rip)
+       vmovdqu32 %zmm30, _zmm_regs+1920(%rip)
+       vmovdqu32 %zmm31, _zmm_regs+1984(%rip)
+       jmp     *_callthis(%rip)
+LFE3:
+
+       .p2align 4,,15
+       .globl _snapshot_ret
+_snapshot_ret:
+       movq    %rdi, _rdi(%rip)
+       subq    $8, %rsp
+       call    *_callthis(%rip)
+       addq    $8, %rsp
+       movq    %rax, _rax(%rip)
+       movq    %rdx, _rdx(%rip)
+       vmovdqu32       %zmm0, _zmm_regs+0(%rip)
+       vmovdqu32       %zmm1, _zmm_regs+64(%rip)
+       fstpt   _x87_regs(%rip)
+       fstpt   _x87_regs+16(%rip)
+       fldt    _x87_regs+16(%rip)
+       fldt    _x87_regs(%rip)
+       ret
+
+       .comm   _callthis,8,8
+       .comm   _rax,8,8
+       .comm   _rbx,8,8
+       .comm   _rcx,8,8
+       .comm   _rdx,8,8
+       .comm   _rsi,8,8
+       .comm   _rdi,8,8
+       .comm   _rsp,8,8
+       .comm   _rbp,8,8
+       .comm   _r8,8,8
+       .comm   _r9,8,8
+       .comm   _r10,8,8
+       .comm   _r11,8,8
+       .comm   _r12,8,8
+       .comm   _r13,8,8
+       .comm   _r14,8,8
+       .comm   _r15,8,8
+       .comm   _zmm_regs,2048,64
+       .comm   _x87_regs,128,32
+       .comm   _volatile_var,8,8