Blender  V2.93
Classes | Functions
util_avxi.h File Reference

Go to the source code of this file.

Classes

struct  avxi
 

Functions

__forceinline const avxi cast (const __m256 &a)
 Unary Operators. More...
 
__forceinline const avxi operator+ (const avxi &a)
 
__forceinline const avxi operator- (const avxi &a)
 
__forceinline const avxi abs (const avxi &a)
 
__forceinline const avxi operator+ (const avxi &a, const avxi &b)
 Binary Operators. More...
 
__forceinline const avxi operator+ (const avxi &a, const int32_t b)
 
__forceinline const avxi operator+ (const int32_t a, const avxi &b)
 
__forceinline const avxi operator- (const avxi &a, const avxi &b)
 
__forceinline const avxi operator- (const avxi &a, const int32_t b)
 
__forceinline const avxi operator- (const int32_t a, const avxi &b)
 
__forceinline const avxi operator* (const avxi &a, const avxi &b)
 
__forceinline const avxi operator* (const avxi &a, const int32_t b)
 
__forceinline const avxi operator* (const int32_t a, const avxi &b)
 
__forceinline const avxi operator& (const avxi &a, const avxi &b)
 
__forceinline const avxi operator& (const avxi &a, const int32_t b)
 
__forceinline const avxi operator& (const int32_t a, const avxi &b)
 
__forceinline const avxi operator| (const avxi &a, const avxi &b)
 
__forceinline const avxi operator| (const avxi &a, const int32_t b)
 
__forceinline const avxi operator| (const int32_t a, const avxi &b)
 
__forceinline const avxi operator^ (const avxi &a, const avxi &b)
 
__forceinline const avxi operator^ (const avxi &a, const int32_t b)
 
__forceinline const avxi operator^ (const int32_t a, const avxi &b)
 
__forceinline const avxi operator<< (const avxi &a, const int32_t n)
 
__forceinline const avxi operator>> (const avxi &a, const int32_t n)
 
__forceinline const avxi sra (const avxi &a, const int32_t b)
 
__forceinline const avxi srl (const avxi &a, const int32_t b)
 
__forceinline const avxi min (const avxi &a, const avxi &b)
 
__forceinline const avxi min (const avxi &a, const int32_t b)
 
__forceinline const avxi min (const int32_t a, const avxi &b)
 
__forceinline const avxi max (const avxi &a, const avxi &b)
 
__forceinline const avxi max (const avxi &a, const int32_t b)
 
__forceinline const avxi max (const int32_t a, const avxi &b)
 
__forceinline avxioperator+= (avxi &a, const avxi &b)
 Assignment Operators. More...
 
__forceinline avxioperator+= (avxi &a, const int32_t b)
 
__forceinline avxioperator-= (avxi &a, const avxi &b)
 
__forceinline avxioperator-= (avxi &a, const int32_t b)
 
__forceinline avxioperator*= (avxi &a, const avxi &b)
 
__forceinline avxioperator*= (avxi &a, const int32_t b)
 
__forceinline avxioperator&= (avxi &a, const avxi &b)
 
__forceinline avxioperator&= (avxi &a, const int32_t b)
 
__forceinline avxioperator|= (avxi &a, const avxi &b)
 
__forceinline avxioperator|= (avxi &a, const int32_t b)
 
__forceinline avxioperator^= (avxi &a, const avxi &b)
 
__forceinline avxioperator^= (avxi &a, const int32_t b)
 
__forceinline avxioperator<<= (avxi &a, const int32_t b)
 
__forceinline avxioperator>>= (avxi &a, const int32_t b)
 
__forceinline const avxb operator== (const avxi &a, const avxi &b)
 Comparison Operators + Select. More...
 
__forceinline const avxb operator== (const avxi &a, const int32_t b)
 
__forceinline const avxb operator== (const int32_t a, const avxi &b)
 
__forceinline const avxb operator!= (const avxi &a, const avxi &b)
 
__forceinline const avxb operator!= (const avxi &a, const int32_t b)
 
__forceinline const avxb operator!= (const int32_t a, const avxi &b)
 
__forceinline const avxb operator< (const avxi &a, const avxi &b)
 
__forceinline const avxb operator< (const avxi &a, const int32_t b)
 
__forceinline const avxb operator< (const int32_t a, const avxi &b)
 
