@@ -618,13 +618,13 @@ static void emit_primop(Emitter* emitter, Printer* p, const Node* node, Instruct
618618 case get_stack_base_op :
619619 case push_stack_op :
620620 case pop_stack_op :
621- case get_stack_pointer_op :
622- case set_stack_pointer_op : error ("Stack operations need to be lowered." );
621+ case get_stack_size_op :
622+ case set_stack_size_op : error ("Stack operations need to be lowered." );
623623 case default_join_point_op :
624624 case create_joint_point_op : error ("lowered in lower_tailcalls.c" );
625625 case subgroup_elect_first_op : {
626626 switch (emitter -> config .dialect ) {
627- case CDialect_CUDA : error ( "TODO" )
627+ case CDialect_CUDA : term = term_from_cvalue ( format_string_arena ( emitter -> arena -> arena , "__shady_elect_first()" )); break ;
628628 case CDialect_ISPC : term = term_from_cvalue (format_string_arena (emitter -> arena -> arena , "(programIndex == count_trailing_zeros(lanemask()))" )); break ;
629629 case CDialect_C11 :
630630 case CDialect_GLSL : error ("TODO" )
@@ -641,7 +641,7 @@ static void emit_primop(Emitter* emitter, Printer* p, const Node* node, Instruct
641641 case subgroup_broadcast_first_op : {
642642 CValue value = to_cvalue (emitter , emit_value (emitter , p , first (prim_op -> operands )));
643643 switch (emitter -> config .dialect ) {
644- case CDialect_CUDA : error ( "TODO" )
644+ case CDialect_CUDA : term = term_from_cvalue ( format_string_arena ( emitter -> arena -> arena , "__shady_broadcast_first(%s)" , value )); break ;
645645 case CDialect_ISPC : term = term_from_cvalue (format_string_arena (emitter -> arena -> arena , "extract(%s, count_trailing_zeros(lanemask()))" , value )); break ;
646646 case CDialect_C11 :
647647 case CDialect_GLSL : error ("TODO" )
0 commit comments