repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
PR/61062 Fix arm_neon.h ZIP/UZP/TRN for bigendian.
[official-gcc.git]
/
gcc
/
testsuite
/
gcc.target
/
i386
/
bmi2-check.h
blob
c933a49f28171ac973ae8e70e561493d4285a12b
1
#include <stdio.h>
2
#include <stdlib.h>
3
4
#include
"cpuid.h"
5
6
static void
bmi2_test
(
void
);
7
8
static void
9
__attribute__
((
noinline
))
10
do_test
(
void
)
11
{
12
bmi2_test
();
13
}
14
15
int
16
main
()
17
{
18
unsigned int
eax
,
ebx
,
ecx
,
edx
;
19
20
if
(
__get_cpuid_max
(
0
,
NULL
) <
7
)
21
return
0
;
22
23
__cpuid_count
(
7
,
0
,
eax
,
ebx
,
ecx
,
edx
);
24
25
/* Run BMI2 test only if host has BMI2 support. */
26
if
(
ebx
&
bit_BMI2
)
27
{
28
do_test
();
29
#ifdef DEBUG
30
printf
(
"PASSED
\n
"
);
31
#endif
32
}
33
#ifdef DEBUG
34
else
35
printf
(
"SKIPPED
\n
"
);
36
#endif
37
38
return
0
;
39
}