summaryrefslogtreecommitdiff
path: root/orc/orcprogram-c.c
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2010-09-16 12:35:30 -0700
committerDavid Schleef <ds@schleef.org>2010-09-16 12:35:30 -0700
commite07b6388eb32f9fc4d21aaa0431615ebd2c2c995 (patch)
tree3afa881e32533072bdf9104fd88b7d01f93a9780 /orc/orcprogram-c.c
parentb89d53403f9aa61d8796fba2da77e07c049b1e44 (diff)
downloadorc-e07b6388eb32f9fc4d21aaa0431615ebd2c2c995.tar.gz
Convert usage of ULL to ORC_UINT64_C()
Diffstat (limited to 'orc/orcprogram-c.c')
-rw-r--r--orc/orcprogram-c.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/orc/orcprogram-c.c b/orc/orcprogram-c.c
index 855fa2f..8358cd7 100644
--- a/orc/orcprogram-c.c
+++ b/orc/orcprogram-c.c
@@ -41,6 +41,7 @@ orc_target_c_get_typedefs (void)
"typedef uint16_t orc_uint16;\n"
"typedef uint32_t orc_uint32;\n"
"typedef uint64_t orc_uint64;\n"
+ "#define ORC_UINT64_C(x) UINT64_C(x)\n"
"#elif defined(_MSC_VER)\n"
"typedef signed __int8 orc_int8;\n"
"typedef signed __int16 orc_int16;\n"
@@ -50,6 +51,7 @@ orc_target_c_get_typedefs (void)
"typedef unsigned __int16 orc_uint16;\n"
"typedef unsigned __int32 orc_uint32;\n"
"typedef unsigned __int64 orc_uint64;\n"
+ "#define ORC_UINT64_C(x) (x##Ui64)\n"
"#else\n"
"#include <limits.h>\n"
"typedef signed char orc_int8;\n"
@@ -61,9 +63,11 @@ orc_target_c_get_typedefs (void)
"#if INT_MAX == LONG_MAX\n"
"typedef long long orc_int64;\n"
"typedef unsigned long long orc_uint64;\n"
+ "#define ORC_UINT64_C(x) (x##ULL)\n"
"#else\n"
"typedef long orc_int64;\n"
"typedef unsigned long orc_uint64;\n"
+ "#define ORC_UINT64_C(x) (x##UL)\n"
"#endif\n"
"#endif\n"
"typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;\n"
@@ -101,12 +105,12 @@ orc_target_c_get_asm_preamble (void)
"#define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)\n"
"#define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))\n"
"#define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))\n"
- "#define ORC_SWAP_Q(x) ((((x)&0xffULL)<<56) | (((x)&0xff00ULL)<<40) | (((x)&0xff0000ULL)<<24) | (((x)&0xff000000ULL)<<8) | (((x)&0xff00000000ULL)>>8) | (((x)&0xff0000000000ULL)>>24) | (((x)&0xff000000000000ULL)>>40) | (((x)&0xff00000000000000ULL)>>56))\n"
+ "#define ORC_SWAP_Q(x) ((((x)&ORC_UINT64_C(0xff))<<56) | (((x)&ORC_UINT64_C(0xff00))<<40) | (((x)&ORC_UINT64_C(0xff0000))<<24) | (((x)&ORC_UINT64_C(0xff000000))<<8) | (((x)&ORC_UINT64_C(0xff00000000))>>8) | (((x)&ORC_UINT64_C(0xff0000000000))>>24) | (((x)&ORC_UINT64_C(0xff000000000000))>>40) | (((x)&ORC_UINT64_C(0xff00000000000000))>>56))\n"
"#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))\n"
"#define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))\n"
"#define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))\n"
- "#define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&0x7ff0000000000000ULL) == 0) ? 0xfff0000000000000ULL : 0xffffffffffffffffULL))\n"
- "#define ORC_ISNAN_DOUBLE(x) ((((x)&0x7ff0000000000000ULL) == 0x7ff0000000000000ULL) && (((x)&0x000fffffffffffffULL) != 0))\n"
+ "#define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))\n"
+ "#define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))\n"
"#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L\n"
"#define ORC_RESTRICT restrict\n"
"#elif defined(__GNUC__) && __GNUC__ >= 4\n"
@@ -799,7 +803,7 @@ c_rule_loadpX (OrcCompiler *p, void *user, OrcInstruction *insn)
(int)p->vars[insn->src_args[0]].value.i,
p->vars[insn->src_args[0]].value.f);
} else {
- ORC_ASM_CODE(p," %s = 0x%08x%08xULL; /* %gf */\n", dest,
+ ORC_ASM_CODE(p," %s = ORC_UINT64_C(0x%08x%08x); /* %gf */\n", dest,
(orc_uint32)(((orc_uint64)p->vars[insn->src_args[0]].value.i)>>32),
((orc_uint32)p->vars[insn->src_args[0]].value.i),
p->vars[insn->src_args[0]].value.f);
@@ -1189,7 +1193,7 @@ c_rule_convdl (OrcCompiler *p, void *user, OrcInstruction *insn)
ORC_ASM_CODE(p, " {\n");
ORC_ASM_CODE(p," int tmp;\n");
ORC_ASM_CODE(p," tmp = %s;\n", src);
- ORC_ASM_CODE(p," if (tmp == 0x80000000 && !(%s&0x8000000000000000ULL)) tmp = 0x7fffffff;\n", src_i);
+ ORC_ASM_CODE(p," if (tmp == 0x80000000 && !(%s & ORC_UINT64_C(0x8000000000000000))) tmp = 0x7fffffff;\n", src_i);
ORC_ASM_CODE(p," %s = tmp;\n", dest);
ORC_ASM_CODE(p, " }\n");
}
@@ -1294,7 +1298,7 @@ c_rule_swaplq (OrcCompiler *p, void *user, OrcInstruction *insn)
c_get_name_int (dest, p, insn, insn->dest_args[0]);
c_get_name_int (src, p, insn, insn->src_args[0]);
- ORC_ASM_CODE(p," %s = ((%s&0x00000000ffffffffULL) << 32) | ((%s&0xffffffff00000000ULL) >> 32);\n",
+ ORC_ASM_CODE(p," %s = (ORC_UINT64_C(%s&0x00000000ffffffff) << 32) | (ORC_UINT64_C(%s&0xffffffff00000000) >> 32);\n",
dest, src, src);
}