__forceinline const avxb operator>= (const avxi &a, const avxi &b)
 
__forceinline const avxb operator>= (const avxi &a, const int32_t b)
 
__forceinline const avxb operator>= (const int32_t a, const avxi &b)
 
__forceinline const avxb operator> (const avxi &a, const avxi &b)
 
__forceinline const avxb operator> (const avxi &a, const int32_t b)
 
__forceinline const avxb operator> (const int32_t a, const avxi &b)
 
__forceinline const avxb operator<= (const avxi &a, const avxi &b)
 
__forceinline const avxb operator<= (const avxi &a, const int32_t b)
 
__forceinline const avxb operator<= (const int32_t a, const avxi &b)
 
__forceinline const avxi select (const avxb &m, const avxi &t, const avxi &f)
 
__forceinline avxi unpacklo (const avxi &a, const avxi &b)
 Movement/Shifting/Shuffling Functions. More...
 
__forceinline avxi unpackhi (const avxi &a, const avxi &b)
 
template<size_t i>
__forceinline const avxi shuffle (const avxi &a)
 
template<size_t i0, size_t i1>
__forceinline const avxi shuffle (const avxi &a)
 
template<size_t i0, size_t i1>
__forceinline const avxi shuffle (const avxi &a, const avxi &b)
 
template<size_t i0, size_t i1, size_t i2, size_t i3>
__forceinline const avxi shuffle (const avxi &a)
 
template<size_t i0, size_t i1, size_t i2, size_t i3>
__forceinline const avxi shuffle (const avxi &a, const avxi &b)
 
template<>
__forceinline const avxi shuffle< 0, 0, 2, 2 > (const avxi &b)
 
template<>
__forceinline const avxi shuffle< 1, 1, 3, 3 > (const avxi &b)
 
template<>
__forceinline const avxi shuffle< 0, 1, 0, 1 > (const avxi &b)
 
__forceinline const avxi broadcast (const int *ptr)
 
template<size_t i>
__forceinline const avxi insert (const avxi &a, const ssei &b)
 
template<size_t i>
__forceinline const ssei extract (const avxi &a)
 
__forceinline const avxi vreduce_min2 (const avxi &v)
 Reductions. More...
 
__forceinline const avxi vreduce_min4 (const avxi &v)
 
__forceinline const avxi vreduce_min (const avxi &v)
 
__forceinline const avxi vreduce_max2 (const avxi &v)
 
__forceinline const avxi vreduce_max4 (const avxi &v)
 
__forceinline const avxi vreduce_max (const avxi &v)
 
__forceinline const avxi vreduce_add2 (const avxi &v)
 
__forceinline const avxi vreduce_add4 (const avxi &v)
 
__forceinline const avxi vreduce_add (const avxi &v)
 
__forceinline int reduce_min (const avxi &v)
 
__forceinline int reduce_max (const avxi &v)
 
__forceinline int reduce_add (const avxi &v)
 
__forceinline uint32_t select_min (const avxi &v)
 
__forceinline uint32_t select_max (const avxi &v)
 
__forceinline uint32_t select_min (const avxb &valid, const avxi &v)
 
__forceinline uint32_t select_max (const avxb &valid, const avxi &v)
 
ccl_device_inline void print_avxi (const char *label, const avxi &a)
 Output Operators. More...
 

Function Documentation

◆ abs()

__forceinline const avxi abs ( const avxi a)

Definition at line 186 of file util_avxi.h.

References Freestyle::a.

