@@ -1420,23 +1420,14 @@ define <4 x float> @global_load_f32_zext_vgpr_range_too_large(ptr addrspace(1) %
14201420;; Check add-as-or with split 64-bit or.
14211421define <4 x float > @global_load_i8_offset_or_i64_imm_offset_16 (ptr addrspace (6 ) %sbase , i32 %idx ) {
14221422;
1423- ; GFX-SDAG-LABEL: global_load_i8_offset_or_i64_imm_offset_16:
1424- ; GFX-SDAG: ; %bb.0:
1425- ; GFX-SDAG-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1426- ; GFX-SDAG-NEXT: v_or_b32_e32 v0, 16, v1
1427- ; GFX-SDAG-NEXT: v_mov_b32_e32 v1, 0
1428- ; GFX-SDAG-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc1
1429- ; GFX-SDAG-NEXT: s_waitcnt vmcnt(0)
1430- ; GFX-SDAG-NEXT: s_setpc_b64 s[30:31]
1431- ;
1432- ; GFX-ISEL-LABEL: global_load_i8_offset_or_i64_imm_offset_16:
1433- ; GFX-ISEL: ; %bb.0:
1434- ; GFX-ISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1435- ; GFX-ISEL-NEXT: v_mov_b32_e32 v3, 0
1436- ; GFX-ISEL-NEXT: v_or_b32_e32 v2, 16, v1
1437- ; GFX-ISEL-NEXT: global_load_dwordx4 v[0:3], v[2:3], off sc1
1438- ; GFX-ISEL-NEXT: s_waitcnt vmcnt(0)
1439- ; GFX-ISEL-NEXT: s_setpc_b64 s[30:31]
1423+ ; GFX-LABEL: global_load_i8_offset_or_i64_imm_offset_16:
1424+ ; GFX: ; %bb.0:
1425+ ; GFX-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1426+ ; GFX-NEXT: v_or_b32_e32 v0, 16, v1
1427+ ; GFX-NEXT: v_mov_b32_e32 v1, 0
1428+ ; GFX-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc1
1429+ ; GFX-NEXT: s_waitcnt vmcnt(0)
1430+ ; GFX-NEXT: s_setpc_b64 s[30:31]
14401431 %zext.idx = zext i32 %idx to i64
14411432 %or = or i64 %zext.idx , 16
14421433 %addr = inttoptr i64 %or to ptr addrspace (1 )
@@ -1447,23 +1438,14 @@ define <4 x float> @global_load_i8_offset_or_i64_imm_offset_16(ptr addrspace(6)
14471438
14481439define <4 x float > @global_load_i8_offset_or_i64_imm_offset_4160 (ptr addrspace (6 ) %sbase , i32 %idx ) {
14491440;
1450- ; GFX-SDAG-LABEL: global_load_i8_offset_or_i64_imm_offset_4160:
1451- ; GFX-SDAG: ; %bb.0:
1452- ; GFX-SDAG-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1453- ; GFX-SDAG-NEXT: v_or_b32_e32 v0, 0x1040, v1
1454- ; GFX-SDAG-NEXT: v_mov_b32_e32 v1, 0
1455- ; GFX-SDAG-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc0 sc1
1456- ; GFX-SDAG-NEXT: s_waitcnt vmcnt(0)
1457- ; GFX-SDAG-NEXT: s_setpc_b64 s[30:31]
1458- ;
1459- ; GFX-ISEL-LABEL: global_load_i8_offset_or_i64_imm_offset_4160:
1460- ; GFX-ISEL: ; %bb.0:
1461- ; GFX-ISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1462- ; GFX-ISEL-NEXT: v_mov_b32_e32 v3, 0
1463- ; GFX-ISEL-NEXT: v_or_b32_e32 v2, 0x1040, v1
1464- ; GFX-ISEL-NEXT: global_load_dwordx4 v[0:3], v[2:3], off sc0 sc1
1465- ; GFX-ISEL-NEXT: s_waitcnt vmcnt(0)
1466- ; GFX-ISEL-NEXT: s_setpc_b64 s[30:31]
1441+ ; GFX-LABEL: global_load_i8_offset_or_i64_imm_offset_4160:
1442+ ; GFX: ; %bb.0:
1443+ ; GFX-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1444+ ; GFX-NEXT: v_or_b32_e32 v0, 0x1040, v1
1445+ ; GFX-NEXT: v_mov_b32_e32 v1, 0
1446+ ; GFX-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc0 sc1
1447+ ; GFX-NEXT: s_waitcnt vmcnt(0)
1448+ ; GFX-NEXT: s_setpc_b64 s[30:31]
14671449 %zext.idx = zext i32 %idx to i64
14681450 %or = or i64 %zext.idx , 4160
14691451 %addr = inttoptr i64 %or to ptr addrspace (1 )
@@ -2629,23 +2611,14 @@ define <4 x float> @global_load_f32_saddr_zext_vgpr_range_too_large(ptr addrspac
26292611;; Check add-as-or with split 64-bit or.
26302612define <4 x float > @global_load_saddr_i8_offset_or_i64_imm_offset_16 (ptr addrspace (6 ) inreg %sbase , i32 %idx ) {
26312613;
2632- ; GFX-SDAG-LABEL: global_load_saddr_i8_offset_or_i64_imm_offset_16:
2633- ; GFX-SDAG: ; %bb.0:
2634- ; GFX-SDAG-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2635- ; GFX-SDAG-NEXT: v_or_b32_e32 v0, 16, v0
2636- ; GFX-SDAG-NEXT: v_mov_b32_e32 v1, 0
2637- ; GFX-SDAG-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc0
2638- ; GFX-SDAG-NEXT: s_waitcnt vmcnt(0)
2639- ; GFX-SDAG-NEXT: s_setpc_b64 s[30:31]
2640- ;
2641- ; GFX-ISEL-LABEL: global_load_saddr_i8_offset_or_i64_imm_offset_16:
2642- ; GFX-ISEL: ; %bb.0:
2643- ; GFX-ISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2644- ; GFX-ISEL-NEXT: v_mov_b32_e32 v1, 0
2645- ; GFX-ISEL-NEXT: v_or_b32_e32 v0, 16, v0
2646- ; GFX-ISEL-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc0
2647- ; GFX-ISEL-NEXT: s_waitcnt vmcnt(0)
2648- ; GFX-ISEL-NEXT: s_setpc_b64 s[30:31]
2614+ ; GFX-LABEL: global_load_saddr_i8_offset_or_i64_imm_offset_16:
2615+ ; GFX: ; %bb.0:
2616+ ; GFX-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2617+ ; GFX-NEXT: v_or_b32_e32 v0, 16, v0
2618+ ; GFX-NEXT: v_mov_b32_e32 v1, 0
2619+ ; GFX-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc0
2620+ ; GFX-NEXT: s_waitcnt vmcnt(0)
2621+ ; GFX-NEXT: s_setpc_b64 s[30:31]
26492622 %zext.idx = zext i32 %idx to i64
26502623 %or = or i64 %zext.idx , 16
26512624 %addr = inttoptr i64 %or to ptr addrspace (1 )
@@ -2656,23 +2629,14 @@ define <4 x float> @global_load_saddr_i8_offset_or_i64_imm_offset_16(ptr addrspa
26562629
26572630define <4 x float > @global_load_saddr_i8_offset_or_i64_imm_offset_4160 (ptr addrspace (6 ) inreg %sbase , i32 %idx ) {
26582631;
2659- ; GFX-SDAG-LABEL: global_load_saddr_i8_offset_or_i64_imm_offset_4160:
2660- ; GFX-SDAG: ; %bb.0:
2661- ; GFX-SDAG-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2662- ; GFX-SDAG-NEXT: v_or_b32_e32 v0, 0x1040, v0
2663- ; GFX-SDAG-NEXT: v_mov_b32_e32 v1, 0
2664- ; GFX-SDAG-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc1
2665- ; GFX-SDAG-NEXT: s_waitcnt vmcnt(0)
2666- ; GFX-SDAG-NEXT: s_setpc_b64 s[30:31]
2667- ;
2668- ; GFX-ISEL-LABEL: global_load_saddr_i8_offset_or_i64_imm_offset_4160:
2669- ; GFX-ISEL: ; %bb.0:
2670- ; GFX-ISEL-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2671- ; GFX-ISEL-NEXT: v_mov_b32_e32 v1, 0
2672- ; GFX-ISEL-NEXT: v_or_b32_e32 v0, 0x1040, v0
2673- ; GFX-ISEL-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc1
2674- ; GFX-ISEL-NEXT: s_waitcnt vmcnt(0)
2675- ; GFX-ISEL-NEXT: s_setpc_b64 s[30:31]
2632+ ; GFX-LABEL: global_load_saddr_i8_offset_or_i64_imm_offset_4160:
2633+ ; GFX: ; %bb.0:
2634+ ; GFX-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2635+ ; GFX-NEXT: v_or_b32_e32 v0, 0x1040, v0
2636+ ; GFX-NEXT: v_mov_b32_e32 v1, 0
2637+ ; GFX-NEXT: global_load_dwordx4 v[0:3], v[0:1], off sc1
2638+ ; GFX-NEXT: s_waitcnt vmcnt(0)
2639+ ; GFX-NEXT: s_setpc_b64 s[30:31]
26762640 %zext.idx = zext i32 %idx to i64
26772641 %or = or i64 %zext.idx , 4160
26782642 %addr = inttoptr i64 %or to ptr addrspace (1 )
0 commit comments