aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2006-09-13 01:07:27 +0000
committerEric Christopher <echristo@gcc.gnu.org>2006-09-13 01:07:27 +0000
commit1cc8c7b29286c9b6e26ed7475afcb2d31df84e4b (patch)
tree5ac01b5a5d6f8af13f3f80dddfe752c734d1bcdf /gcc
parentc663e301034033aa098dd63b3d141c8edb51c223 (diff)
downloadgcc-1cc8c7b29286c9b6e26ed7475afcb2d31df84e4b.zip
gcc-1cc8c7b29286c9b6e26ed7475afcb2d31df84e4b.tar.gz
gcc-1cc8c7b29286c9b6e26ed7475afcb2d31df84e4b.tar.bz2
asm-support-darwin.s: New.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp12
-rw-r--r--gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s75
3 files changed, 89 insertions, 3 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6169fdd..9930647 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp b/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp
index 759bc94..abf9021 100644
--- a/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp
+++ b/gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp
@@ -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
index 0000000..a02c96c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s
@@ -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