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