Referenced by actionzone_modal(), annotation_draw_apply_event(), area_getorientation(), area_move_apply_do(), area_snap_calc_location(), BKE_gpencil_layer_frame_get(), BKE_mask_spline_project_co(), BKE_paint_face_set_overlay_color_get(), BKE_sculpt_face_sets_ensure_from_base_mesh_visibility(), blend_color_difference_byte(), BLI_listbase_link_move(), blo_do_versions_280(), bm_loop_build(), bm_loop_path_build_step(), brush_scale_size_exec(), check_single_face_set(), check_zone(), compare_ff_relative(), compare_floats(), compare_rgb_uchar(), btDeformableBodySolver::computeDescentStep(), Eigen::internal::constrained_conjugate_gradient(), continuousCollisionDetection(), blender::nodes::create_ico_sphere_mesh(), createTransActionData(), createTransSeqData(), customdata_compare(), delete_fcurve_key(), do_draw_face_sets_brush_task_cb_ex(), DRW_displist_indexbuf_create_edges_adjacency_lines(), DRW_select_buffer_find_nearest_to_point(), ED_preview_draw(), ed_preview_draw_rect(), ED_region_generic_tools_region_snap_size(), ED_sculpt_face_sets_find_next_available_id(), establish_track_initialization_order(), extract_lines_adjacency_finish(), file_smoothscroll_invoke(), find_nearest_seq(), generateUnitOrthogonalVector(), geometry_extract_tag_face_set(), get_multi_function(), Freestyle::GaussianFilter::getSmoothedPixel(), gpencil_layer_final_tint_and_alpha_get(), gpencil_render_offscreen(), GPU_pbvh_grid_buffers_update(), GPU_pbvh_mesh_buffers_update(), image_buf_fill_checker_slice(), len_manhattan_v2_int(), lines_adjacency_triangle(), mcol_difference(), mesh_join_offset_face_sets_ID(), modf_to_index(), mouse_select_knot(), moviecache_getitempriority(), nla_draw_strip_curves(), pingpong(), GHOST_SystemWin32::processWheelEvent(), proximityTest(), Freestyle::AppView::rabs(), region_scale_modal(), region_visible_rect_calc(), remapTime(), screen_geom_area_map_find_active_scredge(), sculpt_check_unique_face_set_for_edge_in_base_mesh(), sculpt_check_unique_face_set_in_base_mesh(), sculpt_expand_delete_face_set_id(), sculpt_face_set_delete_geometry(), sculpt_face_set_edit_modify_coordinates(), sculpt_face_set_edit_modify_face_sets(), sculpt_face_set_edit_modify_geometry(), sculpt_face_set_grow(), SCULPT_face_set_next_available_get(), sculpt_face_set_shrink(), SCULPT_face_set_visibility_set(), SCULPT_face_sets_visibility_all_set(), sculpt_mask_expand_modal(), SCULPT_vertex_face_set_get(), SCULPT_vertex_face_set_set(), SCULPT_visibility_sync_all_vertex_to_face_sets(), sculpt_visibility_sync_vertex_to_face_sets(), select_adjacent_cp(), select_nth_bezt(), select_nth_bp(), SEQ_time_find_next_prev_edit(), SEQ_transform_set_left_handle_frame(), SEQ_transform_set_right_handle_frame(), set_constraint_nth_target(), set_edge_adjacency_lines_indices(), GHOST_DisplayManagerX11::setCurrentDisplaySetting(), setCustomPointsFromDirection(), setNearestAxis2d(), smoothmin(), snapNode(), svm_checker(), btModifiedGramSchmidt< TV >::test(), thumb_create_ex(), ui_but_drag_init(), ui_but_dragedit_update_mval(), ui_do_but_COLORBAND(), ui_do_but_NUM(), ui_do_but_SLI(), ui_do_button(), ui_numedit_but_NUM(), ui_pan_to_scroll(), UI_view2d_totRect_set_resize(), vert_pair_adjacent_in_orig_face(), viewrotate_apply_snap(), walkEvent(), wm_autosave_location(), WM_event_drag_test_with_delta(), and workbench_dof_setup_samples().

◆ broadcast()

__forceinline const avxi broadcast ( const int *  ptr)

Definition at line 639 of file util_avxi.h.

References ptr.

◆ cast()

__forceinline const avxi cast ( const __m256 &  a)

Unary Operators.

Definition at line 164 of file util_avxi.h.

References Freestyle::a.

◆ extract()

template<size_t i>
__forceinline const ssei extract ( const avxi a)

Definition at line 647 of file util_avxi.h.

References Freestyle::a.

◆ insert()

template<size_t i>
__forceinline const avxi insert ( const avxi a,
const ssei &  b 
)

Definition at line 643 of file util_avxi.h.

References Freestyle::a.

◆ max() [1/3]

__forceinline const avxi max ( const avxi a,
const avxi b 
)

Definition at line 380 of file util_avxi.h.

References Freestyle::a, avxi::h, and avxi::l.

Referenced by max(), vreduce_max(), vreduce_max2(), and vreduce_max4().

◆ max() [2/3]

__forceinline const avxi max ( const avxi a,
const int32_t  b 
)

Definition at line 385 of file util_avxi.h.

References Freestyle::a, and max().

◆ max() [3/3]

