comparison gcc/config/i386/ia32intrin.h @ 67:f6334be47118

update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
date Tue, 22 Mar 2011 17:18:12 +0900
parents 77e2b8dfacca
children 04ced10e8804
comparison
equal deleted inserted replaced
65:65488c3d617d 67:f6334be47118
1 /* Copyright (C) 2009 Free Software Foundation, Inc. 1 /* Copyright (C) 2009, 2010 Free Software Foundation, Inc.
2 2
3 This file is part of GCC. 3 This file is part of GCC.
4 4
5 GCC is free software; you can redistribute it and/or modify 5 GCC is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
176 __bswapq (long long __X) 176 __bswapq (long long __X)
177 { 177 {
178 return __builtin_bswap64 (__X); 178 return __builtin_bswap64 (__X);
179 } 179 }
180 180
181 #ifdef __SSE4_2__
181 /* 64bit accumulate CRC32 (polynomial 0x11EDC6F41) value. */ 182 /* 64bit accumulate CRC32 (polynomial 0x11EDC6F41) value. */
182 extern __inline unsigned long long 183 extern __inline unsigned long long
183 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 184 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
184 __crc32q (unsigned long long __C, unsigned long long __V) 185 __crc32q (unsigned long long __C, unsigned long long __V)
185 { 186 {
186 return __builtin_ia32_crc32di (__C, __V); 187 return __builtin_ia32_crc32di (__C, __V);
187 } 188 }
189 #endif
188 190
189 /* 64bit popcnt */ 191 /* 64bit popcnt */
190 extern __inline long long 192 extern __inline long long
191 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 193 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
192 __popcntq (unsigned long long __X) 194 __popcntq (unsigned long long __X)