aboutsummaryrefslogtreecommitdiffstats
path: root/target-alpha.c
blob: 4c622aec194fdf6838202e32b8d574dacd5b3c2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "symbol.h"
#include "target.h"
#include "machine.h"
#include "builtin.h"


static void predefine_alpha(const struct target *self)
{
	predefine("__alpha__", 1, "1");
	predefine("__alpha", 1, "1");
}

static const struct builtin_fn builtins_alpha[] = {
	{ "__builtin_alpha_cmpbge", &long_ctype, 0, { &long_ctype, &long_ctype }},
	{ "__builtin_alpha_extbl", &long_ctype, 0, { &long_ctype, &long_ctype }},
	{ "__builtin_alpha_extwl", &long_ctype, 0, { &long_ctype, &long_ctype }},
	{ "__builtin_alpha_insbl", &long_ctype, 0, { &long_ctype, &long_ctype }},
	{ "__builtin_alpha_inslh", &long_ctype, 0, { &long_ctype, &long_ctype }},
	{ "__builtin_alpha_insql", &long_ctype, 0, { &long_ctype, &long_ctype }},
	{ "__builtin_alpha_inswl", &long_ctype, 0, { &long_ctype, &long_ctype }},
	{ }
};

const struct target target_alpha = {
	.mach = MACH_ALPHA,
	.bitness = ARCH_LP64,
	.has_int128 = 1,

	.bits_in_longdouble = 64,

	.predefine = predefine_alpha,
	.builtins = builtins_alpha,
};