Home | History | Annotate | Download | only in GlobalISel
      1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
      2 # RUN: llc -march=amdgcn -run-pass=instruction-select -verify-machineinstrs -global-isel %s -o - | FileCheck %s -check-prefixes=GCN
      3 
      4 ---
      5 
      6 name:            implicit_def_s32
      7 legalized:       true
      8 regBankSelected: true
      9 
     10 body: |
     11   bb.0:
     12     liveins: $vgpr3_vgpr4
     13     ; GCN-LABEL: name: implicit_def_s32
     14     ; GCN: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr3_vgpr4
     15     ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
     16     ; GCN: FLAT_STORE_DWORD [[COPY]], [[DEF]], 0, 0, 0, implicit $exec, implicit $flat_scr
     17     %0:vgpr(s64) = COPY $vgpr3_vgpr4
     18     %1:vgpr(s32) = G_IMPLICIT_DEF
     19     G_STORE %1, %0 :: (store 4)
     20 ...
     21 ---
     22 
     23 name:            implicit_def_s64
     24 legalized:       true
     25 regBankSelected: true
     26 
     27 body: |
     28   bb.0:
     29     liveins: $vgpr3_vgpr4
     30     ; GCN-LABEL: name: implicit_def_s64
     31     ; GCN: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr3_vgpr4
     32     ; GCN: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
     33     ; GCN: FLAT_STORE_DWORDX2 [[COPY]], [[DEF]], 0, 0, 0, implicit $exec, implicit $flat_scr
     34     %0:vgpr(s64) = COPY $vgpr3_vgpr4
     35     %1:vgpr(s64) = G_IMPLICIT_DEF
     36     G_STORE %1, %0 :: (store 8)
     37 ---
     38 
     39 ---
     40 
     41 name:            implicit_def_p0
     42 legalized:       true
     43 regBankSelected: true
     44 
     45 body: |
     46   bb.0:
     47     %0:vgpr(p0) = G_IMPLICIT_DEF
     48     %1:vgpr(s32) = G_CONSTANT 4
     49     G_STORE %1, %0 :: (store 4)
     50 ...
     51 
     52 ---
     53 
     54 name:            implicit_def_p1
     55 legalized:       true
     56 regBankSelected: true
     57 
     58 body: |
     59   bb.0:
     60     ; GCN-LABEL: name: implicit_def_p1
     61     ; GCN: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
     62     ; GCN: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4, implicit $exec
     63     ; GCN: FLAT_STORE_DWORD [[DEF]], [[V_MOV_B32_e32_]], 0, 0, 0, implicit $exec, implicit $flat_scr
     64     %0:vgpr(p1) = G_IMPLICIT_DEF
     65     %1:vgpr(s32) = G_CONSTANT 4
     66     G_STORE %1, %0 :: (store 4)
     67 ...
     68 ---
     69 
     70 name:            implicit_def_p3
     71 legalized:       true
     72 regBankSelected: true
     73 
     74 body: |
     75   bb.0:
     76     ; GCN-LABEL: name: implicit_def_p3
     77     ; GCN: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
     78     ; GCN: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4, implicit $exec
     79     ; GCN: FLAT_STORE_DWORD [[DEF]], [[V_MOV_B32_e32_]], 0, 0, 0, implicit $exec, implicit $flat_scr
     80     %0:vgpr(p3) = G_IMPLICIT_DEF
     81     %1:vgpr(s32) = G_CONSTANT 4
     82     G_STORE %1, %0 :: (store 4)
     83 ...
     84 ---
     85 
     86 name:            implicit_def_p4
     87 legalized:       true
     88 regBankSelected: true
     89 
     90 body: |
     91   bb.0:
     92     ; GCN-LABEL: name: implicit_def_p4
     93     ; GCN: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
     94     ; GCN: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4, implicit $exec
     95     ; GCN: FLAT_STORE_DWORD [[DEF]], [[V_MOV_B32_e32_]], 0, 0, 0, implicit $exec, implicit $flat_scr
     96     %0:vgpr(p4) = G_IMPLICIT_DEF
     97     %1:vgpr(s32) = G_CONSTANT 4
     98     G_STORE %1, %0 :: (store 4)
     99 ...
    100