@@ -224,77 +224,40 @@ define amdgpu_ps <4 x float> @image_bvh_intersect_ray_a16(i32 inreg %node_ptr, f
224224; GFX10-SDAG-NEXT: s_waitcnt vmcnt(0)
225225; GFX10-SDAG-NEXT: ; return to shader part epilog
226226;
227- ; GFX1013-GISEL-LABEL: image_bvh_intersect_ray_a16:
228- ; GFX1013-GISEL: ; %bb.0: ; %main_body
229- ; GFX1013-GISEL-NEXT: s_and_b32 s8, s8, 0xffff
230- ; GFX1013-GISEL-NEXT: s_mov_b32 s16, s9
231- ; GFX1013-GISEL-NEXT: v_alignbit_b32 v0, s8, s7, 16
232- ; GFX1013-GISEL-NEXT: s_lshr_b32 s9, s5, 16
233- ; GFX1013-GISEL-NEXT: s_and_b32 s5, s5, 0xffff
234- ; GFX1013-GISEL-NEXT: s_lshl_b32 s8, s9, 16
235- ; GFX1013-GISEL-NEXT: s_and_b32 s9, s7, 0xffff
236- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s7, v0
237- ; GFX1013-GISEL-NEXT: s_and_b32 s6, s6, 0xffff
238- ; GFX1013-GISEL-NEXT: s_lshl_b32 s9, s9, 16
239- ; GFX1013-GISEL-NEXT: s_or_b32 s5, s5, s8
240- ; GFX1013-GISEL-NEXT: s_or_b32 s6, s6, s9
241- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v0, s0
242- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v1, s1
243- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v2, s2
244- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v3, s3
245- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v4, s4
246- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v5, s5
247- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v6, s6
248- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v7, s7
249- ; GFX1013-GISEL-NEXT: s_mov_b32 s17, s10
250- ; GFX1013-GISEL-NEXT: s_mov_b32 s18, s11
251- ; GFX1013-GISEL-NEXT: s_mov_b32 s19, s12
252- ; GFX1013-GISEL-NEXT: image_bvh_intersect_ray v[0:3], v[0:7], s[16:19] a16
253- ; GFX1013-GISEL-NEXT: s_waitcnt vmcnt(0)
254- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s0, v0
255- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s1, v1
256- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s2, v2
257- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s3, v3
258- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v0, s0
259- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v1, s1
260- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v2, s2
261- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v3, s3
262- ; GFX1013-GISEL-NEXT: ; return to shader part epilog
263- ;
264- ; GFX1030-GISEL-LABEL: image_bvh_intersect_ray_a16:
265- ; GFX1030-GISEL: ; %bb.0: ; %main_body
266- ; GFX1030-GISEL-NEXT: s_mov_b32 s16, s9
267- ; GFX1030-GISEL-NEXT: s_lshr_b32 s9, s5, 16
268- ; GFX1030-GISEL-NEXT: s_and_b32 s5, s5, 0xffff
269- ; GFX1030-GISEL-NEXT: s_lshl_b32 s9, s9, 16
270- ; GFX1030-GISEL-NEXT: s_and_b32 s6, s6, 0xffff
271- ; GFX1030-GISEL-NEXT: s_or_b32 s5, s5, s9
272- ; GFX1030-GISEL-NEXT: s_and_b32 s9, s7, 0xffff
273- ; GFX1030-GISEL-NEXT: s_and_b32 s8, s8, 0xffff
274- ; GFX1030-GISEL-NEXT: s_lshl_b32 s9, s9, 16
275- ; GFX1030-GISEL-NEXT: v_alignbit_b32 v7, s8, s7, 16
276- ; GFX1030-GISEL-NEXT: s_or_b32 s6, s6, s9
277- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v0, s0
278- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v1, s1
279- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v2, s2
280- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v3, s3
281- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v4, s4
282- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v5, s5
283- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v6, s6
284- ; GFX1030-GISEL-NEXT: s_mov_b32 s17, s10
285- ; GFX1030-GISEL-NEXT: s_mov_b32 s18, s11
286- ; GFX1030-GISEL-NEXT: s_mov_b32 s19, s12
287- ; GFX1030-GISEL-NEXT: image_bvh_intersect_ray v[0:3], v[0:7], s[16:19] a16
288- ; GFX1030-GISEL-NEXT: s_waitcnt vmcnt(0)
289- ; GFX1030-GISEL-NEXT: v_readfirstlane_b32 s0, v0
290- ; GFX1030-GISEL-NEXT: v_readfirstlane_b32 s1, v1
291- ; GFX1030-GISEL-NEXT: v_readfirstlane_b32 s2, v2
292- ; GFX1030-GISEL-NEXT: v_readfirstlane_b32 s3, v3
293- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v0, s0
294- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v1, s1
295- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v2, s2
296- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v3, s3
297- ; GFX1030-GISEL-NEXT: ; return to shader part epilog
227+ ; GFX10-GISEL-LABEL: image_bvh_intersect_ray_a16:
228+ ; GFX10-GISEL: ; %bb.0: ; %main_body
229+ ; GFX10-GISEL-NEXT: s_mov_b32 s16, s9
230+ ; GFX10-GISEL-NEXT: s_lshr_b32 s9, s5, 16
231+ ; GFX10-GISEL-NEXT: s_and_b32 s5, s5, 0xffff
232+ ; GFX10-GISEL-NEXT: s_lshl_b32 s9, s9, 16
233+ ; GFX10-GISEL-NEXT: s_and_b32 s6, s6, 0xffff
234+ ; GFX10-GISEL-NEXT: s_or_b32 s5, s5, s9
235+ ; GFX10-GISEL-NEXT: s_and_b32 s9, s7, 0xffff
236+ ; GFX10-GISEL-NEXT: s_and_b32 s8, s8, 0xffff
237+ ; GFX10-GISEL-NEXT: s_lshl_b32 s9, s9, 16
238+ ; GFX10-GISEL-NEXT: v_alignbit_b32 v7, s8, s7, 16
239+ ; GFX10-GISEL-NEXT: s_or_b32 s6, s6, s9
240+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v0, s0
241+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v1, s1
242+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v2, s2
243+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v3, s3
244+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v4, s4
245+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v5, s5
246+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v6, s6
247+ ; GFX10-GISEL-NEXT: s_mov_b32 s17, s10
248+ ; GFX10-GISEL-NEXT: s_mov_b32 s18, s11
249+ ; GFX10-GISEL-NEXT: s_mov_b32 s19, s12
250+ ; GFX10-GISEL-NEXT: image_bvh_intersect_ray v[0:3], v[0:7], s[16:19] a16
251+ ; GFX10-GISEL-NEXT: s_waitcnt vmcnt(0)
252+ ; GFX10-GISEL-NEXT: v_readfirstlane_b32 s0, v0
253+ ; GFX10-GISEL-NEXT: v_readfirstlane_b32 s1, v1
254+ ; GFX10-GISEL-NEXT: v_readfirstlane_b32 s2, v2
255+ ; GFX10-GISEL-NEXT: v_readfirstlane_b32 s3, v3
256+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v0, s0
257+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v1, s1
258+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v2, s2
259+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v3, s3
260+ ; GFX10-GISEL-NEXT: ; return to shader part epilog
298261;
299262; GFX11-SDAG-LABEL: image_bvh_intersect_ray_a16:
300263; GFX11-SDAG: ; %bb.0: ; %main_body
@@ -526,79 +489,41 @@ define amdgpu_ps <4 x float> @image_bvh64_intersect_ray_a16(i64 inreg %node_ptr,
526489; GFX10-SDAG-NEXT: s_waitcnt vmcnt(0)
527490; GFX10-SDAG-NEXT: ; return to shader part epilog
528491;
529- ; GFX1013-GISEL-LABEL: image_bvh64_intersect_ray_a16:
530- ; GFX1013-GISEL: ; %bb.0: ; %main_body
531- ; GFX1013-GISEL-NEXT: s_and_b32 s9, s9, 0xffff
532- ; GFX1013-GISEL-NEXT: s_mov_b32 s16, s10
533- ; GFX1013-GISEL-NEXT: v_alignbit_b32 v0, s9, s8, 16
534- ; GFX1013-GISEL-NEXT: s_lshr_b32 s10, s6, 16
535- ; GFX1013-GISEL-NEXT: s_and_b32 s6, s6, 0xffff
536- ; GFX1013-GISEL-NEXT: s_lshl_b32 s9, s10, 16
537- ; GFX1013-GISEL-NEXT: s_and_b32 s10, s8, 0xffff
538- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s8, v0
539- ; GFX1013-GISEL-NEXT: s_and_b32 s7, s7, 0xffff
540- ; GFX1013-GISEL-NEXT: s_lshl_b32 s10, s10, 16
541- ; GFX1013-GISEL-NEXT: s_or_b32 s6, s6, s9
542- ; GFX1013-GISEL-NEXT: s_or_b32 s7, s7, s10
543- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v0, s0
544- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v1, s1
545- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v2, s2
546- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v3, s3
547- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v4, s4
548- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v5, s5
549- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v6, s6
550- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v7, s7
551- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v8, s8
552- ; GFX1013-GISEL-NEXT: s_mov_b32 s17, s11
553- ; GFX1013-GISEL-NEXT: s_mov_b32 s18, s12
554- ; GFX1013-GISEL-NEXT: s_mov_b32 s19, s13
555- ; GFX1013-GISEL-NEXT: image_bvh64_intersect_ray v[0:3], v[0:8], s[16:19] a16
556- ; GFX1013-GISEL-NEXT: s_waitcnt vmcnt(0)
557- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s0, v0
558- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s1, v1
559- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s2, v2
560- ; GFX1013-GISEL-NEXT: v_readfirstlane_b32 s3, v3
561- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v0, s0
562- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v1, s1
563- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v2, s2
564- ; GFX1013-GISEL-NEXT: v_mov_b32_e32 v3, s3
565- ; GFX1013-GISEL-NEXT: ; return to shader part epilog
566- ;
567- ; GFX1030-GISEL-LABEL: image_bvh64_intersect_ray_a16:
568- ; GFX1030-GISEL: ; %bb.0: ; %main_body
569- ; GFX1030-GISEL-NEXT: s_mov_b32 s16, s10
570- ; GFX1030-GISEL-NEXT: s_lshr_b32 s10, s6, 16
571- ; GFX1030-GISEL-NEXT: s_and_b32 s6, s6, 0xffff
572- ; GFX1030-GISEL-NEXT: s_lshl_b32 s10, s10, 16
573- ; GFX1030-GISEL-NEXT: s_and_b32 s7, s7, 0xffff
574- ; GFX1030-GISEL-NEXT: s_or_b32 s6, s6, s10
575- ; GFX1030-GISEL-NEXT: s_and_b32 s10, s8, 0xffff
576- ; GFX1030-GISEL-NEXT: s_and_b32 s9, s9, 0xffff
577- ; GFX1030-GISEL-NEXT: s_lshl_b32 s10, s10, 16
578- ; GFX1030-GISEL-NEXT: v_alignbit_b32 v8, s9, s8, 16
579- ; GFX1030-GISEL-NEXT: s_or_b32 s7, s7, s10
580- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v0, s0
581- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v1, s1
582- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v2, s2
583- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v3, s3
584- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v4, s4
585- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v5, s5
586- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v6, s6
587- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v7, s7
588- ; GFX1030-GISEL-NEXT: s_mov_b32 s17, s11
589- ; GFX1030-GISEL-NEXT: s_mov_b32 s18, s12
590- ; GFX1030-GISEL-NEXT: s_mov_b32 s19, s13
591- ; GFX1030-GISEL-NEXT: image_bvh64_intersect_ray v[0:3], v[0:8], s[16:19] a16
592- ; GFX1030-GISEL-NEXT: s_waitcnt vmcnt(0)
593- ; GFX1030-GISEL-NEXT: v_readfirstlane_b32 s0, v0
594- ; GFX1030-GISEL-NEXT: v_readfirstlane_b32 s1, v1
595- ; GFX1030-GISEL-NEXT: v_readfirstlane_b32 s2, v2
596- ; GFX1030-GISEL-NEXT: v_readfirstlane_b32 s3, v3
597- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v0, s0
598- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v1, s1
599- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v2, s2
600- ; GFX1030-GISEL-NEXT: v_mov_b32_e32 v3, s3
601- ; GFX1030-GISEL-NEXT: ; return to shader part epilog
492+ ; GFX10-GISEL-LABEL: image_bvh64_intersect_ray_a16:
493+ ; GFX10-GISEL: ; %bb.0: ; %main_body
494+ ; GFX10-GISEL-NEXT: s_mov_b32 s16, s10
495+ ; GFX10-GISEL-NEXT: s_lshr_b32 s10, s6, 16
496+ ; GFX10-GISEL-NEXT: s_and_b32 s6, s6, 0xffff
497+ ; GFX10-GISEL-NEXT: s_lshl_b32 s10, s10, 16
498+ ; GFX10-GISEL-NEXT: s_and_b32 s7, s7, 0xffff
499+ ; GFX10-GISEL-NEXT: s_or_b32 s6, s6, s10
500+ ; GFX10-GISEL-NEXT: s_and_b32 s10, s8, 0xffff
501+ ; GFX10-GISEL-NEXT: s_and_b32 s9, s9, 0xffff
502+ ; GFX10-GISEL-NEXT: s_lshl_b32 s10, s10, 16
503+ ; GFX10-GISEL-NEXT: v_alignbit_b32 v8, s9, s8, 16
504+ ; GFX10-GISEL-NEXT: s_or_b32 s7, s7, s10
505+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v0, s0
506+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v1, s1
507+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v2, s2
508+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v3, s3
509+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v4, s4
510+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v5, s5
511+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v6, s6
512+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v7, s7
513+ ; GFX10-GISEL-NEXT: s_mov_b32 s17, s11
514+ ; GFX10-GISEL-NEXT: s_mov_b32 s18, s12
515+ ; GFX10-GISEL-NEXT: s_mov_b32 s19, s13
516+ ; GFX10-GISEL-NEXT: image_bvh64_intersect_ray v[0:3], v[0:8], s[16:19] a16
517+ ; GFX10-GISEL-NEXT: s_waitcnt vmcnt(0)
518+ ; GFX10-GISEL-NEXT: v_readfirstlane_b32 s0, v0
519+ ; GFX10-GISEL-NEXT: v_readfirstlane_b32 s1, v1
520+ ; GFX10-GISEL-NEXT: v_readfirstlane_b32 s2, v2
521+ ; GFX10-GISEL-NEXT: v_readfirstlane_b32 s3, v3
522+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v0, s0
523+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v1, s1
524+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v2, s2
525+ ; GFX10-GISEL-NEXT: v_mov_b32_e32 v3, s3
526+ ; GFX10-GISEL-NEXT: ; return to shader part epilog
602527;
603528; GFX11-SDAG-LABEL: image_bvh64_intersect_ray_a16:
604529; GFX11-SDAG: ; %bb.0: ; %main_body
0 commit comments