mirror of
https://github.com/odin-lang/Odin.git
synced 2026-06-05 02:04:06 +00:00
Rename to lanes_rotate_left, lanes_rotate_right, lanes_reverse
This commit is contained in:
@@ -134,10 +134,10 @@ nearest :: intrinsics.simd_nearest
|
||||
|
||||
to_bits :: intrinsics.simd_to_bits
|
||||
|
||||
lanes_reverse :: intrinsics.simd_reverse
|
||||
lanes_reverse :: intrinsics.simd_lanes_reverse
|
||||
|
||||
lanes_rotate_left :: intrinsics.simd_rotate_left
|
||||
lanes_rotate_right :: intrinsics.simd_rotate_right
|
||||
lanes_rotate_left :: intrinsics.simd_lanes_rotate_left
|
||||
lanes_rotate_right :: intrinsics.simd_lanes_rotate_right
|
||||
|
||||
count_ones :: intrinsics.count_ones
|
||||
count_zeros :: intrinsics.count_zeros
|
||||
|
||||
@@ -919,7 +919,7 @@ bool check_builtin_simd_operation(CheckerContext *c, Operand *operand, Ast *call
|
||||
return true;
|
||||
}
|
||||
|
||||
case BuiltinProc_simd_reverse:
|
||||
case BuiltinProc_simd_lanes_reverse:
|
||||
{
|
||||
Operand x = {};
|
||||
check_expr(c, &x, ce->args[0]); if (x.mode == Addressing_Invalid) return false;
|
||||
@@ -933,8 +933,8 @@ bool check_builtin_simd_operation(CheckerContext *c, Operand *operand, Ast *call
|
||||
return true;
|
||||
}
|
||||
|
||||
case BuiltinProc_simd_rotate_left:
|
||||
case BuiltinProc_simd_rotate_right:
|
||||
case BuiltinProc_simd_lanes_rotate_left:
|
||||
case BuiltinProc_simd_lanes_rotate_right:
|
||||
{
|
||||
Operand x = {};
|
||||
check_expr(c, &x, ce->args[0]); if (x.mode == Addressing_Invalid) return false;
|
||||
|
||||
@@ -175,9 +175,9 @@ BuiltinProc__simd_begin,
|
||||
|
||||
BuiltinProc_simd_to_bits,
|
||||
|
||||
BuiltinProc_simd_reverse,
|
||||
BuiltinProc_simd_rotate_left,
|
||||
BuiltinProc_simd_rotate_right,
|
||||
BuiltinProc_simd_lanes_reverse,
|
||||
BuiltinProc_simd_lanes_rotate_left,
|
||||
BuiltinProc_simd_lanes_rotate_right,
|
||||
|
||||
|
||||
// Platform specific SIMD intrinsics
|
||||
@@ -468,9 +468,9 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = {
|
||||
|
||||
{STR_LIT("simd_to_bits"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
|
||||
{STR_LIT("simd_reverse"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("simd_rotate_left"), 2, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("simd_rotate_right"), 2, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("simd_lanes_reverse"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("simd_lanes_rotate_left"), 2, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
{STR_LIT("simd_lanes_rotate_right"), 2, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
|
||||
{STR_LIT("simd_x86__MM_SHUFFLE"), 4, false, Expr_Expr, BuiltinProcPkg_intrinsics},
|
||||
|
||||
|
||||
@@ -1330,7 +1330,7 @@ lbValue lb_build_builtin_simd_proc(lbProcedure *p, Ast *expr, TypeAndValue const
|
||||
return res;
|
||||
}
|
||||
|
||||
case BuiltinProc_simd_reverse:
|
||||
case BuiltinProc_simd_lanes_reverse:
|
||||
{
|
||||
i64 count = get_array_type_count(arg0.type);
|
||||
LLVMValueRef *values = gb_alloc_array(temporary_allocator(), LLVMValueRef, count);
|
||||
@@ -1345,8 +1345,8 @@ lbValue lb_build_builtin_simd_proc(lbProcedure *p, Ast *expr, TypeAndValue const
|
||||
return res;
|
||||
}
|
||||
|
||||
case BuiltinProc_simd_rotate_left:
|
||||
case BuiltinProc_simd_rotate_right:
|
||||
case BuiltinProc_simd_lanes_rotate_left:
|
||||
case BuiltinProc_simd_lanes_rotate_right:
|
||||
{
|
||||
|
||||
i64 count = get_array_type_count(arg0.type);
|
||||
@@ -1358,7 +1358,7 @@ lbValue lb_build_builtin_simd_proc(lbProcedure *p, Ast *expr, TypeAndValue const
|
||||
ExactValue val = exact_value_to_integer(tv.value);
|
||||
GB_ASSERT(val.kind == ExactValue_Integer);
|
||||
BigInt *bi = &val.value_integer;
|
||||
if (builtin_id == BuiltinProc_simd_rotate_right) {
|
||||
if (builtin_id == BuiltinProc_simd_lanes_rotate_right) {
|
||||
big_int_neg(bi, bi);
|
||||
}
|
||||
big_int_rem(bi, bi, &bi_count);
|
||||
|
||||
Reference in New Issue
Block a user