Home | History | Annotate | Download | only in AMDGPU
      1 # RUN: llc -march=amdgcn -verify-machineinstrs -start-before si-shrink-instructions -stop-before si-insert-skips -o - %s | FileCheck -check-prefix=GCN %s
      2 
      3 # GCN-LABEL: name: subbrev{{$}}
      4 # GCN:       V_SUBBREV_U32_e32 0, undef $vgpr0, implicit-def $vcc, implicit killed $vcc, implicit $exec
      5 
      6 ---
      7 name:            subbrev
      8 tracksRegLiveness: true
      9 registers:
     10   - { id: 0, class: vgpr_32 }
     11   - { id: 1, class: vgpr_32 }
     12   - { id: 2, class: vgpr_32 }
     13   - { id: 3, class: sreg_64_xexec }
     14   - { id: 4, class: vgpr_32 }
     15   - { id: 5, class: sreg_64_xexec }
     16 body:             |
     17   bb.0:
     18 
     19     %0 = IMPLICIT_DEF
     20     %1 = IMPLICIT_DEF
     21     %2 = IMPLICIT_DEF
     22     %3 = V_CMP_GT_U32_e64 %0, %1, implicit $exec
     23     %4, %5 = V_SUBBREV_U32_e64 0, %0, %3, implicit $exec
     24 
     25 ...
     26 
     27 # GCN-LABEL: name: subb{{$}}
     28 # GCN:       V_SUBBREV_U32_e32 0, undef $vgpr0, implicit-def $vcc, implicit killed $vcc, implicit $exec
     29 
     30 ---
     31 name:            subb
     32 tracksRegLiveness: true
     33 registers:
     34   - { id: 0, class: vgpr_32 }
     35   - { id: 1, class: vgpr_32 }
     36   - { id: 2, class: vgpr_32 }
     37   - { id: 3, class: sreg_64_xexec }
     38   - { id: 4, class: vgpr_32 }
     39   - { id: 5, class: sreg_64_xexec }
     40 body:             |
     41   bb.0:
     42 
     43     %0 = IMPLICIT_DEF
     44     %1 = IMPLICIT_DEF
     45     %2 = IMPLICIT_DEF
     46     %3 = V_CMP_GT_U32_e64 %0, %1, implicit $exec
     47     %4, %5 = V_SUBB_U32_e64 %0, 0, %3, implicit $exec
     48 
     49 ...
     50 
     51 # GCN-LABEL: name: addc{{$}}
     52 # GCN:       V_ADDC_U32_e32 0, undef $vgpr0, implicit-def $vcc, implicit killed $vcc, implicit $exec
     53 
     54 ---
     55 name:            addc
     56 tracksRegLiveness: true
     57 registers:
     58   - { id: 0, class: vgpr_32 }
     59   - { id: 1, class: vgpr_32 }
     60   - { id: 2, class: vgpr_32 }
     61   - { id: 3, class: sreg_64_xexec }
     62   - { id: 4, class: vgpr_32 }
     63   - { id: 5, class: sreg_64_xexec }
     64 body:             |
     65   bb.0:
     66 
     67     %0 = IMPLICIT_DEF
     68     %1 = IMPLICIT_DEF
     69     %2 = IMPLICIT_DEF
     70     %3 = V_CMP_GT_U32_e64 %0, %1, implicit $exec
     71     %4, %5 = V_ADDC_U32_e64 0, %0, %3, implicit $exec
     72 
     73 ...
     74 
     75 # GCN-LABEL: name: addc2{{$}}
     76 # GCN:       V_ADDC_U32_e32 0, undef $vgpr0, implicit-def $vcc, implicit killed $vcc, implicit $exec
     77 
     78 ---
     79 name:            addc2
     80 tracksRegLiveness: true
     81 registers:
     82   - { id: 0, class: vgpr_32 }
     83   - { id: 1, class: vgpr_32 }
     84   - { id: 2, class: vgpr_32 }
     85   - { id: 3, class: sreg_64_xexec }
     86   - { id: 4, class: vgpr_32 }
     87   - { id: 5, class: sreg_64_xexec }
     88 body:             |
     89   bb.0:
     90 
     91     %0 = IMPLICIT_DEF
     92     %1 = IMPLICIT_DEF
     93     %2 = IMPLICIT_DEF
     94     %3 = V_CMP_GT_U32_e64 %0, %1, implicit $exec
     95     %4, %5 = V_ADDC_U32_e64 %0, 0, %3, implicit $exec
     96 
     97 ...
     98