mirror of
git://repo.or.cz/tinycc.git
synced 2026-06-20 11:54:18 +08:00
fix: standardize hex literal suffixes for uint64_t operations
Use 'ul' suffix consistently for hex literals used with uint64_t parameters instead of mixing (uint64_t) casts and suffixes. Changes: - arm64_check_offset: 0xffful, 0x1fful (was (uint64_t)0xfff, (uint64_t)0x1ff) - arm64_ldrx/ldrv/strx/strv: 0xffful (was (uint64_t)0xfff) - arm64_gen_opic: 0xffful, 0xfff000ul (was (uint64_t)0xfff) Style: Prefer 'ul' suffix over explicit casts for clarity and consistency with existing codebase patterns (e.g., 0xffful, 0xfffffful).
This commit is contained in:
parent
7c8faac279
commit
0720236ed0
18
arm64-gen.c
18
arm64-gen.c
@ -312,15 +312,15 @@ static void arm64_spoff(int reg, uint64_t off)
|
||||
static uint64_t arm64_check_offset(int invert, int sz_, uint64_t off)
|
||||
{
|
||||
uint32_t sz = sz_;
|
||||
uint64_t scaled_mask = (uint64_t)0xfff << sz;
|
||||
uint64_t scaled_mask = 0xffful << sz;
|
||||
|
||||
if (!(off & ~scaled_mask) ||
|
||||
(off < 256 || -off <= 256))
|
||||
return invert ? off : 0ul;
|
||||
else if (off & scaled_mask)
|
||||
return invert ? off & scaled_mask : off & ~scaled_mask;
|
||||
else if (off & (uint64_t)0x1ff)
|
||||
return invert ? off & (uint64_t)0x1ff : off & ~(uint64_t)0x1ff;
|
||||
else if (off & 0x1fful)
|
||||
return invert ? off & 0x1fful : off & ~0x1fful;
|
||||
else
|
||||
return invert ? 0ul : off;
|
||||
}
|
||||
@ -328,7 +328,7 @@ static uint64_t arm64_check_offset(int invert, int sz_, uint64_t off)
|
||||
static void arm64_ldrx(int sg, int sz_, int dst, int bas, uint64_t off)
|
||||
{
|
||||
uint32_t sz = sz_;
|
||||
uint64_t scaled_mask = (uint64_t)0xfff << sz;
|
||||
uint64_t scaled_mask = 0xffful << sz;
|
||||
if (sz >= 2)
|
||||
sg = 0;
|
||||
if (!(off & ~scaled_mask))
|
||||
@ -347,7 +347,7 @@ static void arm64_ldrx(int sg, int sz_, int dst, int bas, uint64_t off)
|
||||
static void arm64_ldrv(int sz_, int dst, int bas, uint64_t off)
|
||||
{
|
||||
uint32_t sz = sz_;
|
||||
uint64_t scaled_mask = (uint64_t)0xfff << sz;
|
||||
uint64_t scaled_mask = 0xffful << sz;
|
||||
|
||||
if (!(off & ~scaled_mask))
|
||||
o(0x3d400000 | dst | bas << 5 | off << (10 - sz) |
|
||||
@ -446,7 +446,7 @@ static void arm64_ldrs(int reg_, int size)
|
||||
static void arm64_strx(int sz_, int dst, int bas, uint64_t off)
|
||||
{
|
||||
uint32_t sz = sz_;
|
||||
uint64_t scaled_mask = (uint64_t)0xfff << sz;
|
||||
uint64_t scaled_mask = 0xffful << sz;
|
||||
|
||||
if (!(off & ~scaled_mask))
|
||||
o(0x39000000 | dst | bas << 5 | off << (10 - sz) | sz << 30);
|
||||
@ -464,7 +464,7 @@ static void arm64_strx(int sz_, int dst, int bas, uint64_t off)
|
||||
static void arm64_strv(int sz_, int dst, int bas, uint64_t off)
|
||||
{
|
||||
uint32_t sz = sz_;
|
||||
uint64_t scaled_mask = (uint64_t)0xfff << sz;
|
||||
uint64_t scaled_mask = 0xffful << sz;
|
||||
|
||||
if (!(off & ~scaled_mask))
|
||||
o(0x3d000000 | dst | bas << 5 | off << (10 - sz) |
|
||||
@ -1798,9 +1798,9 @@ static int arm64_gen_opic(int op, uint32_t l, int rev, uint64_t val,
|
||||
uint32_t s = l ? val >> 63 : val >> 31;
|
||||
val = s ? -val : val;
|
||||
val = l ? val : (uint32_t)val;
|
||||
if (!(val & ~(uint64_t)0xfff))
|
||||
if (!(val & ~0xffful))
|
||||
o(0x11000000 | l << 31 | s << 30 | x | a << 5 | val << 10);
|
||||
else if (!(val & ~(uint64_t)0xfff000))
|
||||
else if (!(val & ~0xfff000ul))
|
||||
o(0x11400000 | l << 31 | s << 30 | x | a << 5 | val >> 12 << 10);
|
||||
else {
|
||||
arm64_movimm(30, val); // use x30
|
||||
|
||||
Loading…
Reference in New Issue
Block a user