aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-12-15 11:30:09 +0000
committergingerBill <bill@gingerbill.org>2019-12-15 11:30:09 +0000
commit58d4d424c6db749c10d723844ec5a847243bee39 (patch)
tree4f89d391cc839313d5aec976448991d8b6662914 /src
parent89ccb5b99f39cdb673435e37cea1f3db8a7224a6 (diff)
Replace `#vector[N]T` with `#simd[N]T` to reduce confusion #498
Diffstat (limited to 'src')
-rw-r--r--src/check_expr.cpp8
-rw-r--r--src/check_type.cpp4
-rw-r--r--src/checker_builtin_procs.hpp6
-rw-r--r--src/parser.cpp2
4 files changed, 10 insertions, 10 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index d6ca524f5..6e6db24d1 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -4763,12 +4763,12 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
break;
}
- case BuiltinProc_vector: {
+ case BuiltinProc_simd_vector: {
Operand x = {};
Operand y = {};
x = *operand;
if (!is_type_integer(x.type) || x.mode != Addressing_Constant) {
- error(call, "Expected a constant integer for 'intrinsics.vector'");
+ error(call, "Expected a constant integer for 'intrinsics.simd_vector'");
operand->mode = Addressing_Type;
operand->type = t_invalid;
return false;
@@ -4783,7 +4783,7 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
check_expr_or_type(c, &y, ce->args[1]);
if (y.mode != Addressing_Type) {
- error(call, "Expected a type 'intrinsics.vector'");
+ error(call, "Expected a type 'intrinsics.simd_vector'");
operand->mode = Addressing_Type;
operand->type = t_invalid;
return false;
@@ -4791,7 +4791,7 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
Type *elem = y.type;
if (!is_type_valid_vector_elem(elem)) {
gbString str = type_to_string(elem);
- error(call, "Invalid element type for 'intrinsics.vector', expected an integer or float with no specific endianness, got '%s'", str);
+ error(call, "Invalid element type for 'intrinsics.simd_vector', expected an integer or float with no specific endianness, got '%s'", str);
gb_string_free(str);
operand->mode = Addressing_Type;
operand->type = t_invalid;
diff --git a/src/check_type.cpp b/src/check_type.cpp
index a1ee1d154..c79f09849 100644
--- a/src/check_type.cpp
+++ b/src/check_type.cpp
@@ -3224,10 +3224,10 @@ bool check_type_internal(CheckerContext *ctx, Ast *e, Type **type, Type *named_t
String name = at->tag->BasicDirective.name;
if (name == "soa") {
*type = make_soa_struct_fixed(ctx, e, at->elem, elem, count, generic_type);
- } else if (name == "vector") {
+ } else if (name == "simd") {
if (!is_type_valid_vector_elem(elem)) {
gbString str = type_to_string(elem);
- error(at->elem, "Invalid element type for 'intrinsics.vector', expected an integer or float with no specific endianness, got '%s'", str);
+ error(at->elem, "Invalid element type for 'intrinsics.simd_vector', expected an integer or float with no specific endianness, got '%s'", str);
gb_string_free(str);
*type = alloc_type_array(elem, count, generic_type);
goto array_end;
diff --git a/src/checker_builtin_procs.hpp b/src/checker_builtin_procs.hpp
index 0ebbadd19..90c6963db 100644
--- a/src/checker_builtin_procs.hpp
+++ b/src/checker_builtin_procs.hpp
@@ -33,7 +33,7 @@ enum BuiltinProcId {
BuiltinProc_DIRECTIVE, // NOTE(bill): This is used for specialized hash-prefixed procedures
// "Intrinsics"
- BuiltinProc_vector,
+ BuiltinProc_simd_vector,
BuiltinProc_soa_struct,
BuiltinProc_atomic_fence,
@@ -198,8 +198,8 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = {
// "Intrinsics"
- {STR_LIT("vector"), 2, false, Expr_Expr, BuiltinProcPkg_intrinsics}, // Type
- {STR_LIT("soa_struct"), 2, false, Expr_Expr, BuiltinProcPkg_intrinsics}, // Type
+ {STR_LIT("simd_vector"), 2, false, Expr_Expr, BuiltinProcPkg_intrinsics}, // Type
+ {STR_LIT("soa_struct"), 2, false, Expr_Expr, BuiltinProcPkg_intrinsics}, // Type
{STR_LIT("atomic_fence"), 0, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
{STR_LIT("atomic_fence_acq"), 0, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
diff --git a/src/parser.cpp b/src/parser.cpp
index bf049f037..65b20ab83 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -1745,7 +1745,7 @@ Ast *parse_operand(AstFile *f, bool lhs) {
} else if (name.string == "defined") {
Ast *tag = ast_basic_directive(f, token, name.string);
return parse_call_expr(f, tag);
- } else if (name.string == "soa" || name.string == "vector") {
+ } else if (name.string == "soa" || name.string == "simd") {
Ast *tag = ast_basic_directive(f, token, name.string);
Ast *original_type = parse_type(f);
Ast *type = unparen_expr(original_type);