From 0a87628a76f74dc1a982b340d0d8a8b9e7247662 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 19 May 2026 14:52:46 +0100 Subject: [PATCH] Add suggestion when trying to use `<<` and `>>` with `#simd` --- src/check_expr.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 7500af7c1..ee9dd054d 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -3323,9 +3323,16 @@ gb_internal void check_shift(CheckerContext *c, Operand *x, Operand *y, Ast *nod return; } } else if (!is_type_unsigned(y->type)) { + ERROR_BLOCK(); + gbString y_str = expr_to_string(y->expr); error(y->expr, "Shift amount '%s' must be an unsigned integer", y_str); gb_string_free(y_str); + if (is_type_simd_vector(x->type)) { + char const *s = be->op.kind == Token_Shl ? "shl" : "shr"; + error_line("\tSuggestion: Use 'simd.%s' or 'simd.%s_masked'\n", s, s); + } + x->mode = Addressing_Invalid; return; }