__forceinline const avxi max ( const int32_t  a,
const avxi b 
)

Definition at line 389 of file util_avxi.h.

References Freestyle::a, and max().

◆ min() [1/3]

__forceinline const avxi min ( const avxi a,
const avxi b 
)

Definition at line 360 of file util_avxi.h.

References Freestyle::a, avxi::h, and avxi::l.

Referenced by min(), vreduce_min(), vreduce_min2(), and vreduce_min4().

◆ min() [2/3]

__forceinline const avxi min ( const avxi a,
const int32_t  b 
)

Definition at line 365 of file util_avxi.h.

References Freestyle::a, and min().

◆ min() [3/3]

__forceinline const avxi min ( const int32_t  a,
const avxi b 
)

Definition at line 369 of file util_avxi.h.

References Freestyle::a, and min().

◆ operator!=() [1/3]

__forceinline const avxb operator!= ( const avxi a,
const avxi b 
)

Definition at line 486 of file util_avxi.h.

References Freestyle::a.

◆ operator!=() [2/3]

__forceinline const avxb operator!= ( const avxi a,
const int32_t  b 
)

Definition at line 490 of file util_avxi.h.

References Freestyle::a.

◆ operator!=() [3/3]

__forceinline const avxb operator!= ( const int32_t  a,
const avxi b 
)

Definition at line 494 of file util_avxi.h.

References Freestyle::a.

◆ operator&() [1/3]

__forceinline const avxi operator& ( const avxi a,
const avxi b 
)

Definition at line 262 of file util_avxi.h.

References Freestyle::a.

◆ operator&() [2/3]

__forceinline const avxi operator& ( const avxi a,
const int32_t  b 
)

Definition at line 267 of file util_avxi.h.

References Freestyle::a.

◆ operator&() [3/3]

__forceinline const avxi operator& ( const int32_t  a,
const avxi b 
)

Definition at line 271 of file util_avxi.h.

References Freestyle::a.

◆ operator&=() [1/2]

__forceinline avxi& operator&= ( avxi a,
const avxi b 
)

Definition at line 425 of file util_avxi.h.

References Freestyle::a.

◆ operator&=() [2/2]

__forceinline avxi& operator&= ( avxi a,
const int32_t  b 
)

Definition at line 429 of file util_avxi.h.

References Freestyle::a.

◆ operator*() [1/3]

__forceinline const avxi operator* ( const avxi a,
const avxi b 
)

Definition at line 242 of file util_avxi.h.

References Freestyle::a, avxi::h, and avxi::l.

◆ operator*() [2/3]

__forceinline const avxi operator* ( const avxi a,
const int32_t  b 
)

Definition at line 247 of file util_avxi.h.

References Freestyle::a.

◆ operator*() [3/3]

__forceinline const avxi operator* ( const int32_t  a,
const avxi b 
)

Definition at line 251 of file util_avxi.h.

References Freestyle::a.

◆ operator*=() [1/2]

__forceinline avxi& operator*= ( avxi a,
const avxi b 
)

Definition at line 416 of file util_avxi.h.

References Freestyle::a.

◆ operator*=() [2/2]

__forceinline avxi& operator*= ( avxi a,
const int32_t  b 
)

Definition at line 420 of file util_avxi.h.

References Freestyle::a.

◆ operator+() [1/4]

__forceinline const avxi operator+ ( const avxi a)

Definition at line 168 of file util_avxi.h.

References Freestyle::a.

◆ operator+() [2/4]

__forceinline const avxi operator+ ( const avxi a,
const avxi b 
)

Binary Operators.

Definition at line 202 of file util_avxi.h.

References Freestyle::a, avxi::h, and avxi::l.

◆ operator+() [3/4]

__forceinline const avxi operator+ ( const avxi a,
const int32_t  b 
)

Definition at line 207 of file util_avxi.h.

References Freestyle::a.

◆ operator+() [4/4]

__forceinline const avxi operator+ ( const int32_t  a,
const avxi b 
)

Definition at line 211 of file util_avxi.h.

References Freestyle::a.

◆ operator+=() [1/2]

__forceinline avxi& operator+= ( avxi a,
const avxi b 
)

Assignment Operators.

Definition at line 398 of file util_avxi.h.

References Freestyle::a.

◆ operator+=() [2/2]

__forceinline avxi& operator+= ( avxi a,
const int32_t  b 
)

