1 ; libFLAC - Free Lossless Audio Codec library
2 ; Copyright (C) 2001 Josh Coalson
4 ; This library is free software; you can redistribute it and/or
5 ; modify it under the terms of the GNU Library General Public
6 ; License as published by the Free Software Foundation; either
7 ; version 2 of the License, or (at your option) any later version.
9 ; This library is distributed in the hope that it will be useful,
10 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 ; Library General Public License for more details.
14 ; You should have received a copy of the GNU Library General Public
15 ; License along with this library; if not, write to the
16 ; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 ; Boston, MA 02111-1307, USA.
23 cglobal FLAC__cpu_info_asm_ia32
24 cglobal FLAC__cpu_info_extended_amd_asm_ia32
25 cglobal FLAC__cpu_info_sse_os_asm_ia32
29 ; **********************************************************************
50 cident FLAC__cpu_info_asm_ia32
65 cident FLAC__cpu_info_extended_amd_asm_ia32
84 ;WATCHOUT - DO NOT call this function until you have verified CPU support of
85 ; SSE by inspecting the return value from FLAC__cpu_info_asm_ia32
86 ;NOTE - Since we're not in priv level 0 we can't just check CR4 bits 9 & 10,
87 ; so right now we just assume there is no OS support. If you know
88 ; how to write code to trap a #UD exception in nasm so we can implement
89 ; this function correctly, let us know!
90 cident FLAC__cpu_info_sse_os_asm_ia32
94 mov eax, 0 ;we would like to 'move eax, cr4'