authorgravatar for evan@lagerdata.comEvan Haas <evan@lagerdata.com> 2022-03-24 23:41:11-07:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-03-25 14:47:51+02:00
log0d5d353197114c614f8efde4a8c11c61a5f82519
treeeccb222a10c2181e7797ad845006893174e6efbc
parent9a127501f68d6034367094915ad53e8d57495786

translate-c: Use @Vector for vector expressions

Removes translate-c usage of std.meta.Vector, which was deprecated in d42d31f72f

2 files changed, 9 insertions(+), 10 deletions(-)

src/translate_c.zig+2-2
...@@ -1441,7 +1441,7 @@ fn makeShuffleMask(c: *Context, scope: *Scope, expr: *const clang.ShuffleVectorE...@@ -1441,7 +1441,7 @@ fn makeShuffleMask(c: *Context, scope: *Scope, expr: *const clang.ShuffleVectorE
1441 assert(num_subexprs >= 3); // two source vectors + at least 1 index expression1441 assert(num_subexprs >= 3); // two source vectors + at least 1 index expression
1442 const mask_len = num_subexprs - 2;1442 const mask_len = num_subexprs - 2;
14431443
1444 const mask_type = try Tag.std_meta_vector.create(c.arena, .{1444 const mask_type = try Tag.vector.create(c.arena, .{
1445 .lhs = try transCreateNodeNumber(c, mask_len, .int),1445 .lhs = try transCreateNodeNumber(c, mask_len, .int),
1446 .rhs = try Tag.type.create(c.arena, "i32"),1446 .rhs = try Tag.type.create(c.arena, "i32"),
1447 });1447 });
...@@ -4800,7 +4800,7 @@ fn transType(c: *Context, scope: *Scope, ty: *const clang.Type, source_loc: clan...@@ -4800,7 +4800,7 @@ fn transType(c: *Context, scope: *Scope, ty: *const clang.Type, source_loc: clan
4800 const vector_ty = @ptrCast(*const clang.VectorType, ty);4800 const vector_ty = @ptrCast(*const clang.VectorType, ty);
4801 const num_elements = vector_ty.getNumElements();4801 const num_elements = vector_ty.getNumElements();
4802 const element_qt = vector_ty.getElementType();4802 const element_qt = vector_ty.getElementType();
4803 return Tag.std_meta_vector.create(c.arena, .{4803 return Tag.vector.create(c.arena, .{
4804 .lhs = try transCreateNodeNumber(c, num_elements, .int),4804 .lhs = try transCreateNodeNumber(c, num_elements, .int),
4805 .rhs = try transQualType(c, scope, element_qt, source_loc),4805 .rhs = try transQualType(c, scope, element_qt, source_loc),
4806 });4806 });
src/translate_c/ast.zig+7-8
...@@ -192,8 +192,8 @@ pub const Node = extern union {...@@ -192,8 +192,8 @@ pub const Node = extern union {
192 helpers_shuffle_vector_index,192 helpers_shuffle_vector_index,
193 /// @import("std").zig.c_translation.Macro.<operand>193 /// @import("std").zig.c_translation.Macro.<operand>
194 helpers_macro,194 helpers_macro,
195 /// @import("std").meta.Vector(lhs, rhs)195 /// @Vector(lhs, rhs)
196 std_meta_vector,196 vector,
197 /// @import("std").mem.zeroes(operand)197 /// @import("std").mem.zeroes(operand)
198 std_mem_zeroes,198 std_mem_zeroes,
199 /// @import("std").mem.zeroInit(lhs, rhs)199 /// @import("std").mem.zeroInit(lhs, rhs)
...@@ -322,7 +322,7 @@ pub const Node = extern union {...@@ -322,7 +322,7 @@ pub const Node = extern union {
322 .std_mem_zeroinit,322 .std_mem_zeroinit,
323 .helpers_flexible_array_type,323 .helpers_flexible_array_type,
324 .helpers_shuffle_vector_index,324 .helpers_shuffle_vector_index,
325 .std_meta_vector,325 .vector,
326 .ptr_cast,326 .ptr_cast,
327 .div_exact,327 .div_exact,
328 .offset_of,328 .offset_of,
...@@ -899,10 +899,9 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {...@@ -899,10 +899,9 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex {
899 const import_node = try renderStdImport(c, &.{ "zig", "c_translation", "shuffleVectorIndex" });899 const import_node = try renderStdImport(c, &.{ "zig", "c_translation", "shuffleVectorIndex" });
900 return renderCall(c, import_node, &.{ payload.lhs, payload.rhs });900 return renderCall(c, import_node, &.{ payload.lhs, payload.rhs });
901 },901 },
902 .std_meta_vector => {902 .vector => {
903 const payload = node.castTag(.std_meta_vector).?.data;903 const payload = node.castTag(.vector).?.data;
904 const import_node = try renderStdImport(c, &.{ "meta", "Vector" });904 return renderBuiltinCall(c, "@Vector", &.{ payload.lhs, payload.rhs });
905 return renderCall(c, import_node, &.{ payload.lhs, payload.rhs });
906 },905 },
907 .call => {906 .call => {
908 const payload = node.castTag(.call).?.data;907 const payload = node.castTag(.call).?.data;
...@@ -2221,7 +2220,7 @@ fn renderNodeGrouped(c: *Context, node: Node) !NodeIndex {...@@ -2221,7 +2220,7 @@ fn renderNodeGrouped(c: *Context, node: Node) !NodeIndex {
2221 .typeof,2220 .typeof,
2222 .typeinfo,2221 .typeinfo,
2223 .std_meta_alignment,2222 .std_meta_alignment,
2224 .std_meta_vector,2223 .vector,
2225 .helpers_sizeof,2224 .helpers_sizeof,
2226 .helpers_cast,2225 .helpers_cast,
2227 .helpers_promoteIntLiteral,2226 .helpers_promoteIntLiteral,