diff options
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/calling-conventions.ll')
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/calling-conventions.ll | 161 |
1 files changed, 81 insertions, 80 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/calling-conventions.ll b/llvm/test/CodeGen/AMDGPU/calling-conventions.ll index a1aef8d..da49140 100644 --- a/llvm/test/CodeGen/AMDGPU/calling-conventions.ll +++ b/llvm/test/CodeGen/AMDGPU/calling-conventions.ll @@ -2748,100 +2748,101 @@ define amdgpu_cs void @amdgpu_cs_v32i1(<32 x i1> %arg0) { ; GFX11-TRUE16-NEXT: v_and_b16 v10.l, v10.l, 1 ; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.l, 1, v9.l ; GFX11-TRUE16-NEXT: v_and_b16 v8.l, v8.l, 1 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 3, v11.l -; GFX11-TRUE16-NEXT: v_and_b16 v4.h, v6.l, 1 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 2, v10.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 1, v5.l -; GFX11-TRUE16-NEXT: v_or_b16 v6.h, v8.l, v9.l -; GFX11-TRUE16-NEXT: v_and_b16 v4.l, v4.l, 1 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 3, v7.l -; GFX11-TRUE16-NEXT: v_or_b16 v9.h, v9.h, v10.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 2, v4.h -; GFX11-TRUE16-NEXT: v_and_b16 v5.h, v6.h, 3 -; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v4.l, v5.l +; GFX11-TRUE16-NEXT: v_and_b16 v6.l, v6.l, 1 +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 1, v5.l +; GFX11-TRUE16-NEXT: v_and_b16 v0.h, v4.l, 1 ; GFX11-TRUE16-NEXT: v_and_b16 v1.h, v2.l, 1 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 3, v3.l -; GFX11-TRUE16-NEXT: v_or_b16 v2.l, v6.l, v4.h -; GFX11-TRUE16-NEXT: v_or_b16 v3.l, v5.h, v9.h -; GFX11-TRUE16-NEXT: v_and_b16 v0.h, v0.h, 3 ; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 1, v1.l ; GFX11-TRUE16-NEXT: v_and_b16 v0.l, v0.l, 1 -; GFX11-TRUE16-NEXT: v_and_b16 v3.h, v28.l, 1 -; GFX11-TRUE16-NEXT: v_and_b16 v4.l, v26.l, 1 -; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v0.h, v2.l -; GFX11-TRUE16-NEXT: v_and_b16 v2.l, v3.l, 15 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 1, v29.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 2, v1.h -; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v0.l, v1.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.l, 2, v4.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 1, v25.l -; GFX11-TRUE16-NEXT: v_or_b16 v3.l, v3.h, v3.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.h, 3, v27.l -; GFX11-TRUE16-NEXT: v_and_b16 v5.l, v24.l, 1 -; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v2.h, v1.h -; GFX11-TRUE16-NEXT: v_and_b16 v0.l, v0.l, 3 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.h, 1, v21.l -; GFX11-TRUE16-NEXT: v_or_b16 v3.h, v3.h, v4.l -; GFX11-TRUE16-NEXT: v_or_b16 v4.l, v5.l, v4.h -; GFX11-TRUE16-NEXT: v_and_b16 v5.l, v22.l, 1 -; GFX11-TRUE16-NEXT: v_and_b16 v6.l, v20.l, 1 -; GFX11-TRUE16-NEXT: v_and_b16 v6.h, v18.l, 1 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 1, v17.l -; GFX11-TRUE16-NEXT: v_and_b16 v7.h, v16.l, 1 ; GFX11-TRUE16-NEXT: v_and_b16 v14.l, v14.l, 1 ; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.l, 1, v13.l ; GFX11-TRUE16-NEXT: v_and_b16 v12.l, v12.l, 1 -; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v0.l, v1.h -; GFX11-TRUE16-NEXT: v_and_b16 v1.h, v30.l, 1 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v4.h, 3, v23.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v5.l, 2, v5.l -; GFX11-TRUE16-NEXT: v_or_b16 v5.h, v6.l, v5.h -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.l, 3, v19.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v6.h, 2, v6.h -; GFX11-TRUE16-NEXT: v_or_b16 v7.l, v7.h, v7.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 3, v15.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v13.h, 2, v14.l -; GFX11-TRUE16-NEXT: v_or_b16 v12.l, v12.l, v13.l -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 3, v31.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v9.h, 3, v11.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.l, 2, v10.l +; GFX11-TRUE16-NEXT: v_or_b16 v5.h, v8.l, v9.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v7.l, 3, v7.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 2, v6.l +; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v0.h, v4.h +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 3, v3.l ; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 2, v1.h -; GFX11-TRUE16-NEXT: v_and_b16 v4.l, v4.l, 3 -; GFX11-TRUE16-NEXT: v_or_b16 v4.h, v4.h, v5.l -; GFX11-TRUE16-NEXT: v_and_b16 v5.l, v5.h, 3 -; GFX11-TRUE16-NEXT: v_or_b16 v5.h, v6.l, v6.h -; GFX11-TRUE16-NEXT: v_and_b16 v6.l, v7.l, 3 -; GFX11-TRUE16-NEXT: v_or_b16 v10.h, v12.h, v13.h -; GFX11-TRUE16-NEXT: v_and_b16 v8.h, v12.l, 3 +; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v0.l, v1.l +; GFX11-TRUE16-NEXT: v_and_b16 v25.h, v26.l, 1 +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.l, 1, v25.l +; GFX11-TRUE16-NEXT: v_and_b16 v24.l, v24.l, 1 +; GFX11-TRUE16-NEXT: v_and_b16 v22.l, v22.l, 1 +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v21.l, 1, v21.l +; GFX11-TRUE16-NEXT: v_and_b16 v20.l, v20.l, 1 +; GFX11-TRUE16-NEXT: v_and_b16 v18.l, v18.l, 1 +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.l, 1, v17.l +; GFX11-TRUE16-NEXT: v_and_b16 v16.l, v16.l, 1 +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v12.h, 3, v15.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v10.h, 2, v14.l +; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v12.l, v13.l +; GFX11-TRUE16-NEXT: v_or_b16 v6.h, v9.h, v10.l +; GFX11-TRUE16-NEXT: v_and_b16 v1.l, v5.h, 3 +; GFX11-TRUE16-NEXT: v_or_b16 v2.l, v7.l, v2.l +; GFX11-TRUE16-NEXT: v_and_b16 v0.h, v0.h, 3 ; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v2.h, v1.h -; GFX11-TRUE16-NEXT: v_and_b16 v2.h, v3.l, 3 -; GFX11-TRUE16-NEXT: v_or_b16 v3.l, v4.l, v3.h -; GFX11-TRUE16-NEXT: v_or_b16 v3.h, v5.l, v4.h -; GFX11-TRUE16-NEXT: v_or_b16 v4.l, v6.l, v5.h -; GFX11-TRUE16-NEXT: v_or_b16 v8.h, v8.h, v10.h +; GFX11-TRUE16-NEXT: v_and_b16 v0.l, v0.l, 3 +; GFX11-TRUE16-NEXT: v_and_b16 v30.l, v30.l, 1 +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v29.l, 1, v29.l +; GFX11-TRUE16-NEXT: v_and_b16 v28.l, v28.l, 1 +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.h, 3, v27.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v25.h, 2, v25.h +; GFX11-TRUE16-NEXT: v_or_b16 v24.l, v24.l, v25.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v23.l, 3, v23.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v22.l, 2, v22.l +; GFX11-TRUE16-NEXT: v_or_b16 v16.h, v20.l, v21.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v17.h, 3, v19.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v18.l, 2, v18.l +; GFX11-TRUE16-NEXT: v_or_b16 v15.h, v16.l, v17.l +; GFX11-TRUE16-NEXT: v_or_b16 v2.h, v12.h, v10.h +; GFX11-TRUE16-NEXT: v_and_b16 v3.l, v8.h, 3 +; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.l, v6.h +; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v0.h, v2.l +; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v0.l, v1.h +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v30.h, 3, v31.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v28.h, 2, v30.l +; GFX11-TRUE16-NEXT: v_or_b16 v24.h, v28.l, v29.l +; GFX11-TRUE16-NEXT: v_or_b16 v22.h, v22.h, v25.h +; GFX11-TRUE16-NEXT: v_and_b16 v24.l, v24.l, 3 +; GFX11-TRUE16-NEXT: v_or_b16 v18.h, v23.l, v22.l +; GFX11-TRUE16-NEXT: v_and_b16 v14.h, v16.h, 3 +; GFX11-TRUE16-NEXT: v_or_b16 v16.h, v17.h, v18.l +; GFX11-TRUE16-NEXT: v_and_b16 v1.h, v15.h, 3 +; GFX11-TRUE16-NEXT: v_or_b16 v2.l, v3.l, v2.h +; GFX11-TRUE16-NEXT: v_and_b16 v1.l, v1.l, 15 ; GFX11-TRUE16-NEXT: v_lshlrev_b16 v0.h, 4, v0.h ; GFX11-TRUE16-NEXT: v_and_b16 v0.l, v0.l, 15 -; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v2.h, v1.h -; GFX11-TRUE16-NEXT: v_and_b16 v2.h, v3.l, 15 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v3.l, 4, v3.h -; GFX11-TRUE16-NEXT: v_and_b16 v3.h, v4.l, 15 -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 12, v8.h -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 8, v2.l +; GFX11-TRUE16-NEXT: v_or_b16 v28.h, v30.h, v28.h +; GFX11-TRUE16-NEXT: v_and_b16 v24.h, v24.h, 3 +; GFX11-TRUE16-NEXT: v_or_b16 v20.h, v24.l, v22.h +; GFX11-TRUE16-NEXT: v_or_b16 v2.h, v14.h, v18.h +; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v1.h, v16.h +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 12, v2.l +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.l, 8, v1.l ; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v0.l, v0.h -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v0.h, 12, v1.h -; GFX11-TRUE16-NEXT: v_lshlrev_b16 v1.h, 8, v2.h -; GFX11-TRUE16-NEXT: v_or_b16 v2.h, v3.h, v3.l -; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.l, v2.l +; GFX11-TRUE16-NEXT: v_or_b16 v23.h, v24.h, v28.h +; GFX11-TRUE16-NEXT: v_and_b16 v0.h, v20.h, 15 +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.h, 4, v2.h +; GFX11-TRUE16-NEXT: v_and_b16 v1.h, v1.h, 15 +; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v2.l, v1.l ; GFX11-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v0.l -; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4) -; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v0.h, v1.h -; GFX11-TRUE16-NEXT: v_and_b16 v1.h, 0xff, v2.h -; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2) +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v2.l, 12, v23.h +; GFX11-TRUE16-NEXT: v_lshlrev_b16 v0.h, 8, v0.h +; GFX11-TRUE16-NEXT: v_or_b16 v1.h, v1.h, v2.h +; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3) ; GFX11-TRUE16-NEXT: v_or_b16 v0.l, v0.l, v1.l -; GFX11-TRUE16-NEXT: v_or_b16 v1.l, v1.h, v0.h -; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2) -; GFX11-TRUE16-NEXT: v_and_b32_e32 v0, 0xffff, v0 -; GFX11-TRUE16-NEXT: v_lshlrev_b32_e32 v1, 16, v1 +; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v2.l, v0.h +; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3) +; GFX11-TRUE16-NEXT: v_and_b16 v1.l, 0xff, v1.h +; GFX11-TRUE16-NEXT: v_mov_b16_e32 v2.l, v0.l +; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.l, 0 +; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3) +; GFX11-TRUE16-NEXT: v_or_b16 v0.h, v1.l, v0.h +; GFX11-TRUE16-NEXT: v_and_b32_e32 v1, 0xffff, v2 ; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) -; GFX11-TRUE16-NEXT: v_or_b32_e32 v0, v0, v1 +; GFX11-TRUE16-NEXT: v_or_b32_e32 v0, v1, v0 ; GFX11-TRUE16-NEXT: global_store_b32 v[0:1], v0, off ; GFX11-TRUE16-NEXT: s_endpgm ; |