Definition at line 402 of file util_avxi.h.

References Freestyle::a.

◆ operator-() [1/4]

__forceinline const avxi operator- ( const avxi a)

Definition at line 182 of file util_avxi.h.

References Freestyle::a.

◆ operator-() [2/4]

__forceinline const avxi operator- ( const avxi a,
const avxi b 
)

Definition at line 222 of file util_avxi.h.

References Freestyle::a, avxi::h, and avxi::l.

◆ operator-() [3/4]

__forceinline const avxi operator- ( const avxi a,
const int32_t  b 
)

Definition at line 227 of file util_avxi.h.

References Freestyle::a.

◆ operator-() [4/4]

__forceinline const avxi operator- ( const int32_t  a,
const avxi b 
)

Definition at line 231 of file util_avxi.h.

References Freestyle::a.

◆ operator-=() [1/2]

__forceinline avxi& operator-= ( avxi a,
const avxi b 
)

Definition at line 407 of file util_avxi.h.

References Freestyle::a.

◆ operator-=() [2/2]

__forceinline avxi& operator-= ( avxi a,
const int32_t  b 
)

Definition at line 411 of file util_avxi.h.

References Freestyle::a.

◆ operator<() [1/3]

__forceinline const avxb operator< ( const avxi a,
const avxi b 
)

Definition at line 505 of file util_avxi.h.

References Freestyle::a, avxi::h, and avxi::l.

◆ operator<() [2/3]

__forceinline const avxb operator< ( const avxi a,
const int32_t  b 
)

Definition at line 511 of file util_avxi.h.

References Freestyle::a.

◆ operator<() [3/3]

__forceinline const avxb operator< ( const int32_t  a,
const avxi b 
)

Definition at line 515 of file util_avxi.h.

References Freestyle::a.

◆ operator<<()

__forceinline const avxi operator<< ( const avxi a,
const int32_t  n 
)

Definition at line 335 of file util_avxi.h.

References Freestyle::a.

◆ operator<<=()

__forceinline avxi& operator<<= ( avxi a,
const int32_t  b 
)

Definition at line 452 of file util_avxi.h.

References Freestyle::a.

◆ operator<=() [1/3]

__forceinline const avxb operator<= ( const avxi a,
const avxi b 
)

Definition at line 554 of file util_avxi.h.

References Freestyle::a.

◆ operator<=() [2/3]

__forceinline const avxb operator<= ( const avxi a,
const int32_t  b 
)

Definition at line 558 of file util_avxi.h.

References Freestyle::a.

◆ operator<=() [3/3]

__forceinline const avxb operator<= ( const int32_t  a,
const avxi b 
)

Definition at line 562 of file util_avxi.h.

References Freestyle::a.

◆ operator==() [1/3]

__forceinline const avxb operator== ( const avxi a,
const avxi b 
)

Comparison Operators + Select.

Definition at line 471 of file util_avxi.h.

References Freestyle::a, avxi::h, and avxi::l.

◆ operator==() [2/3]

__forceinline const avxb operator== ( const avxi a,
const int32_t  b 
)

Definition at line 477 of file util_avxi.h.

References Freestyle::a.

◆ operator==() [3/3]

__forceinline const avxb operator== ( const int32_t  a,
const avxi b 
)

Definition at line 481 of file util_avxi.h.

References Freestyle::a.

◆ operator>() [1/3]

__forceinline const avxb operator> ( const avxi a,
const avxi b 
)

Definition at line 539 of file util_avxi.h.

References Freestyle::a, avxi::h, and avxi::l.

◆ operator>() [2/3]

__forceinline const avxb operator> ( const avxi a,
const int32_t  b 
)

Definition at line 545 of file util_avxi.h.

References Freestyle::a.

◆ operator>() [3/3]

__forceinline const avxb operator> ( const int32_t  a,
const avxi b 
)

Definition at line 549 of file util_avxi.h.

References Freestyle::a.

◆ operator>=() [1/3]

__forceinline const avxb operator>= ( const avxi a,
const avxi b 
)

Definition at line 520 of file util_avxi.h.

References Freestyle::a.

◆ operator>=() [2/3]

__forceinline const avxb operator>= ( const avxi a,
const int32_t  b 
)

Definition at line 524 of file util_avxi.h.

References Freestyle::a.

◆ operator>=() [3/3]

