⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 builtin-prefetch-1.c

📁 用于进行gcc测试
💻 C
字号:
/* Test that __builtin_prefetch does no harm.   Prefetch using all valid combinations of rw and locality values.   These must be compile-time constants.  */#define NO_TEMPORAL_LOCALITY 0#define LOW_TEMPORAL_LOCALITY 1#define MODERATE_TEMPORAL_LOCALITY 1#define HIGH_TEMPORAL_LOCALITY 3#define WRITE_ACCESS 1#define READ_ACCESS 0enum locality { none, low, moderate, high };enum rw { read, write };int arr[10];voidgood_const (const int *p){  __builtin_prefetch (p, 0, 0);  __builtin_prefetch (p, 0, 1);  __builtin_prefetch (p, 0, 2);  __builtin_prefetch (p, READ_ACCESS, 3);  __builtin_prefetch (p, 1, NO_TEMPORAL_LOCALITY);  __builtin_prefetch (p, 1, LOW_TEMPORAL_LOCALITY);  __builtin_prefetch (p, 1, MODERATE_TEMPORAL_LOCALITY);  __builtin_prefetch (p, WRITE_ACCESS, HIGH_TEMPORAL_LOCALITY);}voidgood_enum (const int *p){    __builtin_prefetch (p, read, none);    __builtin_prefetch (p, read, low);    __builtin_prefetch (p, read, moderate);    __builtin_prefetch (p, read, high);    __builtin_prefetch (p, write, none);    __builtin_prefetch (p, write, low);    __builtin_prefetch (p, write, moderate);    __builtin_prefetch (p, write, high);}voidgood_expr (const int *p){  __builtin_prefetch (p, 1 - 1, 6 - (2 * 3));  __builtin_prefetch (p, 1 + 0, 1 + 2);}voidgood_vararg (const int *p){  __builtin_prefetch (p, 0, 3);  __builtin_prefetch (p, 0);  __builtin_prefetch (p, 1);  __builtin_prefetch (p);}intmain (){  good_const (arr);  good_enum (arr);  good_expr (arr);  good_vararg (arr);  exit (0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -