Fix endianness for wasm64p32

This commit is contained in:
gingerBill
2023-06-07 01:19:40 +01:00
parent 295cfc905c
commit 7a1ab62987
3 changed files with 8 additions and 12 deletions
+2 -4
View File
@@ -41,8 +41,6 @@ enum TargetArchKind : u16 {
};
enum TargetEndianKind : u8 {
TargetEndian_Invalid,
TargetEndian_Little,
TargetEndian_Big,
@@ -85,7 +83,6 @@ gb_global String target_arch_names[TargetArch_COUNT] = {
};
gb_global String target_endian_names[TargetEndian_COUNT] = {
str_lit(""),
str_lit("little"),
str_lit("big"),
};
@@ -97,7 +94,8 @@ gb_global String target_abi_names[TargetABI_COUNT] = {
};
gb_global TargetEndianKind target_endians[TargetArch_COUNT] = {
TargetEndian_Invalid,
TargetEndian_Little,
TargetEndian_Little,
TargetEndian_Little,
TargetEndian_Little,
TargetEndian_Little,
-2
View File
@@ -1000,8 +1000,6 @@ gb_internal void init_universal(void) {
{
GlobalEnumValue values[TargetEndian_COUNT] = {
{"Unknown", TargetEndian_Invalid},
{"Little", TargetEndian_Little},
{"Big", TargetEndian_Big},
};
+6 -6
View File
@@ -72,17 +72,17 @@ gb_internal lbValue lb_typeid(lbModule *m, Type *type) {
GB_ASSERT(id <= (1u<<24u));
data |= (id &~ (1u<<24)) << 0u; // index
data |= (kind &~ (1u<<5)) << 24u; // kind
data |= (named &~ (1u<<1)) << 29u; // kind
data |= (special &~ (1u<<1)) << 30u; // kind
data |= (reserved &~ (1u<<1)) << 31u; // kind
data |= (named &~ (1u<<1)) << 29u; // named
data |= (special &~ (1u<<1)) << 30u; // special
data |= (reserved &~ (1u<<1)) << 31u; // reserved
} else {
GB_ASSERT(build_context.ptr_size == 8);
GB_ASSERT(id <= (1ull<<56u));
data |= (id &~ (1ull<<56)) << 0ul; // index
data |= (kind &~ (1ull<<5)) << 56ull; // kind
data |= (named &~ (1ull<<1)) << 61ull; // kind
data |= (special &~ (1ull<<1)) << 62ull; // kind
data |= (reserved &~ (1ull<<1)) << 63ull; // kind
data |= (named &~ (1ull<<1)) << 61ull; // named
data |= (special &~ (1ull<<1)) << 62ull; // special
data |= (reserved &~ (1ull<<1)) << 63ull; // reserved
}
lbValue res = {};