__forceinline const avxb operator>= ( const int32_t  a,
const avxi b 
)

Definition at line 528 of file util_avxi.h.

References Freestyle::a.

◆ operator>>()

__forceinline const avxi operator>> ( const avxi a,
const int32_t  n 
)

Definition at line 339 of file util_avxi.h.

References Freestyle::a.

◆ operator>>=()

__forceinline avxi& operator>>= ( avxi a,
const int32_t  b 
)

Definition at line 456 of file util_avxi.h.

References Freestyle::a.

◆ operator^() [1/3]

__forceinline const avxi operator^ ( const avxi a,
const avxi b 
)

Definition at line 302 of file util_avxi.h.

References Freestyle::a.

◆ operator^() [2/3]

__forceinline const avxi operator^ ( const avxi a,
const int32_t  b 
)

Definition at line 307 of file util_avxi.h.

References Freestyle::a.

◆ operator^() [3/3]

__forceinline const avxi operator^ ( const int32_t  a,
const avxi b 
)

Definition at line 311 of file util_avxi.h.

References Freestyle::a.

◆ operator^=() [1/2]

__forceinline avxi& operator^= ( avxi a,
const avxi b 
)

Definition at line 443 of file util_avxi.h.

References Freestyle::a.

◆ operator^=() [2/2]

__forceinline avxi& operator^= ( avxi a,
const int32_t  b 
)

Definition at line 447 of file util_avxi.h.

References Freestyle::a.

◆ operator|() [1/3]

__forceinline const avxi operator| ( const avxi a,
const avxi b 
)

Definition at line 282 of file util_avxi.h.

References Freestyle::a.

◆ operator|() [2/3]

__forceinline const avxi operator| ( const avxi a,
const int32_t  b 
)

Definition at line 287 of file util_avxi.h.

References Freestyle::a.

◆ operator|() [3/3]

__forceinline const avxi operator| ( const int32_t  a,
const avxi b 
)

Definition at line 291 of file util_avxi.h.

References Freestyle::a.

◆ operator|=() [1/2]

__forceinline avxi& operator|= ( avxi a,
const avxi b 
)

Definition at line 434 of file util_avxi.h.

References Freestyle::a.

◆ operator|=() [2/2]

__forceinline avxi& operator|= ( avxi a,
const int32_t  b 
)

Definition at line 438 of file util_avxi.h.

References Freestyle::a.

◆ print_avxi()

ccl_device_inline void print_avxi ( const char *  label,
const avxi a 
)

Output Operators.

Definition at line 738 of file util_avxi.h.

References Freestyle::a, and label.

◆ reduce_add()

__forceinline int reduce_add ( const avxi v)

Definition at line 709 of file util_avxi.h.

References extract< 0 >(), v, and vreduce_add().

Referenced by kernel_filter_construct_transform(), and single_scattering().

◆ reduce_max()

__forceinline int reduce_max ( const avxi v)

Definition at line 705 of file util_avxi.h.

References extract< 0 >(), v, and vreduce_max().

Referenced by filter_calculate_scale_sse().

◆ reduce_min()

__forceinline int reduce_min ( const avxi v)

Definition at line 701 of file util_avxi.h.

References extract< 0 >(), v, and vreduce_min().

◆ select()

__forceinline const avxi select ( const avxb m,
const avxi t,
const avxi f 
)

Definition at line 567 of file util_avxi.h.

References t.

Referenced by select_max(), and select_min().

◆ select_max() [1/2]

__forceinline uint32_t select_max ( const avxb valid,
const avxi v 
)

Definition at line 728 of file util_avxi.h.

References __bsf(), Freestyle::a, movemask(), select(), v, and vreduce_max().

◆ select_max() [2/2]

__forceinline uint32_t select_max ( const avxi v)

Definition at line 718 of file util_avxi.h.

References __bsf(), movemask(), v, and vreduce_max().

◆ select_min() [1/2]

__forceinline uint32_t select_min ( const avxb valid,
const avxi v 
)

Definition at line 723 of file util_avxi.h.

References __bsf(), Freestyle::a, movemask(), select(), v, and vreduce_min().

◆ select_min() [2/2]

__forceinline uint32_t select_min ( const avxi v)

Definition at line 714 of file util_avxi.h.

References __bsf(), movemask(), v, and vreduce_min().

◆ shuffle() [1/5]

