/* { dg-do compile } */ /* { dg-options "-O2 -mcrc32" } */ /* { dg-final { scan-assembler "crc32b\[^\\n\]*eax" } } */ /* { dg-final { scan-assembler "crc32w\[^\\n\]*eax" } } */ /* { dg-final { scan-assembler "crc32l\[^\\n\]*eax" } } */ /* { dg-final { scan-assembler "crc32q\[^\\n\]*rax" { target { ! ia32 } } } } */ #include unsigned int test_mm_crc32_u8 (unsigned int CRC, unsigned char V) { return _mm_crc32_u8 (CRC, V); } unsigned int test_mm_crc32_u16 (unsigned int CRC, unsigned short V) { return _mm_crc32_u16 (CRC, V); } unsigned int test_mm_crc32_u32 (unsigned int CRC, unsigned int V) { return _mm_crc32_u32 (CRC, V); } #ifdef __x86_64__ unsigned long long test_mm_crc32_u64 (unsigned long long CRC, unsigned long long V) { return _mm_crc32_u64 (CRC, V); } #endif