Home | History | Annotate | Line # | Download | only in gdb.arch
      1  1.11  christos /* Copyright 2012-2024 Free Software Foundation, Inc.
      2   1.1  christos 
      3   1.1  christos    This file is part of GDB.
      4   1.1  christos 
      5   1.1  christos    This program is free software; you can redistribute it and/or modify
      6   1.1  christos    it under the terms of the GNU General Public License as published by
      7   1.1  christos    the Free Software Foundation; either version 3 of the License, or
      8   1.1  christos    (at your option) any later version.
      9   1.1  christos 
     10   1.1  christos    This program is distributed in the hope that it will be useful,
     11   1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12   1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13   1.1  christos    GNU General Public License for more details.
     14   1.1  christos 
     15   1.1  christos    You should have received a copy of the GNU General Public License
     16   1.1  christos    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     17   1.1  christos 
     18   1.1  christos /*
     19   1.1  christos    gcc -S -o gdb.arch/i386-sse-stack-align.{S,c} -Wall -m32 -msse
     20   1.1  christos  */
     21   1.1  christos 
     22   1.1  christos 	.file	"i386-sse-stack-align.c"
     23   1.1  christos 	.text
     24   1.1  christos 	.type	foo, @function
     25   1.1  christos foo:
     26   1.1  christos .LFB0:
     27   1.1  christos 	.cfi_startproc
     28   1.1  christos 	pushl	%ebp
     29   1.1  christos 	.cfi_def_cfa_offset 8
     30   1.1  christos 	.cfi_offset 5, -8
     31   1.1  christos 	movl	%esp, %ebp
     32   1.1  christos 	.cfi_def_cfa_register 5
     33   1.1  christos 	subl	$40, %esp
     34   1.1  christos 	movaps	%xmm0, -24(%ebp)
     35   1.1  christos 	movaps	%xmm1, -40(%ebp)
     36   1.1  christos 	movaps	-24(%ebp), %xmm0
     37   1.1  christos 	movaps	-40(%ebp), %xmm1
     38   1.1  christos 	mulps	%xmm1, %xmm0
     39   1.1  christos 	addps	-24(%ebp), %xmm0
     40   1.1  christos 	leave
     41   1.1  christos 	.cfi_restore 5
     42   1.1  christos 	.cfi_def_cfa 4, 4
     43   1.1  christos 	ret
     44   1.1  christos 	.cfi_endproc
     45   1.1  christos .LFE0:
     46   1.1  christos 	.size	foo, .-foo
     47   1.1  christos 	.type	f, @function
     48   1.1  christos f:
     49   1.1  christos .LFB1:
     50   1.1  christos 	.cfi_startproc
     51   1.1  christos 	pushl	%ebp
     52   1.1  christos 	.cfi_def_cfa_offset 8
     53   1.1  christos 	.cfi_offset 5, -8
     54   1.1  christos 	movl	%esp, %ebp
     55   1.1  christos 	.cfi_def_cfa_register 5
     56   1.1  christos 	subl	$40, %esp
     57   1.1  christos 	movaps	.LC0, %xmm0
     58   1.1  christos 	movaps	%xmm0, -24(%ebp)
     59   1.1  christos 	movaps	-24(%ebp), %xmm1
     60   1.1  christos 	movaps	-24(%ebp), %xmm0
     61   1.1  christos 	call	foo
     62   1.1  christos 	movaps	%xmm0, -40(%ebp)
     63   1.1  christos 	leal	-40(%ebp), %eax
     64   1.1  christos 	movss	(%eax), %xmm0
     65   1.1  christos 	cvttss2si	%xmm0, %eax
     66   1.1  christos 	leave
     67   1.1  christos 	.cfi_restore 5
     68   1.1  christos 	.cfi_def_cfa 4, 4
     69   1.1  christos 	ret
     70   1.1  christos 	.cfi_endproc
     71   1.1  christos .LFE1:
     72   1.1  christos 	.size	f, .-f
     73  1.10  christos 	.type	test_g0, @function
     74  1.10  christos test_g0:
     75   1.1  christos .LFB2:
     76   1.1  christos 	.cfi_startproc
     77   1.1  christos 	pushl	%ebp
     78   1.1  christos 	.cfi_def_cfa_offset 8
     79   1.1  christos 	.cfi_offset 5, -8
     80   1.1  christos 	movl	%esp, %ebp
     81   1.1  christos 	.cfi_def_cfa_register 5
     82   1.1  christos 	subl	$8, %esp
     83   1.1  christos 	call	f
     84   1.1  christos 	leave
     85   1.1  christos 	.cfi_restore 5
     86   1.1  christos 	.cfi_def_cfa 4, 4
     87   1.1  christos 	ret
     88   1.1  christos 	.cfi_endproc
     89   1.1  christos .LFE2:
     90  1.10  christos 	.size	test_g0, .-test_g0
     91  1.10  christos 	.type	test_g1, @function
     92  1.10  christos test_g1:
     93   1.1  christos .LFB3:
     94   1.1  christos 	.cfi_startproc
     95   1.1  christos 	pushl	%ebp
     96   1.1  christos 	.cfi_def_cfa_offset 8
     97   1.1  christos 	.cfi_offset 5, -8
     98   1.1  christos 	movl	%esp, %ebp
     99   1.1  christos 	.cfi_def_cfa_register 5
    100   1.1  christos 	subl	$8, %esp
    101   1.1  christos 	call	f
    102   1.1  christos 	leave
    103   1.1  christos 	.cfi_restore 5
    104   1.1  christos 	.cfi_def_cfa 4, 4
    105   1.1  christos 	ret
    106   1.1  christos 	.cfi_endproc
    107   1.1  christos .LFE3:
    108  1.10  christos 	.size	test_g1, .-test_g1
    109  1.10  christos 	.type	test_g2, @function
    110  1.10  christos test_g2:
    111   1.1  christos .LFB4:
    112   1.1  christos 	.cfi_startproc
    113   1.1  christos 	pushl	%ebp
    114   1.1  christos 	.cfi_def_cfa_offset 8
    115   1.1  christos 	.cfi_offset 5, -8
    116   1.1  christos 	movl	%esp, %ebp
    117   1.1  christos 	.cfi_def_cfa_register 5
    118   1.1  christos 	subl	$8, %esp
    119   1.1  christos 	call	f
    120   1.1  christos 	leave
    121   1.1  christos 	.cfi_restore 5
    122   1.1  christos 	.cfi_def_cfa 4, 4
    123   1.1  christos 	ret
    124   1.1  christos 	.cfi_endproc
    125   1.1  christos .LFE4:
    126  1.10  christos 	.size	test_g2, .-test_g2
    127  1.10  christos 	.type	test_g3, @function
    128  1.10  christos test_g3:
    129   1.1  christos .LFB5:
    130   1.1  christos 	.cfi_startproc
    131   1.1  christos 	pushl	%ebp
    132   1.1  christos 	.cfi_def_cfa_offset 8
    133   1.1  christos 	.cfi_offset 5, -8
    134   1.1  christos 	movl	%esp, %ebp
    135   1.1  christos 	.cfi_def_cfa_register 5
    136   1.1  christos 	subl	$8, %esp
    137   1.1  christos 	call	f
    138   1.1  christos 	leave
    139   1.1  christos 	.cfi_restore 5
    140   1.1  christos 	.cfi_def_cfa 4, 4
    141   1.1  christos 	ret
    142   1.1  christos 	.cfi_endproc
    143   1.1  christos .LFE5:
    144  1.10  christos 	.size	test_g3, .-test_g3
    145  1.10  christos 	.type	test_g4, @function
    146  1.10  christos test_g4:
    147   1.1  christos .LFB6:
    148   1.1  christos 	.cfi_startproc
    149   1.1  christos 	pushl	%ebp
    150   1.1  christos 	.cfi_def_cfa_offset 8
    151   1.1  christos 	.cfi_offset 5, -8
    152   1.1  christos 	movl	%esp, %ebp
    153   1.1  christos 	.cfi_def_cfa_register 5
    154   1.1  christos 	subl	$8, %esp
    155   1.1  christos 	call	f
    156   1.1  christos 	leave
    157   1.1  christos 	.cfi_restore 5
    158   1.1  christos 	.cfi_def_cfa 4, 4
    159   1.1  christos 	ret
    160   1.1  christos 	.cfi_endproc
    161   1.1  christos .LFE6:
    162  1.10  christos 	.size	test_g4, .-test_g4
    163   1.1  christos 	.globl	main
    164   1.1  christos 	.type	main, @function
    165   1.1  christos main:
    166   1.1  christos .LFB7:
    167   1.1  christos 	.cfi_startproc
    168   1.1  christos 	pushl	%ebp
    169   1.1  christos 	.cfi_def_cfa_offset 8
    170   1.1  christos 	.cfi_offset 5, -8
    171   1.1  christos 	movl	%esp, %ebp
    172   1.1  christos 	.cfi_def_cfa_register 5
    173   1.1  christos 	pushl	%ebx
    174   1.1  christos 	andl	$-16, %esp
    175   1.1  christos 	subl	$16, %esp
    176   1.1  christos 	.cfi_offset 3, -12
    177  1.10  christos 	call	test_g0
    178   1.1  christos 	movl	%eax, %ebx
    179   1.1  christos 	movl	$1, (%esp)
    180  1.10  christos 	call	test_g1
    181   1.1  christos 	addl	%eax, %ebx
    182   1.1  christos 	movl	$2, 4(%esp)
    183   1.1  christos 	movl	$1, (%esp)
    184  1.10  christos 	call	test_g2
    185   1.1  christos 	addl	%eax, %ebx
    186   1.1  christos 	movl	$3, 8(%esp)
    187   1.1  christos 	movl	$2, 4(%esp)
    188   1.1  christos 	movl	$1, (%esp)
    189  1.10  christos 	call	test_g3
    190   1.1  christos 	addl	%eax, %ebx
    191   1.1  christos 	movl	$4, 12(%esp)
    192   1.1  christos 	movl	$3, 8(%esp)
    193   1.1  christos 	movl	$2, 4(%esp)
    194   1.1  christos 	movl	$1, (%esp)
    195  1.10  christos 	call	test_g4
    196   1.1  christos 	addl	%ebx, %eax
    197   1.1  christos 	movl	-4(%ebp), %ebx
    198   1.1  christos 	leave
    199   1.1  christos 	.cfi_restore 5
    200   1.1  christos 	.cfi_def_cfa 4, 4
    201   1.1  christos 	.cfi_restore 3
    202   1.1  christos 	ret
    203   1.1  christos 	.cfi_endproc
    204   1.1  christos .LFE7:
    205   1.1  christos 	.size	main, .-main
    206   1.1  christos 	.section	.rodata
    207   1.1  christos 	.align 16
    208   1.1  christos .LC0:
    209   1.1  christos 	.long	1065353216
    210   1.1  christos 	.long	1073741824
    211   1.1  christos 	.long	1077936128
    212   1.1  christos 	.long	1082130432
    213   1.1  christos 	.ident	"GCC: (GNU) 4.6.4 20120612 (prerelease)"
    214   1.1  christos 	.section	.note.GNU-stack,"",@progbits
    215