brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.3 KiB · e20400d Raw
204 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx802 -start-before postrapseudos -asm-verbose=0 -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -start-before postrapseudos -asm-verbose=0 -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -start-before postrapseudos -asm-verbose=0 -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s4 5# GCN-LABEL: {{^}}lo_to_lo:6# GCN: v_mov_b32_sdwa v1, v0 dst_sel:WORD_0 dst_unused:UNUSED_PRESERVE src0_sel:WORD_07name: lo_to_lo8tracksRegLiveness: true9body:             |10  bb.0:11    $vgpr0 = IMPLICIT_DEF12    $vgpr1_lo16 = COPY $vgpr0_lo1613    S_ENDPGM 014...15 16# GCN-LABEL: {{^}}lo_to_hi:17# GCN: v_mov_b32_sdwa v1, v0 dst_sel:WORD_1 dst_unused:UNUSED_PRESERVE src0_sel:WORD_018name: lo_to_hi19tracksRegLiveness: true20body:             |21  bb.0:22    $vgpr0 = IMPLICIT_DEF23    $vgpr1_hi16 = COPY killed $vgpr0_lo1624    S_ENDPGM 025...26 27# GCN-LABEL: {{^}}hi_to_lo:28# GCN: v_mov_b32_sdwa v1, v0 dst_sel:WORD_0 dst_unused:UNUSED_PRESERVE src0_sel:WORD_129name: hi_to_lo30tracksRegLiveness: true31body:             |32  bb.0:33    $vgpr0 = IMPLICIT_DEF34    $vgpr1_lo16 = COPY $vgpr0_hi1635    S_ENDPGM 036...37 38# GCN-LABEL: {{^}}hi_to_hi:39# GCN: v_mov_b32_sdwa v1, v0 dst_sel:WORD_1 dst_unused:UNUSED_PRESERVE src0_sel:WORD_140name: hi_to_hi41tracksRegLiveness: true42body:             |43  bb.0:44    $vgpr0 = IMPLICIT_DEF45    $vgpr1_hi16 = COPY $vgpr0_hi1646    S_ENDPGM 047...48 49# GCN-LABEL: {{^}}lo_to_lo_samereg:50# GCN:        s_waitcnt51# GCN-NEXT:   s_endpgm52name: lo_to_lo_samereg53tracksRegLiveness: true54body:             |55  bb.0:56    $vgpr0 = IMPLICIT_DEF57    $vgpr0_lo16 = COPY $vgpr0_lo1658    S_ENDPGM 059...60 61# GCN-LABEL: {{^}}lo_to_hi_samereg:62# GCN: v_mov_b32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PRESERVE src0_sel:WORD_063name: lo_to_hi_samereg64tracksRegLiveness: true65body:             |66  bb.0:67    $vgpr0 = IMPLICIT_DEF68    $vgpr0_hi16 = COPY $vgpr0_lo1669    S_ENDPGM 070...71 72# GCN-LABEL: {{^}}hi_to_lo_samereg:73# GCN: v_mov_b32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PRESERVE src0_sel:WORD_174name: hi_to_lo_samereg75tracksRegLiveness: true76body:             |77  bb.0:78    $vgpr0 = IMPLICIT_DEF79    $vgpr0_lo16 = COPY killed $vgpr0_hi1680    S_ENDPGM 081...82 83# GCN-LABEL: {{^}}hi_to_hi_samereg:84# GCN:      s_waitcnt85# GCN-NEXT: s_endpgm86name: hi_to_hi_samereg87tracksRegLiveness: true88body:             |89  bb.0:90    $vgpr0 = IMPLICIT_DEF91    $vgpr0_hi16 = COPY killed $vgpr0_hi1692    S_ENDPGM 093...94 95# GCN-LABEL: {{^}}lo_to_lo_def_livein:96# GCN: v_mov_b32_sdwa v1, v0 dst_sel:WORD_0 dst_unused:UNUSED_PRESERVE src0_sel:WORD_097name: lo_to_lo_def_livein98tracksRegLiveness: true99body:             |100  bb.0:101    liveins: $vgpr0102 103    $vgpr1 = IMPLICIT_DEF104    $vgpr1_lo16 = COPY $vgpr0_lo16105    S_ENDPGM 0106...107 108# GCN-LABEL: {{^}}lo_to_hi_def_livein:109# GCN: v_mov_b32_sdwa v1, v0 dst_sel:WORD_1 dst_unused:UNUSED_PRESERVE src0_sel:WORD_0110name: lo_to_hi_def_livein111tracksRegLiveness: true112body:             |113  bb.0:114    liveins: $vgpr0115 116    $vgpr1 = IMPLICIT_DEF117    $vgpr1_hi16 = COPY $vgpr0_lo16118    S_ENDPGM 0119...120 121# GCN-LABEL: {{^}}hi_to_lo_def_livein:122# GCN: v_mov_b32_sdwa v1, v0 dst_sel:WORD_0 dst_unused:UNUSED_PRESERVE src0_sel:WORD_1123name: hi_to_lo_def_livein124tracksRegLiveness: true125body:             |126  bb.0:127    liveins: $vgpr0128 129    $vgpr1 = IMPLICIT_DEF130    $vgpr1_lo16 = COPY killed $vgpr0_hi16131    S_ENDPGM 0132...133 134# GCN-LABEL: {{^}}hi_to_hi_def_livein:135# GCN: v_mov_b32_sdwa v1, v0 dst_sel:WORD_1 dst_unused:UNUSED_PRESERVE src0_sel:WORD_1136name: hi_to_hi_def_livein137tracksRegLiveness: true138body:             |139  bb.0:140    liveins: $vgpr0141 142    $vgpr1 = IMPLICIT_DEF143    $vgpr1_hi16 = COPY $vgpr0_hi16144    S_ENDPGM 0145...146 147# TODO: This can be coalesced into a VGPR_32 copy148# GCN-LABEL: {{^}}lo_to_lo_hi_to_hi:149# GCN:      v_mov_b32_sdwa v1, v0 dst_sel:WORD_0 dst_unused:UNUSED_PRESERVE src0_sel:WORD_0150# GCN-NEXT: v_mov_b32_sdwa v1, v0 dst_sel:WORD_1 dst_unused:UNUSED_PRESERVE src0_sel:WORD_1151# GCN-NEXT: v_mov_b32_e32 v2, v1152# GCN-NEXT: s_endpgm153name: lo_to_lo_hi_to_hi154tracksRegLiveness: true155body:             |156  bb.0:157    $vgpr0 = IMPLICIT_DEF158    $vgpr1_lo16 = COPY $vgpr0_lo16159    $vgpr1_hi16 = COPY $vgpr0_hi16160    $vgpr2 = COPY killed $vgpr1161    S_ENDPGM 0162...163 164# GCN-LABEL: {{^}}lo_to_hi_hi_to_lo:165# GCN:      v_mov_b32_sdwa v1, v0 dst_sel:WORD_0 dst_unused:UNUSED_PRESERVE src0_sel:WORD_1166# GCN-NEXT: v_mov_b32_sdwa v1, v0 dst_sel:WORD_1 dst_unused:UNUSED_PRESERVE src0_sel:WORD_0167# GCN-NEXT: v_mov_b32_e32 v2, v1168# GCN-NEXT: s_endpgm169name: lo_to_hi_hi_to_lo170tracksRegLiveness: true171body:             |172  bb.0:173    $vgpr0 = IMPLICIT_DEF174    $vgpr1_lo16 = COPY $vgpr0_hi16175    $vgpr1_hi16 = COPY $vgpr0_lo16176    $vgpr2 = COPY killed $vgpr1177    S_ENDPGM 0178...179 180# NB: copy of undef just killed instead of expansion181# GCN-LABEL: {{^}}lo_to_lo_undef:182# GCN:        s_waitcnt183# GCN-NEXT:   v_mov_b32_e32 v2, v1184# GCN-NEXT:   s_endpgm185name: lo_to_lo_undef186tracksRegLiveness: true187body:             |188  bb.0:189    $vgpr1_lo16 = COPY undef $vgpr0_lo16190    $vgpr2 = COPY killed $vgpr1191    S_ENDPGM 0192...193 194# GCN-LABEL: {{^}}lo_to_lo_sgpr_to_sgpr:195# GCN: s_mov_b32 s1, s0196name: lo_to_lo_sgpr_to_sgpr197tracksRegLiveness: true198body:             |199  bb.0:200    $sgpr0 = IMPLICIT_DEF201    $sgpr1_lo16 = COPY $sgpr0_lo16202    S_ENDPGM 0203...204