template<size_t i>
__forceinline const avxi shuffle ( const avxi a)

Definition at line 596 of file util_avxi.h.

References Freestyle::a.

◆ shuffle() [2/5]

template<size_t i0, size_t i1>
__forceinline const avxi shuffle ( const avxi a)

Definition at line 601 of file util_avxi.h.

References Freestyle::a, and i1.

◆ shuffle() [3/5]

template<size_t i0, size_t i1, size_t i2, size_t i3>
__forceinline const avxi shuffle ( const avxi a)

Definition at line 612 of file util_avxi.h.

References Freestyle::a, and i1.

◆ shuffle() [4/5]

template<size_t i0, size_t i1>
__forceinline const avxi shuffle ( const avxi a,
const avxi b 
)

Definition at line 606 of file util_avxi.h.

References Freestyle::a, and i1.

◆ shuffle() [5/5]

template<size_t i0, size_t i1, size_t i2, size_t i3>
__forceinline const avxi shuffle ( const avxi a,
const avxi b 
)

Definition at line 619 of file util_avxi.h.

References Freestyle::a, and i1.

◆ shuffle< 0, 0, 2, 2 >()

template<>
__forceinline const avxi shuffle< 0, 0, 2, 2 > ( const avxi b)

Definition at line 625 of file util_avxi.h.

◆ shuffle< 0, 1, 0, 1 >()

template<>
__forceinline const avxi shuffle< 0, 1, 0, 1 > ( const avxi b)

Definition at line 633 of file util_avxi.h.

◆ shuffle< 1, 1, 3, 3 >()

template<>
__forceinline const avxi shuffle< 1, 1, 3, 3 > ( const avxi b)

Definition at line 629 of file util_avxi.h.

Referenced by ray_triangle_intersect().

◆ sra()

__forceinline const avxi sra ( const avxi a,
const int32_t  b 
)

Definition at line 344 of file util_avxi.h.

References Freestyle::a.

◆ srl()

__forceinline const avxi srl ( const avxi a,
const int32_t  b 
)

◆ unpackhi()

__forceinline avxi unpackhi ( const avxi a,
const avxi b 
)

Definition at line 590 of file util_avxi.h.

References Freestyle::a.

◆ unpacklo()

__forceinline avxi unpacklo ( const avxi a,
const avxi b 
)

Movement/Shifting/Shuffling Functions.

Definition at line 586 of file util_avxi.h.

References Freestyle::a.

◆ vreduce_add()

__forceinline const avxi vreduce_add ( const avxi v)

Definition at line 695 of file util_avxi.h.

References v, v1, and vreduce_add4().

Referenced by reduce_add().

◆ vreduce_add2()

__forceinline const avxi vreduce_add2 ( const avxi v)

Definition at line 686 of file util_avxi.h.

References v.

Referenced by vreduce_add4().

◆ vreduce_add4()

__forceinline const avxi vreduce_add4 ( const avxi v)

Definition at line 690 of file util_avxi.h.

References v, v1, and vreduce_add2().

Referenced by vreduce_add().

◆ vreduce_max()

__forceinline const avxi vreduce_max ( const avxi v)

Definition at line 680 of file util_avxi.h.

References max(), v, v1, and vreduce_max4().

Referenced by reduce_max(), and select_max().

◆ vreduce_max2()

__forceinline const avxi vreduce_max2 ( const avxi v)

Definition at line 671 of file util_avxi.h.

References max(), and v.

Referenced by vreduce_max4().

◆ vreduce_max4()

__forceinline const avxi vreduce_max4 ( const avxi v)

Definition at line 675 of file util_avxi.h.

References max(), v, v1, and vreduce_max2().

Referenced by vreduce_max().

◆ vreduce_min()

__forceinline const avxi vreduce_min ( const avxi v)

Definition at line 665 of file util_avxi.h.

References min(), v, v1, and vreduce_min4().

Referenced by reduce_min(), and select_min().

◆ vreduce_min2()

__forceinline const avxi vreduce_min2 ( const avxi v)

Reductions.

Definition at line 656 of file util_avxi.h.

References min(), and v.

Referenced by vreduce_min4().

◆ vreduce_min4()

__forceinline const avxi vreduce_min4 ( const avxi v)

Definition at line 660 of file util_avxi.h.

References min(), v, v1, and vreduce_min2().

Referenced by vreduce_min().