@@ -618,13 +618,13 @@ static void emit_primop(Emitter* emitter, Printer* p, const Node* node, Instruct
618
618
case get_stack_base_op :
619
619
case push_stack_op :
620
620
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." );
623
623
case default_join_point_op :
624
624
case create_joint_point_op : error ("lowered in lower_tailcalls.c" );
625
625
case subgroup_elect_first_op : {
626
626
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 ;
628
628
case CDialect_ISPC : term = term_from_cvalue (format_string_arena (emitter -> arena -> arena , "(programIndex == count_trailing_zeros(lanemask()))" )); break ;
629
629
case CDialect_C11 :
630
630
case CDialect_GLSL : error ("TODO" )
@@ -641,7 +641,7 @@ static void emit_primop(Emitter* emitter, Printer* p, const Node* node, Instruct
641
641
case subgroup_broadcast_first_op : {
642
642
CValue value = to_cvalue (emitter , emit_value (emitter , p , first (prim_op -> operands )));
643
643
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 ;
645
645
case CDialect_ISPC : term = term_from_cvalue (format_string_arena (emitter -> arena -> arena , "extract(%s, count_trailing_zeros(lanemask()))" , value )); break ;
646
646
case CDialect_C11 :
647
647
case CDialect_GLSL : error ("TODO" )
0 commit comments