Lines Matching defs:push
646 Val Builder::push(Instruction inst) {
674 (void)push(Op::assert_true, cond.id, debug.id);
680 (void)push(Op::trace_line, mask.id,NA,NA,NA, line);
684 (void)push(Op::trace_var, mask.id,val.id,NA,NA, slot, kVarTypeInt.bits);
688 (void)push(Op::trace_var, mask.id,val.id,NA,NA, slot, kVarTypeFloat.bits);
693 (void)push(Op::trace_var, mask.id,val.id,NA,NA, slot, kVarTypeBool.bits);
697 (void)push(Op::trace_call, mask.id,NA,NA,NA, line, kCallTypeEnter.bits);
701 (void)push(Op::trace_call, mask.id,NA,NA,NA, line, kCallTypeExit.bits);
704 void Builder::store8 (Ptr ptr, I32 val) { (void)push(Op::store8 , val.id,NA,NA,NA, ptr.ix); }
705 void Builder::store16(Ptr ptr, I32 val) { (void)push(Op::store16, val.id,NA,NA,NA, ptr.ix); }
706 void Builder::store32(Ptr ptr, I32 val) { (void)push(Op::store32, val.id,NA,NA,NA, ptr.ix); }
708 (void)push(Op::store64, lo.id,hi.id,NA,NA, ptr.ix);
711 (void)push(Op::store128, x.id,y.id,z.id,w.id, ptr.ix);
714 I32 Builder::index() { return {this, push(Op::index)}; }
716 I32 Builder::load8 (Ptr ptr) { return {this, push(Op::load8 , NA,NA,NA,NA, ptr.ix) }; }
717 I32 Builder::load16(Ptr ptr) { return {this, push(Op::load16, NA,NA,NA,NA, ptr.ix) }; }
718 I32 Builder::load32(Ptr ptr) { return {this, push(Op::load32, NA,NA,NA,NA, ptr.ix) }; }
720 return {this, push(Op::load64 , NA,NA,NA,NA, ptr.ix,lane) };
723 return {this, push(Op::load128, NA,NA,NA,NA, ptr.ix,lane) };
727 return {this, push(Op::gather8 , index.id,NA,NA,NA, ptr.ix,offset)};
730 return {this, push(Op::gather16, index.id,NA,NA,NA, ptr.ix,offset)};
733 return {this, push(Op::gather32, index.id,NA,NA,NA, ptr.ix,offset)};
737 return {this, push(Op::uniform32, NA,NA,NA,NA, ptr.ix, offset)};
742 return {this, push(Op::array32, NA,NA,NA,NA, ptr.ix, offset, index * sizeof(int))};
745 I32 Builder::splat(int n) { return {this, push(Op::splat, NA,NA,NA,NA, n) }; }
769 return {this, this->push(Op::fma_f32, fProgram[x.id].x, fProgram[x.id].y, y.id)};
772 return {this, this->push(Op::fma_f32, fProgram[y.id].x, fProgram[y.id].y, x.id)};
775 return {this, this->push(Op::add_f32, x.id, y.id)};
783 return {this, this->push(Op::fms_f32, fProgram[x.id].x, fProgram[x.id].y, y.id)};
786 return {this, this->push(Op::fnma_f32, fProgram[y.id].x, fProgram[y.id].y, x.id)};
789 return {this, this->push(Op::sub_f32, x.id, y.id)};
796 return {this, this->push(Op::mul_f32, x.id, y.id)};
807 return {this, this->push(Op::div_f32, x.id, y.id)};
812 return {this, this->push(Op::sqrt_f32, x.id)};
975 return {this, this->push(Op::min_f32, x.id, y.id)};
979 return {this, this->push(Op::max_f32, x.id, y.id)};
987 return {this, this->push(Op::add_i32, x.id, y.id)};
993 return {this, this->push(Op::sub_i32, x.id, y.id)};
1002 return {this, this->push(Op::mul_i32, x.id, y.id)};
1009 return {this, this->push(Op::shl_i32, x.id,NA,NA,NA, bits)};
1014 return {this, this->push(Op::shr_i32, x.id,NA,NA,NA, bits)};
1019 return {this, this->push(Op::sra_i32, x.id,NA,NA,NA, bits)};
1024 return {this, this->push(Op::eq_f32, x.id, y.id)};
1028 return {this, this->push(Op::neq_f32, x.id, y.id)};
1032 return {this, this->push(Op::gt_f32, y.id, x.id)};
1036 return {this, this->push(Op::gte_f32, y.id, x.id)};
1040 return {this, this->push(Op::gt_f32, x.id, y.id)};
1044 return {this, this->push(Op::gte_f32, x.id, y.id)};
1050 return {this, this->push(Op:: eq_i32, x.id, y.id)};
1058 return {this, this->push(Op:: gt_i32, x.id, y.id)};
1075 return {this, this->push(Op::bit_and, x.id, y.id)};
1084 return {this, this->push(Op::bit_or, x.id, y.id)};
1091 return {this, this->push(Op::bit_xor, x.id, y.id)};
1100 return {this, this->push(Op::bit_clear, x.id, y.id)};
1110 return {this, this->push(Op::select, x.id, y.id, z.id)};
1124 return {this, this->push(Op::ceil, x.id)};
1128 return {this, this->push(Op::floor, x.id)};
1132 return {this, this->push(Op::to_f32, x.id)};
1136 return {this, this->push(Op::trunc, x.id)};
1140 return {this, this->push(Op::round, x.id)};
1145 return {this, this->push(Op::to_fp16, x.id)};
1149 return {this, this->push(Op::from_fp16, x.id)};