]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
asm-support-darwin.s: New.
authorEric Christopher <echristo@apple.com>
Wed, 13 Sep 2006 01:07:27 +0000 (01:07 +0000)
committerEric Christopher <echristo@gcc.gnu.org>
Wed, 13 Sep 2006 01:07:27 +0000 (01:07 +0000)
2006-09-12  Eric Christopher  <echristo@apple.com>

        * gcc.target/x86_64/abi/asm-support-darwin.s: New.
        * gcc.target/x86_64/abi/abi-x86_64.exp: Use.

From-SVN: r116916

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

index 6169fddc6f16b34b1655512df133a728226226b1..9930647a68446edf246b442d3b4c7f35c6ba488b 100644 (file)
@@ -1,3 +1,8 @@
+2006-09-12  Eric Christopher  <echristo@apple.com>
+
+       * gcc.target/x86_64/abi/asm-support-darwin.s: New.
+       * gcc.target/x86_64/abi/abi-x86_64.exp: Use.
+
 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
 
        PR c/28768
index 759bc94a3db680436e7786d68edc712e91097795..abf90218bf4102def3db688c99bc15488eac2957 100644 (file)
@@ -30,8 +30,14 @@ set additional_flags "-W -Wall"
 
 foreach src [lsort [find $srcdir/$subdir test_*.c]] {
     if {[runtest_file_p $runtests $src]} {
-       c-torture-execute [list $src \
-                               $srcdir/$subdir/asm-support.s] \
-                               $additional_flags
+       if { ([istarget *-*-darwin*]) } then {
+           c-torture-execute [list $src \
+                                   $srcdir/$subdir/asm-support-darwin.s] \
+                                   $additional_flags
+       } else {
+           c-torture-execute [list $src \
+                                   $srcdir/$subdir/asm-support.s] \
+                                   $additional_flags
+       }
     }
 }
diff --git a/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s b/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s
new file mode 100644 (file)
index 0000000..a02c96c
--- /dev/null
@@ -0,0 +1,75 @@
+       .file   "snapshot.S"
+       .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)
+       movdqu  %xmm0, _xmm_regs+0(%rip)
+       movdqu  %xmm1, _xmm_regs+16(%rip)
+       movdqu  %xmm2, _xmm_regs+16*2(%rip)
+       movdqu  %xmm3, _xmm_regs+16*3(%rip)
+       movdqu  %xmm4, _xmm_regs+16*4(%rip)
+       movdqu  %xmm5, _xmm_regs+16*5(%rip)
+       movdqu  %xmm6, _xmm_regs+16*6(%rip)
+       movdqu  %xmm7, _xmm_regs+16*7(%rip)
+       movdqu  %xmm8, _xmm_regs+16*8(%rip)
+       movdqu  %xmm9, _xmm_regs+16*9(%rip)
+       movdqu  %xmm10, _xmm_regs+16*10(%rip)
+       movdqu  %xmm11, _xmm_regs+16*11(%rip)
+       movdqu  %xmm12, _xmm_regs+16*12(%rip)
+       movdqu  %xmm13, _xmm_regs+16*13(%rip)
+       movdqu  %xmm14, _xmm_regs+16*14(%rip)
+       movdqu  %xmm15, _xmm_regs+16*15(%rip)
+       jmp     *_callthis(%rip)
+.LFE3:
+       .p2align 4,,15
+.globl _snapshot_ret
+_snapshot_ret:
+       movq    %rdi, _rdi(%rip)
+       call    *_callthis(%rip)
+       movq    %rax, _rax(%rip)
+       movq    %rdx, _rdx(%rip)
+       movdqu  %xmm0, _xmm_regs+0(%rip)
+       movdqu  %xmm1, _xmm_regs+16(%rip)
+       fstpt   _x87_regs(%rip)
+       fstpt   _x87_regs+16(%rip)
+       fldt    _x87_regs+16(%rip)
+       fldt    _x87_regs(%rip)
+       ret
+
+       .comm   _callthis,8
+       .comm   _rax,8
+       .comm   _rbx,8
+       .comm   _rcx,8
+       .comm   _rdx,8
+       .comm   _rsi,8
+       .comm   _rdi,8
+       .comm   _rsp,8
+       .comm   _rbp,8
+       .comm   _r8,8
+       .comm   _r9,8
+       .comm   _r10,8
+       .comm   _r11,8
+       .comm   _r12,8
+       .comm   _r13,8
+       .comm   _r14,8
+       .comm   _r15,8
+       .comm   _xmm_regs,256
+       .comm   _x87_regs,128
+       .comm   _volatile_var,8