96 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass postrapseudos -verify-machineinstrs %s -o - | FileCheck -check-prefixes=GCN,GFX900,NOT-GFX1250 %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx90a -run-pass postrapseudos -verify-machineinstrs %s -o - | FileCheck -check-prefixes=GCN,GFX90A,NOT-GFX1250 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx942 -run-pass postrapseudos -verify-machineinstrs %s -o - | FileCheck -check-prefixes=GCN,GFX942,NOT-GFX1250 %s4# RUN: llc -mtriple=amdgcn -mcpu=gfx1250 -run-pass postrapseudos %s -o - | FileCheck -check-prefixes=GCN,GFX1250 %s5 6# GCN-LABEL: name: v_mov_b64_from_vgpr7# GFX900: $vgpr0 = V_MOV_B32_e32 $vgpr2, implicit $exec, implicit-def $vgpr0_vgpr18# GFX900: $vgpr1 = V_MOV_B32_e32 $vgpr3, implicit $exec, implicit-def $vgpr0_vgpr19# GFX90A: $vgpr0_vgpr1 = V_PK_MOV_B32 8, $vgpr2_vgpr3, 12, $vgpr2_vgpr3, 0, 0, 0, 0, 0, implicit $exec10# GFX942: $vgpr0_vgpr1 = V_MOV_B64_e32 $vgpr2_vgpr3, implicit $exec11# GFX1250: $vgpr0_vgpr1 = V_MOV_B64_e32 $vgpr2_vgpr3, implicit $exec12name: v_mov_b64_from_vgpr13body: |14 bb.0:15 $vgpr0_vgpr1 = V_MOV_B64_PSEUDO $vgpr2_vgpr3, implicit $exec16...17 18# GCN-LABEL: name: v_mov_b64_from_sgpr19# GFX900: $vgpr0 = V_MOV_B32_e32 $sgpr2, implicit $exec, implicit-def $vgpr0_vgpr120# GFX900: $vgpr1 = V_MOV_B32_e32 $sgpr3, implicit $exec, implicit-def $vgpr0_vgpr121# GFX90A: $vgpr0_vgpr1 = V_PK_MOV_B32 8, $sgpr2_sgpr3, 12, $sgpr2_sgpr3, 0, 0, 0, 0, 0, implicit $exec22# GFX942: $vgpr0_vgpr1 = V_MOV_B64_e32 $sgpr2_sgpr3, implicit $exec23# GFX1250: $vgpr0_vgpr1 = V_MOV_B64_e32 $sgpr2_sgpr3, implicit $exec24name: v_mov_b64_from_sgpr25body: |26 bb.0:27 $vgpr0_vgpr1 = V_MOV_B64_PSEUDO $sgpr2_sgpr3, implicit $exec28...29 30# GCN-LABEL: name: v_mov_b64_from_sext_inline_imm31# GFX900: $vgpr0 = V_MOV_B32_e32 -2, implicit $exec, implicit-def $vgpr0_vgpr132# GFX900: $vgpr1 = V_MOV_B32_e32 -1, implicit $exec, implicit-def $vgpr0_vgpr133# GFX90A: $vgpr0 = V_MOV_B32_e32 -2, implicit $exec, implicit-def $vgpr0_vgpr134# GFX90A: $vgpr1 = V_MOV_B32_e32 -1, implicit $exec, implicit-def $vgpr0_vgpr135# GFX942: $vgpr0_vgpr1 = V_MOV_B64_e32 -2, implicit $exec36# GFX1250: $vgpr0_vgpr1 = V_MOV_B64_e32 -2, implicit $exec37name: v_mov_b64_from_sext_inline_imm38body: |39 bb.0:40 $vgpr0_vgpr1 = V_MOV_B64_PSEUDO 18446744073709551614, implicit $exec41...42 43# GCN-LABEL: name: v_mov_b64_from_lit44# NOT-GFX1250: $vgpr0 = V_MOV_B32_e32 1430494974, implicit $exec, implicit-def $vgpr0_vgpr145# NOT-GFX1250: $vgpr1 = V_MOV_B32_e32 -232831, implicit $exec, implicit-def $vgpr0_vgpr146# GFX1250: $vgpr0_vgpr1 = V_MOV_B64_e32 -1000000100000002, implicit $exec47name: v_mov_b64_from_lit48body: |49 bb.0:50 $vgpr0_vgpr1 = V_MOV_B64_PSEUDO 18445744073609551614, implicit $exec51...52 53# GCN-LABEL: name: v_mov_b64_from_first_inline_imm54# NOT-GFX1250: $vgpr0 = V_MOV_B32_e32 -1, implicit $exec, implicit-def $vgpr0_vgpr155# NOT-GFX1250: $vgpr1 = V_MOV_B32_e32 268435455, implicit $exec, implicit-def $vgpr0_vgpr156# GFX1250: $vgpr0_vgpr1 = V_MOV_B64_e32 1152921504606846975, implicit $exec57name: v_mov_b64_from_first_inline_imm58body: |59 bb.0:60 $vgpr0_vgpr1 = V_MOV_B64_PSEUDO 1152921504606846975, implicit $exec61...62 63# GCN-LABEL: name: v_mov_b64_from_second_inline_imm64# NOT-GFX1250: $vgpr0 = V_MOV_B32_e32 268435455, implicit $exec, implicit-def $vgpr0_vgpr165# NOT-GFX1250: $vgpr1 = V_MOV_B32_e32 -1, implicit $exec, implicit-def $vgpr0_vgpr166# GFX1250: $vgpr0_vgpr1 = V_MOV_B64_e32 -4026531841, implicit $exec67name: v_mov_b64_from_second_inline_imm68body: |69 bb.0:70 $vgpr0_vgpr1 = V_MOV_B64_PSEUDO 18446744069683019775, implicit $exec71...72 73# GCN-LABEL: name: v_mov_b64_from_same_sext_inline_imm74# GFX900: $vgpr0 = V_MOV_B32_e32 -1, implicit $exec, implicit-def $vgpr0_vgpr175# GFX900: $vgpr1 = V_MOV_B32_e32 -1, implicit $exec, implicit-def $vgpr0_vgpr176# GFX90A: $vgpr0_vgpr1 = V_PK_MOV_B32 8, -1, 8, -1, 0, 0, 0, 0, 0, implicit $exec77# GFX942: $vgpr0_vgpr1 = V_MOV_B64_e32 -1, implicit $exec78# GFX1250: $vgpr0_vgpr1 = V_MOV_B64_e32 -1, implicit $exec79name: v_mov_b64_from_same_sext_inline_imm80body: |81 bb.0:82 $vgpr0_vgpr1 = V_MOV_B64_PSEUDO 18446744073709551615, implicit $exec83...84 85# GCN-LABEL: name: v_mov_b64_from_same_fp_inline_imm86# GFX900: $vgpr0 = V_MOV_B32_e32 1065353216, implicit $exec, implicit-def $vgpr0_vgpr187# GFX900: $vgpr1 = V_MOV_B32_e32 1065353216, implicit $exec, implicit-def $vgpr0_vgpr188# GFX90A: $vgpr0_vgpr1 = V_PK_MOV_B32 8, 1065353216, 8, 1065353216, 0, 0, 0, 0, 0, implicit $exec89# GFX942: $vgpr0_vgpr1 = V_PK_MOV_B32 8, 1065353216, 8, 1065353216, 0, 0, 0, 0, 0, implicit $exec90# GFX1250: $vgpr0_vgpr1 = V_MOV_B64_e32 4575657222473777152, implicit $exec91name: v_mov_b64_from_same_fp_inline_imm92body: |93 bb.0:94 $vgpr0_vgpr1 = V_MOV_B64_PSEUDO 4575657222473777152, implicit $exec95...96