From b93dfa1a0350c4916997c43321b0f9403803a8f3 Mon Sep 17 00:00:00 2001 From: kbkpbot Date: Thu, 18 Sep 2025 22:18:14 +0800 Subject: [PATCH] v: cleanup - replace complex 64bit CPU comptime ident with `&& x64` (#25343) --- vlib/builtin/int.v | 12 ++---------- vlib/builtin/js/int.js.v | 12 ++---------- vlib/v/ast/ast.v | 7 +------ vlib/v/ast/types.v | 4 ++-- vlib/v/checker/check_types.v | 7 +------ vlib/v/checker/checker.v | 4 ++-- vlib/v/checker/containers.v | 2 +- vlib/v/checker/match.v | 3 +-- vlib/v/gen/c/auto_str_methods.v | 2 +- vlib/v/gen/c/cgen.v | 4 ++-- vlib/v/gen/c/str_intp.v | 4 ++-- vlib/v/gen/js/builtin_types.v | 2 +- vlib/v/gen/js/js.v | 2 +- vlib/v/gen/native/amd64.v | 6 +++--- vlib/v/gen/native/gen.v | 2 +- vlib/v/gen/wasm/ops.v | 2 +- 16 files changed, 24 insertions(+), 51 deletions(-) diff --git a/vlib/builtin/int.v b/vlib/builtin/int.v index 93c868792..c029097a8 100644 --- a/vlib/builtin/int.v +++ b/vlib/builtin/int.v @@ -48,16 +48,8 @@ pub const max_i32 = i32(2147483647) pub const min_i64 = i64(-9223372036854775807 - 1) pub const max_i64 = i64(9223372036854775807) -pub const min_int = $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { - int(min_i64) -} $else { - int(min_i32) -} -pub const max_int = $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { - int(max_i64) -} $else { - int(max_i32) -} +pub const min_int = $if new_int ? && x64 { int(min_i64) } $else { int(min_i32) } +pub const max_int = $if new_int ? && x64 { int(max_i64) } $else { int(max_i32) } pub const min_u8 = u8(0) pub const max_u8 = u8(255) diff --git a/vlib/builtin/js/int.js.v b/vlib/builtin/js/int.js.v index ef5b73c36..a7967ed94 100644 --- a/vlib/builtin/js/int.js.v +++ b/vlib/builtin/js/int.js.v @@ -17,16 +17,8 @@ pub const max_i32 = i32(2147483647) pub const min_i64 = i64(-9223372036854775807 - 1) pub const max_i64 = i64(9223372036854775807) -pub const min_int = $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { - int(min_i64) -} $else { - int(min_i32) -} -pub const max_int = $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { - int(max_i64) -} $else { - int(max_i32) -} +pub const min_int = $if new_int ? && x64 { int(min_i64) } $else { int(min_i32) } +pub const max_int = $if new_int ? && x64 { int(max_i64) } $else { int(max_i32) } pub const min_u8 = u8(0) pub const max_u8 = u8(255) diff --git a/vlib/v/ast/ast.v b/vlib/v/ast/ast.v index 347507d0d..d5f094a73 100644 --- a/vlib/v/ast/ast.v +++ b/vlib/v/ast/ast.v @@ -24,12 +24,7 @@ pub const builtins = ['string', 'array', 'DenseArray', 'map', 'Error', 'IError', pub type TypeDecl = AliasTypeDecl | FnTypeDecl | SumTypeDecl -pub const int_type_name = $if new_int ? - && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { - 'vint_t' -} $else { - 'int' -} +pub const int_type_name = $if new_int ? && x64 { 'vint_t' } $else { 'int' } pub type Expr = NodeError | AnonFn diff --git a/vlib/v/ast/types.v b/vlib/v/ast/types.v index b5905955b..ea1c2ce23 100644 --- a/vlib/v/ast/types.v +++ b/vlib/v/ast/types.v @@ -638,7 +638,7 @@ pub fn (typ Type) flip_signedness() Type { u64_type } int_type { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { u64_type } $else { u32_type @@ -1260,7 +1260,7 @@ pub fn (t &Table) type_size(typ Type) (int, int) { align = 4 } .int { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { size = 8 align = 8 } $else { diff --git a/vlib/v/checker/check_types.v b/vlib/v/checker/check_types.v index 218aa8dff..4d9f3f0f8 100644 --- a/vlib/v/checker/check_types.v +++ b/vlib/v/checker/check_types.v @@ -649,12 +649,7 @@ fn (mut c Checker) check_shift(mut node ast.InfixExpr, left_type_ ast.Type, righ 31 } ast.int_type { - $if new_int ? - && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { - 63 - } $else { - 31 - } + $if new_int ? && x64 { 63 } $else { 31 } } ast.i64_type { 63 diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index dd4852865..27e1569d1 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -2075,7 +2075,7 @@ fn (mut c Checker) enum_decl(mut node ast.EnumDecl) { signed, enum_imin, enum_imax = true, min_i32, max_i32 } ast.int_type { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { signed, enum_imin, enum_imax = true, min_i32, max_i32 } $else { signed, enum_imin, enum_imax = true, min_i64, max_i64 @@ -3835,7 +3835,7 @@ fn (mut c Checker) cast_expr(mut node ast.CastExpr) ast.Type { u64(0xffffffff) } ast.int_type_idx { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { u64(0xffffffffffffffff) } $else { u64(0xffffffff) diff --git a/vlib/v/checker/containers.v b/vlib/v/checker/containers.v index 03de39e12..e9571af0a 100644 --- a/vlib/v/checker/containers.v +++ b/vlib/v/checker/containers.v @@ -328,7 +328,7 @@ fn (mut c Checker) check_array_init_default_expr(mut node ast.ArrayInit) { fn (mut c Checker) check_array_init_para_type(para string, mut expr ast.Expr, pos token.Pos) { sym := c.table.final_sym(c.unwrap_generic(c.expr(mut expr))) - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { if sym.kind !in [.int, .int_literal, .i64, .i32, .i16, .i8] { c.error('array ${para} needs to be an int/i64/i32/i16/i8', pos) } diff --git a/vlib/v/checker/match.v b/vlib/v/checker/match.v index 39ed0e33a..a07157d2d 100644 --- a/vlib/v/checker/match.v +++ b/vlib/v/checker/match.v @@ -401,8 +401,7 @@ fn (mut c Checker) match_expr(mut node ast.MatchExpr) ast.Type { } } .int { - $if new_int ? && (arm64 || amd64 || rv64 - || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { if !(num >= min_i64 && num <= max_i64) { needs_explicit_cast = true } diff --git a/vlib/v/gen/c/auto_str_methods.v b/vlib/v/gen/c/auto_str_methods.v index df14b92cc..f3cc76e50 100644 --- a/vlib/v/gen/c/auto_str_methods.v +++ b/vlib/v/gen/c/auto_str_methods.v @@ -923,7 +923,7 @@ fn (g &Gen) type_to_fmt(typ ast.Type) StrIntpType { } return .si_g64 } else if sym.kind == .int { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { return .si_i64 } $else { return .si_i32 diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index c606fa936..858ea6e16 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -3579,7 +3579,7 @@ fn (mut g Gen) map_fn_ptrs(key_sym ast.TypeSymbol) (string, string, string, stri clone_fn = 'builtin__map_enum_fn(3,sizeof(${key_sym.cname}))' } .int { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { hash_fn = '&builtin__map_hash_int_8' key_eq_fn = '&builtin__map_eq_int_8' clone_fn = '&builtin__map_clone_int_8' @@ -8530,7 +8530,7 @@ fn (mut g Gen) check_noscan(elem_typ ast.Type) string { // vint2int rename `_vint_t` to `int` fn vint2int(name string) string { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { if name == ast.int_type_name { return 'int' } diff --git a/vlib/v/gen/c/str_intp.v b/vlib/v/gen/c/str_intp.v index 0978fbc57..609b5b9f4 100644 --- a/vlib/v/gen/c/str_intp.v +++ b/vlib/v/gen/c/str_intp.v @@ -144,7 +144,7 @@ fn (mut g Gen) str_format(node ast.StringInterLiteral, i int, fmts []u8) (u64, s fmt_type = .si_u32 } ast.int_type { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { fmt_type = .si_i64 } $else { fmt_type = .si_i32 @@ -239,7 +239,7 @@ fn (mut g Gen) str_val(node ast.StringInterLiteral, i int, fmts []u8) { } else if typ == ast.i32_type { g.write('(u32)(') } else if typ == ast.int_type { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { g.write('(u64)(') } $else { g.write('(u32)(') diff --git a/vlib/v/gen/js/builtin_types.v b/vlib/v/gen/js/builtin_types.v index 1ee504cca..b3236133f 100644 --- a/vlib/v/gen/js/builtin_types.v +++ b/vlib/v/gen/js/builtin_types.v @@ -72,7 +72,7 @@ fn (mut g JsGen) sym_to_js_typ(sym ast.TypeSymbol) string { styp = 'int' } .int { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { styp = 'i64' } $else { styp = 'int' diff --git a/vlib/v/gen/js/js.v b/vlib/v/gen/js/js.v index b47e484c9..c1968ef94 100644 --- a/vlib/v/gen/js/js.v +++ b/vlib/v/gen/js/js.v @@ -3249,7 +3249,7 @@ fn (mut g JsGen) greater_typ(left ast.Type, right ast.Type) ast.Type { return ast.Type(ast.i32_type_idx) } if ast.int_type_idx in lr { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { return ast.Type(ast.i64_type_idx) } $else { return ast.Type(ast.i32_type_idx) diff --git a/vlib/v/gen/native/amd64.v b/vlib/v/gen/native/amd64.v index 62eea7bce..fc00cb79d 100644 --- a/vlib/v/gen/native/amd64.v +++ b/vlib/v/gen/native/amd64.v @@ -506,7 +506,7 @@ fn (mut c Amd64) inc_var(var Var, config VarConfig) { size_str = 'DWORD' } ast.int_type_idx { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { c.g.write16(0xFF48) size_str = 'QWORD' } $else { @@ -781,7 +781,7 @@ fn (mut c Amd64) mov_reg_to_var(var Var, r Register, config VarConfig) { size_str = 'DWORD' } ast.int_type_idx { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { c.g.write16(0x8948 + if is_extended_register { i32(4) } else { i32(0) }) size_str = 'QWORD' } $else { @@ -937,7 +937,7 @@ fn (mut c Amd64) mov_int_to_var(var Var, integer i32, config VarConfig) { c.g.println('mov DWORD PTR[rbp-${int(offset).hex2()}], ${integer}') } ast.int_type_idx { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { c.g.write8(0x48) c.g.write8(0xc7) c.g.write8(if is_far_var { i32(0x85) } else { i32(0x45) }) diff --git a/vlib/v/gen/native/gen.v b/vlib/v/gen/native/gen.v index 80890978a..89181d036 100644 --- a/vlib/v/gen/native/gen.v +++ b/vlib/v/gen/native/gen.v @@ -842,7 +842,7 @@ fn (mut g Gen) get_type_size(raw_type ast.Type) i32 { 2 } ast.int_type_idx { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { 8 } $else { 4 diff --git a/vlib/v/gen/wasm/ops.v b/vlib/v/gen/wasm/ops.v index 87e1cc1a4..4e45ce4f6 100644 --- a/vlib/v/gen/wasm/ops.v +++ b/vlib/v/gen/wasm/ops.v @@ -41,7 +41,7 @@ pub fn (mut g Gen) get_wasm_type(typ_ ast.Type) wasm.ValType { wasm.ValType.i32_t } ast.int_type_idx { - $if new_int ? && (arm64 || amd64 || rv64 || s390x || ppc64le || loongarch64) { + $if new_int ? && x64 { wasm.ValType.i64_t } $else { wasm.ValType.i32_t -- 2.39.5