blob: f2b63db7fd1338d60800e577405bfae5d9c7cf8d [file] [log] [blame]
/* { dg-do compile } */
/* { dg-require-effective-target int32plus } */
/* { dg-additional-options "-fdump-rtl-expand-details" } */
#include <stdint.h>
int8_t rev_crc8_data8 ()
{
return __builtin_rev_crc8_data8 (0x34, 'a', 0x12);
}
int16_t rev_crc16_data8 ()
{
return __builtin_rev_crc16_data8 (0x1234, 'a', 0x1021);
}
int16_t rev_crc16_data16 ()
{
return __builtin_rev_crc16_data16 (0x1234, 0x3214, 0x1021);
}
int32_t rev_crc32_data8 ()
{
return __builtin_rev_crc32_data8 (0xffffffff, 0x32, 0x4002123);
}
int32_t rev_crc32_data16 ()
{
return __builtin_rev_crc32_data16 (0xffffffff, 0x3232, 0x4002123);
}
int32_t rev_crc32_data32 ()
{
return __builtin_rev_crc32_data32 (0xffffffff, 0x123546ff, 0x4002123);
}
/* { dg-final { scan-rtl-dump ";; (?:using optab for|emitting crc table) crc_8_polynomial_0x12" "expand" } } */
/* { dg-final { scan-rtl-dump ";; (?:using optab for|emitting crc table) crc_16_polynomial_0x1021" "expand" } } */
/* { dg-final { scan-rtl-dump ";; (?:using optab for|emitting crc table) crc_32_polynomial_0x4002123" "expand" } } */