[llvm] f524194 - AMDGPU: Cleanup test MIR

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 7 11:09:33 PDT 2020


Author: Matt Arsenault
Date: 2020-04-07T14:09:25-04:00
New Revision: f524194ffdd55a690a6f8bff9619f8c74deb3e1b

URL: https://github.com/llvm/llvm-project/commit/f524194ffdd55a690a6f8bff9619f8c74deb3e1b
DIFF: https://github.com/llvm/llvm-project/commit/f524194ffdd55a690a6f8bff9619f8c74deb3e1b.diff

LOG: AMDGPU: Cleanup test MIR

Added: 
    

Modified: 
    llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir b/llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
index 74dd44fc9dc6..2641f9146dc5 100644
--- a/llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
+++ b/llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
@@ -1,28 +1,11 @@
-# RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx900 -verify-machineinstrs -run-pass si-fold-operands,dead-mi-elimination -o - %s | FileCheck -check-prefix=GCN %s
+# RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx900 -verify-machineinstrs -run-pass si-fold-operands,dead-mi-elimination -o - %s | FileCheck -enable-var-scope -check-prefix=GCN %s
 ...
 
 # GCN-LABEL: name: s_fold_and_imm_regimm_32{{$}}
 # GCN: %10:vgpr_32 = V_MOV_B32_e32 1543, implicit $exec
 # GCN: BUFFER_STORE_DWORD_OFFSET killed %10,
 name:            s_fold_and_imm_regimm_32
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
-registers:
-  - { id: 0, class: sgpr_64 }
-  - { id: 1, class: sreg_64_xexec }
-  - { id: 2, class: sreg_32_xm0 }
-  - { id: 3, class: sreg_32_xm0 }
-  - { id: 4, class: sreg_32_xm0 }
-  - { id: 5, class: sreg_32_xm0 }
-  - { id: 6, class: sgpr_128 }
-  - { id: 7, class: sreg_32_xm0 }
-  - { id: 8, class: sreg_32_xm0 }
-  - { id: 9, class: sreg_32_xm0 }
-  - { id: 10, class: vgpr_32 }
 liveins:
   - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }
 frameInfo:
@@ -43,17 +26,17 @@ body:             |
   bb.0:
     liveins: $sgpr0_sgpr1
 
-    %0 = COPY $sgpr0_sgpr1
-    %1 = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
-    %2 = COPY %1.sub1
-    %3 = COPY %1.sub0
-    %4 = S_MOV_B32 61440
-    %5 = S_MOV_B32 -1
-    %6 = REG_SEQUENCE killed %2, 1, killed %3, 2, killed %4, 3, killed %5, 4
-    %7 = S_MOV_B32 1234567
-    %8 = S_MOV_B32 9999
-    %9 = S_AND_B32 killed %7, killed %8, implicit-def dead $scc
-    %10 = COPY %9
+    %0:sgpr_64 = COPY $sgpr0_sgpr1
+    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
+    %2:sreg_32_xm0 = COPY %1.sub1
+    %3:sreg_32_xm0 = COPY %1.sub0
+    %4:sreg_32_xm0 = S_MOV_B32 61440
+    %5:sreg_32_xm0 = S_MOV_B32 -1
+    %6:sgpr_128 = REG_SEQUENCE killed %2, %subreg.hi16, killed %3, %subreg.lo16, killed %4, %subreg.sub0, killed %5, %subreg.sub0_sub1
+    %7:sreg_32_xm0 = S_MOV_B32 1234567
+    %8:sreg_32_xm0 = S_MOV_B32 9999
+    %9:sreg_32_xm0 = S_AND_B32 killed %7, killed %8, implicit-def dead $scc
+    %10:vgpr_32 = COPY %9
     BUFFER_STORE_DWORD_OFFSET killed %10, killed %6, 0, 0, 0, 0, 0, 0, 0, implicit $exec
     S_ENDPGM 0
 
@@ -62,101 +45,59 @@ body:             |
 
 # GCN-LABEL: name: v_fold_and_imm_regimm_32{{$}}
 
-# GCN: %9:vgpr_32 = V_MOV_B32_e32 646, implicit $exec
-# GCN: FLAT_STORE_DWORD %19, %9,
+# GCN: [[VAL0:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 646, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL0]],
 
-# GCN: %10:vgpr_32 = V_MOV_B32_e32 646, implicit $exec
-# GCN: FLAT_STORE_DWORD %19, %10
+# GCN: [[VAL1:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 646, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL1]],
 
-# GCN: %11:vgpr_32 = V_MOV_B32_e32 646, implicit $exec
-# GCN: FLAT_STORE_DWORD %19, %11,
+# GCN: [[VAL2:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 646, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL2]],
 
-# GCN: %12:vgpr_32 = V_MOV_B32_e32 1234567, implicit $exec
-# GCN: FLAT_STORE_DWORD %19, %12,
+# GCN: [[VAL3:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1234567, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL3]],
 
-# GCN: %13:vgpr_32 = V_MOV_B32_e32 63, implicit $exec
-# GCN: FLAT_STORE_DWORD %19, %13,
+# GCN: [[VAL4:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 63, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL4]],
 
 name:            v_fold_and_imm_regimm_32
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
-registers:
-  - { id: 0, class: sgpr_64 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 2, class: sgpr_32 }
-  - { id: 3, class: vgpr_32 }
-  - { id: 4, class: sreg_64_xexec }
-  - { id: 20, class: sreg_32_xm0 }
-  - { id: 24, class: vgpr_32 }
-  - { id: 25, class: vreg_64 }
-  - { id: 26, class: sreg_32_xm0 }
-  - { id: 27, class: vgpr_32 }
-  - { id: 28, class: vgpr_32 }
-  - { id: 29, class: vgpr_32 }
-  - { id: 30, class: vgpr_32 }
-  - { id: 31, class: vgpr_32 }
-  - { id: 32, class: vreg_64 }
-  - { id: 33, class: vreg_64 }
-  - { id: 34, class: vgpr_32 }
-  - { id: 35, class: vgpr_32 }
-  - { id: 36, class: vgpr_32 }
-  - { id: 37, class: vreg_64 }
-  - { id: 44, class: vgpr_32 }
-
 liveins:
   - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }
   - { reg: '$vgpr0', virtual-reg: '%3' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
 body:             |
   bb.0:
     liveins: $sgpr0_sgpr1, $vgpr0
 
-    %3 = COPY $vgpr0
-    %0 = COPY $sgpr0_sgpr1
-    %4 = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
-    %31 = V_ASHRREV_I32_e64 31, %3, implicit $exec
-    %32 = REG_SEQUENCE %3, 1, %31, 2
-    %33 = V_LSHLREV_B64 2, killed %32, implicit $exec
-    %20 = COPY %4.sub1
-    %44 = V_ADD_I32_e32 %4.sub0, %33.sub0, implicit-def $vcc, implicit $exec
-    %36 = COPY killed %20
-    %35 = V_ADDC_U32_e32 %33.sub1, %36, implicit-def $vcc, implicit $vcc, implicit $exec
-    %37 = REG_SEQUENCE %44, 1, killed %35, 2
-    %24 = V_MOV_B32_e32 982, implicit $exec
-    %26 = S_MOV_B32 1234567
-    %34 = V_MOV_B32_e32 63, implicit $exec
+        %3:vgpr_32 = COPY $vgpr0
+    %0:sgpr_64 = COPY $sgpr0_sgpr1
+    %4:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
+    %13:vgpr_32 = V_ASHRREV_I32_e64 31, %3, implicit $exec
+    %14:vreg_64 = REG_SEQUENCE %3, %subreg.hi16, %13, %subreg.lo16
+    %15:vreg_64 = V_LSHLREV_B64 2, killed %14, implicit $exec
+    %5:sreg_32_xm0 = COPY %4.sub1
+    %20:vgpr_32 = V_ADD_I32_e32 %4.sub0, %15.sub0, implicit-def $vcc, implicit $exec
+    %18:vgpr_32 = COPY killed %5
+    %17:vgpr_32 = V_ADDC_U32_e32 %15.sub1, %18, implicit-def $vcc, implicit $vcc, implicit $exec
+    %19:vreg_64 = REG_SEQUENCE %20, %subreg.hi16, killed %17, %subreg.lo16
+    %6:vgpr_32 = V_MOV_B32_e32 982, implicit $exec
+    %8:sreg_32_xm0 = S_MOV_B32 1234567
+    %16:vgpr_32 = V_MOV_B32_e32 63, implicit $exec
 
-    %27 = V_AND_B32_e64 %26, %24, implicit $exec
-    FLAT_STORE_DWORD %37, %27, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
+    %9:vgpr_32 = V_AND_B32_e64 %8, %6, implicit $exec
+    FLAT_STORE_DWORD %19, %9, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %28 = V_AND_B32_e64 %24, %26, implicit $exec
-    FLAT_STORE_DWORD %37, %28, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
+    %10:vgpr_32 = V_AND_B32_e64 %6, %8, implicit $exec
+    FLAT_STORE_DWORD %19, %10, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %29 = V_AND_B32_e32 %26, %24, implicit $exec
-    FLAT_STORE_DWORD %37, %29, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
+    %11:vgpr_32 = V_AND_B32_e32 %8, %6, implicit $exec
+    FLAT_STORE_DWORD %19, %11, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %30 = V_AND_B32_e64 %26, %26, implicit $exec
-    FLAT_STORE_DWORD %37, %30, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
+    %12:vgpr_32 = V_AND_B32_e64 %8, %8, implicit $exec
+    FLAT_STORE_DWORD %19, %12, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %31 = V_AND_B32_e64 %34, %34, implicit $exec
-    FLAT_STORE_DWORD %37, %31, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
+    %13:vgpr_32 = V_AND_B32_e64 %16, %16, implicit $exec
+    FLAT_STORE_DWORD %19, %13, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
     S_ENDPGM 0
 
@@ -164,61 +105,28 @@ body:             |
 ---
 
 # GCN-LABEL: name: s_fold_shl_imm_regimm_32{{$}}
-# GCN: %13:vgpr_32 = V_MOV_B32_e32 4096, implicit $exec
-# GCN: BUFFER_STORE_DWORD_OFFSET killed %13,
+# GCN: [[VAL:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4096, implicit $exec
+# GCN: BUFFER_STORE_DWORD_OFFSET killed [[VAL]],
 
 name:            s_fold_shl_imm_regimm_32
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
-registers:
-  - { id: 0, class: sgpr_64 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 2, class: sgpr_32 }
-  - { id: 3, class: vgpr_32 }
-  - { id: 4, class: sreg_64_xexec }
-  - { id: 5, class: sreg_32_xm0_xexec }
-  - { id: 6, class: sreg_32_xm0 }
-  - { id: 7, class: sreg_32_xm0 }
-  - { id: 8, class: sreg_32_xm0 }
-  - { id: 9, class: sreg_32_xm0 }
-  - { id: 10, class: sgpr_128 }
-  - { id: 11, class: sreg_32_xm0 }
-  - { id: 12, class: sreg_32_xm0 }
-  - { id: 13, class: vgpr_32 }
 liveins:
   - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
 body:             |
   bb.0:
     liveins: $sgpr0_sgpr1
 
-    %0 = COPY $sgpr0_sgpr1
-    %4 = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
-    %5 = S_MOV_B32 1
-    %6 = COPY %4.sub1
-    %7 = COPY %4.sub0
-    %8 = S_MOV_B32 61440
-    %9 = S_MOV_B32 -1
-    %10 = REG_SEQUENCE killed %7, 1, killed %6, 2, killed %9, 3, killed %8, 4
-    %12 = S_LSHL_B32 killed %5, 12, implicit-def dead $scc
-    %13 = COPY %12
+
+    %0:sgpr_64 = COPY $sgpr0_sgpr1
+    %4:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
+    %5:sreg_32_xm0_xexec = S_MOV_B32 1
+    %6:sreg_32_xm0 = COPY %4.sub1
+    %7:sreg_32_xm0 = COPY %4.sub0
+    %8:sreg_32_xm0 = S_MOV_B32 61440
+    %9:sreg_32_xm0 = S_MOV_B32 -1
+    %10:sgpr_128 = REG_SEQUENCE killed %7, %subreg.hi16, killed %6, %subreg.lo16, killed %9, %subreg.sub0, killed %8, %subreg.sub0_sub1
+    %12:sreg_32_xm0 = S_LSHL_B32 killed %5, 12, implicit-def dead $scc
+    %13:vgpr_32 = COPY %12
     BUFFER_STORE_DWORD_OFFSET killed %13, killed %10, 0, 0, 0, 0, 0, 0, 0, implicit $exec
     S_ENDPGM 0
 
@@ -226,139 +134,90 @@ body:             |
 ---
 # GCN-LABEL: name: v_fold_shl_imm_regimm_32{{$}}
 
-# GCN: %11:vgpr_32 = V_MOV_B32_e32 40955904, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %11,
+# GCN: [[VAL0:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 40955904, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL0]],
 
-# GCN: %12:vgpr_32 = V_MOV_B32_e32 24, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %12,
+# GCN: [[VAL1:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 24, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL1]],
 
-# GCN: %13:vgpr_32 = V_MOV_B32_e32 4096, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %13,
+# GCN: [[VAL2:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4096, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL2]],
 
-# GCN: %14:vgpr_32 = V_MOV_B32_e32 24, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %14,
+# GCN: [[VAL3:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 24, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL3]],
 
-# GCN: %15:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %15,
+# GCN: [[VAL4:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL4]],
 
-# GCN: %22:vgpr_32 = V_MOV_B32_e32 4096, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %22,
+# GCN: [[VAL5:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4096, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL5]],
 
-# GCN: %23:vgpr_32 = V_MOV_B32_e32 1, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %23,
+# GCN: [[VAL6:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL6]],
 
-# GCN: %25:vgpr_32 = V_MOV_B32_e32 2, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %25,
+# GCN: [[VAL7:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 2, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL7]],
 
-# GCN: %26:vgpr_32 = V_MOV_B32_e32 7927808, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %26,
+# GCN: [[VAL8:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 7927808, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL8]],
 
-# GCN: %28:vgpr_32 = V_MOV_B32_e32 -8, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %28,
+# GCN: [[VAL9:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 -8, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL9]],
 
 name:            v_fold_shl_imm_regimm_32
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
-registers:
-  - { id: 0, class: sgpr_64 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 2, class: vgpr_32 }
-  - { id: 3, class: sreg_64_xexec }
-  - { id: 4, class: sreg_64_xexec }
-  - { id: 5, class: sreg_32_xm0 }
-  - { id: 6, class: vgpr_32 }
-  - { id: 7, class: sreg_32_xm0 }
-  - { id: 8, class: sreg_64 }
-  - { id: 9, class: sreg_32_xm0 }
-  - { id: 10, class: vgpr_32 }
-  - { id: 11, class: vgpr_32 }
-  - { id: 12, class: vgpr_32 }
-  - { id: 13, class: vgpr_32 }
-  - { id: 14, class: vgpr_32 }
-  - { id: 15, class: vgpr_32 }
-  - { id: 16, class: vreg_64 }
-  - { id: 17, class: vreg_64 }
-  - { id: 18, class: vgpr_32 }
-  - { id: 19, class: vgpr_32 }
-  - { id: 20, class: vreg_64 }
-  - { id: 21, class: vgpr_32 }
-  - { id: 22, class: vgpr_32 }
-  - { id: 23, class: vgpr_32 }
-  - { id: 24, class: vgpr_32 }
-  - { id: 25, class: vgpr_32 }
-  - { id: 26, class: vgpr_32 }
-  - { id: 27, class: sreg_32_xm0 }
-  - { id: 28, class: vgpr_32 }
 liveins:
   - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }
   - { reg: '$vgpr0', virtual-reg: '%2' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
 body:             |
   bb.0:
     liveins: $sgpr0_sgpr1, $vgpr0
 
-    %2 = COPY $vgpr0
-    %0 = COPY $sgpr0_sgpr1
-    %3 = S_LOAD_DWORDX2_IMM %0, 36, 0, 0 :: (non-temporal dereferenceable invariant load 8 from `i64 addrspace(4)* undef`)
-    %15 = V_ASHRREV_I32_e64 31, %2, implicit $exec
-    %16 = REG_SEQUENCE %2, 1, %15, 2
-    %17 = V_LSHLREV_B64 2, killed %16, implicit $exec
-    %9 = COPY %3.sub1
-    %21 = V_ADD_I32_e32 %3.sub0, %17.sub0, implicit-def $vcc, implicit $exec
-    %19 = COPY killed %9
-    %18 = V_ADDC_U32_e32 %17.sub1, %19, implicit-def $vcc, implicit $vcc, implicit $exec
-    %20 = REG_SEQUENCE %21, 1, killed %18, 2
-    %10 = V_MOV_B32_e32 9999, implicit $exec
-    %24 = V_MOV_B32_e32 3871, implicit $exec
-    %6 = V_MOV_B32_e32 1, implicit $exec
-    %7 = S_MOV_B32 1
-    %27 = S_MOV_B32 -4
-
-    %11 = V_LSHLREV_B32_e64 12, %10, implicit $exec
+    %2:vgpr_32 = COPY $vgpr0
+    %0:sgpr_64 = COPY $sgpr0_sgpr1
+    %3:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0, 0 :: (non-temporal dereferenceable invariant load 8 from `i64 addrspace(4)* undef`, addrspace 4)
+    %15:vgpr_32 = V_ASHRREV_I32_e64 31, %2, implicit $exec
+    %16:vreg_64 = REG_SEQUENCE %2, %subreg.hi16, %15, %subreg.lo16
+    %17:vreg_64 = V_LSHLREV_B64 2, killed %16, implicit $exec
+    %9:sreg_32_xm0 = COPY %3.sub1
+    %21:vgpr_32 = V_ADD_I32_e32 %3.sub0, %17.sub0, implicit-def $vcc, implicit $exec
+    %19:vgpr_32 = COPY killed %9
+    %18:vgpr_32 = V_ADDC_U32_e32 %17.sub1, %19, implicit-def $vcc, implicit $vcc, implicit $exec
+    %20:vreg_64 = REG_SEQUENCE %21, %subreg.hi16, killed %18, %subreg.lo16
+    %10:vgpr_32 = V_MOV_B32_e32 9999, implicit $exec
+    %24:vgpr_32 = V_MOV_B32_e32 3871, implicit $exec
+    %6:vgpr_32 = V_MOV_B32_e32 1, implicit $exec
+    %7:sreg_32_xm0 = S_MOV_B32 1
+    %27:sreg_32_xm0 = S_MOV_B32 -4
+
+    %11:vgpr_32 = V_LSHLREV_B32_e64 12, %10, implicit $exec
     FLAT_STORE_DWORD %20, %11, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %12 = V_LSHLREV_B32_e64 %7, 12, implicit $exec
+    %12:vgpr_32 = V_LSHLREV_B32_e64 %7, 12, implicit $exec
     FLAT_STORE_DWORD %20, %12, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %13 = V_LSHL_B32_e64 %7, 12, implicit $exec
+    %13:vgpr_32 = V_LSHL_B32_e64 %7, 12, implicit $exec
     FLAT_STORE_DWORD %20, %13, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %14 = V_LSHL_B32_e64 12, %7, implicit $exec
+    %14:vgpr_32 = V_LSHL_B32_e64 12, %7, implicit $exec
     FLAT_STORE_DWORD %20, %14, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %15 = V_LSHL_B32_e64 12, %24, implicit $exec
+    %15:vgpr_32 = V_LSHL_B32_e64 12, %24, implicit $exec
     FLAT_STORE_DWORD %20, %15, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %22 = V_LSHL_B32_e64 %6, 12, implicit $exec
+    %22:vgpr_32 = V_LSHL_B32_e64 %6, 12, implicit $exec
     FLAT_STORE_DWORD %20, %22, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %23 = V_LSHL_B32_e64 %6, 32, implicit $exec
+    %23:vgpr_32 = V_LSHL_B32_e64 %6, 32, implicit $exec
     FLAT_STORE_DWORD %20, %23, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %25 = V_LSHL_B32_e32 %6, %6, implicit $exec
+    %25:vgpr_32 = V_LSHL_B32_e32 %6, %6, implicit $exec
     FLAT_STORE_DWORD %20, %25, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %26 = V_LSHLREV_B32_e32 11, %24, implicit $exec
+    %26:vgpr_32 = V_LSHLREV_B32_e32 11, %24, implicit $exec
     FLAT_STORE_DWORD %20, %26, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %28 = V_LSHL_B32_e32 %27, %6, implicit $exec
+    %28:vgpr_32 = V_LSHL_B32_e32 %27, %6, implicit $exec
     FLAT_STORE_DWORD %20, %28, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
     S_ENDPGM 0
@@ -367,206 +226,121 @@ body:             |
 ---
 
 # GCN-LABEL: name: s_fold_ashr_imm_regimm_32{{$}}
-# GCN: %11:vgpr_32 = V_MOV_B32_e32 243, implicit $exec
-# GCN: BUFFER_STORE_DWORD_OFFSET killed %11, killed %8,
+# GCN: [[VAL:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 243, implicit $exec
+# GCN: BUFFER_STORE_DWORD_OFFSET killed [[VAL]], killed %7,
 name:            s_fold_ashr_imm_regimm_32
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
-registers:
-  - { id: 0, class: sgpr_64 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 4, class: sreg_64_xexec }
-  - { id: 5, class: sreg_32_xm0_xexec }
-  - { id: 6, class: sreg_32_xm0 }
-  - { id: 7, class: sreg_32_xm0 }
-  - { id: 8, class: sreg_32_xm0 }
-  - { id: 9, class: sreg_32_xm0 }
-  - { id: 10, class: sgpr_128 }
-  - { id: 11, class: sreg_32_xm0 }
-  - { id: 12, class: sreg_32_xm0 }
-  - { id: 13, class: vgpr_32 }
 liveins:
   - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
 body:             |
   bb.0:
     liveins: $sgpr0_sgpr1
 
-    %0 = COPY $sgpr0_sgpr1
-    %4 = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
-    %5 = S_MOV_B32 999123
-    %6 = COPY %4.sub1
-    %7 = COPY %4.sub0
-    %8 = S_MOV_B32 61440
-    %9 = S_MOV_B32 -1
-    %10 = REG_SEQUENCE killed %7, 1, killed %6, 2, killed %9, 3, killed %8, 4
-    %12 = S_ASHR_I32 killed %5, 12, implicit-def dead $scc
-    %13 = COPY %12
-    BUFFER_STORE_DWORD_OFFSET killed %13, killed %10, 0, 0, 0, 0, 0, 0, 0, implicit $exec
+    %0:sgpr_64 = COPY $sgpr0_sgpr1
+    %2:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
+    %3:sreg_32_xm0_xexec = S_MOV_B32 999123
+    %4:sreg_32_xm0 = COPY %2.sub1
+    %5:sreg_32_xm0 = COPY %2.sub0
+    %6:sreg_32_xm0 = S_MOV_B32 61440
+    %7:sreg_32_xm0 = S_MOV_B32 -1
+    %8:sgpr_128 = REG_SEQUENCE killed %5, %subreg.hi16, killed %4, %subreg.lo16, killed %7, %subreg.sub0, killed %6, %subreg.sub0_sub1
+    %10:sreg_32_xm0 = S_ASHR_I32 killed %3, 12, implicit-def dead $scc
+    %11:vgpr_32 = COPY %10
+    BUFFER_STORE_DWORD_OFFSET killed %11, killed %8, 0, 0, 0, 0, 0, 0, 0, implicit $exec
     S_ENDPGM 0
 
 ...
 
 # GCN-LABEL: name: v_fold_ashr_imm_regimm_32{{$}}
-# GCN: %11:vgpr_32 = V_MOV_B32_e32 3903258, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %11,
+# GCN: [[VAL0:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 3903258, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL0]],
 
-# GCN: %12:vgpr_32 = V_MOV_B32_e32 62452139, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %12,
+# GCN: [[VAL1:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 62452139, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL1]],
 
-# GCN: %13:vgpr_32 = V_MOV_B32_e32 1678031, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %13,
+# GCN: [[VAL2:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1678031, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL2]],
 
-# GCN: %14:vgpr_32 = V_MOV_B32_e32 3, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %14,
+# GCN: [[VAL3:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 3, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL3]],
 
-# GCN: %15:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %15,
+# GCN: [[VAL4:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL4]],
 
-# GCN: %22:vgpr_32 = V_MOV_B32_e32 62500, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %22,
+# GCN: [[VAL5:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 62500, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL5]],
 
-# GCN: %23:vgpr_32 = V_MOV_B32_e32 500000, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %23,
+# GCN: [[VAL6:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 500000, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL6]],
 
-# GCN: %25:vgpr_32 = V_MOV_B32_e32 1920, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %25,
+# GCN: [[VAL7:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1920, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL7]],
 
-# GCN: %26:vgpr_32 = V_MOV_B32_e32 487907, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %26,
+# GCN: [[VAL8:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 487907, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL8]],
 
-# GCN: %28:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %28,
+# GCN: [[VAL9:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL9]],
 
 name:            v_fold_ashr_imm_regimm_32
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
-registers:
-  - { id: 0, class: sgpr_64 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 2, class: vgpr_32 }
-  - { id: 3, class: sreg_64_xexec }
-  - { id: 4, class: sreg_64_xexec }
-  - { id: 5, class: sreg_32_xm0 }
-  - { id: 6, class: vgpr_32 }
-  - { id: 7, class: sreg_32_xm0 }
-  - { id: 8, class: sreg_32_xm0 }
-  - { id: 9, class: sreg_32_xm0 }
-  - { id: 10, class: vgpr_32 }
-  - { id: 11, class: vgpr_32 }
-  - { id: 12, class: vgpr_32 }
-  - { id: 13, class: vgpr_32 }
-  - { id: 14, class: vgpr_32 }
-  - { id: 15, class: vgpr_32 }
-  - { id: 16, class: vreg_64 }
-  - { id: 17, class: vreg_64 }
-  - { id: 18, class: vgpr_32 }
-  - { id: 19, class: vgpr_32 }
-  - { id: 20, class: vreg_64 }
-  - { id: 21, class: vgpr_32 }
-  - { id: 22, class: vgpr_32 }
-  - { id: 23, class: vgpr_32 }
-  - { id: 24, class: vgpr_32 }
-  - { id: 25, class: vgpr_32 }
-  - { id: 26, class: vgpr_32 }
-  - { id: 27, class: sreg_32_xm0 }
-  - { id: 28, class: vgpr_32 }
-  - { id: 32, class: sreg_32_xm0 }
-  - { id: 33, class: sreg_32_xm0 }
-  - { id: 34, class: vgpr_32 }
-  - { id: 35, class: vgpr_32 }
 liveins:
   - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }
   - { reg: '$vgpr0', virtual-reg: '%2' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
 body:             |
   bb.0:
     liveins: $sgpr0_sgpr1, $vgpr0
 
-    %2 = COPY $vgpr0
-    %0 = COPY $sgpr0_sgpr1
-    %3 = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
-    %15 = V_ASHRREV_I32_e64 31, %2, implicit $exec
-    %16 = REG_SEQUENCE %2, 1, %15, 2
-    %17 = V_LSHLREV_B64 2, killed %16, implicit $exec
-    %9 = COPY %3.sub1
-    %21 = V_ADD_I32_e32 %3.sub0, %17.sub0, implicit-def $vcc, implicit $exec
-    %19 = COPY killed %9
-    %18 = V_ADDC_U32_e32 %17.sub1, %19, implicit-def $vcc, implicit $vcc, implicit $exec
-    %20 = REG_SEQUENCE %21, 1, killed %18, 2
-    %10 = V_MOV_B32_e32 999234234, implicit $exec
-    %24 = V_MOV_B32_e32 3871, implicit $exec
-    %6 = V_MOV_B32_e32 1000000, implicit $exec
-    %7 = S_MOV_B32 13424252
-    %8 = S_MOV_B32 4
-    %27 = S_MOV_B32 -4
-    %32 = S_MOV_B32 1
-    %33 = S_MOV_B32 3841
-    %34 = V_MOV_B32_e32 3841, implicit $exec
-    %35 = V_MOV_B32_e32 2, implicit $exec
-
-    %11 = V_ASHRREV_I32_e64 8, %10, implicit $exec
+    %2:vgpr_32 = COPY $vgpr0
+    %0:sgpr_64 = COPY $sgpr0_sgpr1
+    %3:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
+    %15:vgpr_32 = V_ASHRREV_I32_e64 31, %2, implicit $exec
+    %16:vreg_64 = REG_SEQUENCE %2, %subreg.hi16, %15, %subreg.lo16
+    %17:vreg_64 = V_LSHLREV_B64 2, killed %16, implicit $exec
+    %9:sreg_32_xm0 = COPY %3.sub1
+    %21:vgpr_32 = V_ADD_I32_e32 %3.sub0, %17.sub0, implicit-def $vcc, implicit $exec
+    %19:vgpr_32 = COPY killed %9
+    %18:vgpr_32 = V_ADDC_U32_e32 %17.sub1, %19, implicit-def $vcc, implicit $vcc, implicit $exec
+    %20:vreg_64 = REG_SEQUENCE %21, %subreg.hi16, killed %18, %subreg.lo16
+    %10:vgpr_32 = V_MOV_B32_e32 999234234, implicit $exec
+    %24:vgpr_32 = V_MOV_B32_e32 3871, implicit $exec
+    %6:vgpr_32 = V_MOV_B32_e32 1000000, implicit $exec
+    %7:sreg_32_xm0 = S_MOV_B32 13424252
+    %8:sreg_32_xm0 = S_MOV_B32 4
+    %27:sreg_32_xm0 = S_MOV_B32 -4
+    %29:sreg_32_xm0 = S_MOV_B32 1
+    %30:sreg_32_xm0 = S_MOV_B32 3841
+    %31:vgpr_32 = V_MOV_B32_e32 3841, implicit $exec
+    %32:vgpr_32 = V_MOV_B32_e32 2, implicit $exec
+
+    %11:vgpr_32 = V_ASHRREV_I32_e64 8, %10, implicit $exec
     FLAT_STORE_DWORD %20, %11, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %12 = V_ASHRREV_I32_e64 %8, %10, implicit $exec
+    %12:vgpr_32 = V_ASHRREV_I32_e64 %8, %10, implicit $exec
     FLAT_STORE_DWORD %20, %12, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %13 = V_ASHR_I32_e64 %7, 3, implicit $exec
+    %13:vgpr_32 = V_ASHR_I32_e64 %7, 3, implicit $exec
     FLAT_STORE_DWORD %20, %13, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %14 = V_ASHR_I32_e64 7, %32, implicit $exec
+    %14:vgpr_32 = V_ASHR_I32_e64 7, %29, implicit $exec
     FLAT_STORE_DWORD %20, %14, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %15 = V_ASHR_I32_e64 %27, %24, implicit $exec
+    %15:vgpr_32 = V_ASHR_I32_e64 %27, %24, implicit $exec
     FLAT_STORE_DWORD %20, %15, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %22 = V_ASHR_I32_e64 %6, 4, implicit $exec
+    %22:vgpr_32 = V_ASHR_I32_e64 %6, 4, implicit $exec
     FLAT_STORE_DWORD %20, %22, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %23 = V_ASHR_I32_e64 %6, %33, implicit $exec
+    %23:vgpr_32 = V_ASHR_I32_e64 %6, %30, implicit $exec
     FLAT_STORE_DWORD %20, %23, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %25 = V_ASHR_I32_e32 %34, %34, implicit $exec
+    %25:vgpr_32 = V_ASHR_I32_e32 %31, %31, implicit $exec
     FLAT_STORE_DWORD %20, %25, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %26 = V_ASHRREV_I32_e32 11, %10, implicit $exec
+    %26:vgpr_32 = V_ASHRREV_I32_e32 11, %10, implicit $exec
     FLAT_STORE_DWORD %20, %26, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %28 = V_ASHR_I32_e32 %27, %35, implicit $exec
+    %28:vgpr_32 = V_ASHR_I32_e32 %27, %32, implicit $exec
     FLAT_STORE_DWORD %20, %28, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
     S_ENDPGM 0
@@ -575,209 +349,123 @@ body:             |
 ---
 
 # GCN-LABEL: name: s_fold_lshr_imm_regimm_32{{$}}
-# GCN: %11:vgpr_32 = V_MOV_B32_e32 1048332, implicit $exec
-# GCN: BUFFER_STORE_DWORD_OFFSET killed %11, killed %8,
+# GCN: [[VAL:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1048332, implicit $exec
+# GCN: BUFFER_STORE_DWORD_OFFSET killed [[VAL]], killed %7,
 name:            s_fold_lshr_imm_regimm_32
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
-registers:
-  - { id: 0, class: sgpr_64 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 4, class: sreg_64_xexec }
-  - { id: 5, class: sreg_32_xm0_xexec }
-  - { id: 6, class: sreg_32_xm0 }
-  - { id: 7, class: sreg_32_xm0 }
-  - { id: 8, class: sreg_32_xm0 }
-  - { id: 9, class: sreg_32_xm0 }
-  - { id: 10, class: sgpr_128 }
-  - { id: 11, class: sreg_32_xm0 }
-  - { id: 12, class: sreg_32_xm0 }
-  - { id: 13, class: vgpr_32 }
 liveins:
   - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
 body:             |
   bb.0:
     liveins: $sgpr0_sgpr1
 
-    %0 = COPY $sgpr0_sgpr1
-    %4 = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
-    %5 = S_MOV_B32 -999123
-    %6 = COPY %4.sub1
-    %7 = COPY %4.sub0
-    %8 = S_MOV_B32 61440
-    %9 = S_MOV_B32 -1
-    %10 = REG_SEQUENCE killed %7, 1, killed %6, 2, killed %9, 3, killed %8, 4
-    %12 = S_LSHR_B32 killed %5, 12, implicit-def dead $scc
-    %13 = COPY %12
-    BUFFER_STORE_DWORD_OFFSET killed %13, killed %10, 0, 0, 0, 0, 0, 0, 0, implicit $exec
+    %0:sgpr_64 = COPY $sgpr0_sgpr1
+    %2:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
+    %3:sreg_32_xm0_xexec = S_MOV_B32 -999123
+    %4:sreg_32_xm0 = COPY %2.sub1
+    %5:sreg_32_xm0 = COPY %2.sub0
+    %6:sreg_32_xm0 = S_MOV_B32 61440
+    %7:sreg_32_xm0 = S_MOV_B32 -1
+    %8:sgpr_128 = REG_SEQUENCE killed %5, %subreg.hi16, killed %4, %subreg.lo16, killed %7, %subreg.sub0, killed %6, %subreg.sub0_sub1
+    %10:sreg_32_xm0 = S_LSHR_B32 killed %3, 12, implicit-def dead $scc
+    %11:vgpr_32 = COPY %10
+    BUFFER_STORE_DWORD_OFFSET killed %11, killed %8, 0, 0, 0, 0, 0, 0, 0, implicit $exec
     S_ENDPGM 0
 
 ...
 ---
 
 # GCN-LABEL: name: v_fold_lshr_imm_regimm_32{{$}}
-# GCN: %11:vgpr_32 = V_MOV_B32_e32 3903258, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %11,
+# GCN: [[VAL0:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 3903258, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL0]],
 
-# GCN: %12:vgpr_32 = V_MOV_B32_e32 62452139, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %12,
+# GCN: [[VAL1:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 62452139, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL1]],
 
-# GCN: %13:vgpr_32 = V_MOV_B32_e32 1678031, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %13,
+# GCN: [[VAL2:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1678031, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL2]],
 
-# GCN: %14:vgpr_32 = V_MOV_B32_e32 3, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %14,
+# GCN: [[VAL3:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 3, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL3]],
 
-# GCN: %15:vgpr_32 = V_MOV_B32_e32 1, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %15,
+# GCN: [[VAL4:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL4]],
 
-# GCN: %22:vgpr_32 = V_MOV_B32_e32 62500, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %22,
+# GCN: [[VAL5:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 62500, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL5]],
 
-# GCN: %23:vgpr_32 = V_MOV_B32_e32 500000, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %23,
+# GCN: [[VAL6:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 500000, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL6]],
 
-# GCN: %25:vgpr_32 = V_MOV_B32_e32 1920, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %25,
+# GCN: [[VAL7:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1920, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL7]],
 
-# GCN: %26:vgpr_32 = V_MOV_B32_e32 487907, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %26,
+# GCN: [[VAL8:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 487907, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL8]],
 
-# GCN: %28:vgpr_32 = V_MOV_B32_e32 1073741823, implicit $exec
-# GCN: FLAT_STORE_DWORD %20, %28,
+# GCN: [[VAL9:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1073741823, implicit $exec
+# GCN: FLAT_STORE_DWORD %10, [[VAL9]],
 
 name:            v_fold_lshr_imm_regimm_32
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
-registers:
-  - { id: 0, class: sgpr_64 }
-  - { id: 1, class: sreg_32_xm0 }
-  - { id: 2, class: vgpr_32 }
-  - { id: 3, class: sreg_64_xexec }
-  - { id: 4, class: sreg_64_xexec }
-  - { id: 5, class: sreg_32_xm0 }
-  - { id: 6, class: vgpr_32 }
-  - { id: 7, class: sreg_32_xm0 }
-  - { id: 8, class: sreg_32_xm0 }
-  - { id: 9, class: sreg_32_xm0 }
-  - { id: 10, class: vgpr_32 }
-  - { id: 11, class: vgpr_32 }
-  - { id: 12, class: vgpr_32 }
-  - { id: 13, class: vgpr_32 }
-  - { id: 14, class: vgpr_32 }
-  - { id: 15, class: vgpr_32 }
-  - { id: 16, class: vreg_64 }
-  - { id: 17, class: vreg_64 }
-  - { id: 18, class: vgpr_32 }
-  - { id: 19, class: vgpr_32 }
-  - { id: 20, class: vreg_64 }
-  - { id: 21, class: vgpr_32 }
-  - { id: 22, class: vgpr_32 }
-  - { id: 23, class: vgpr_32 }
-  - { id: 24, class: vgpr_32 }
-  - { id: 25, class: vgpr_32 }
-  - { id: 26, class: vgpr_32 }
-  - { id: 27, class: sreg_32_xm0 }
-  - { id: 28, class: vgpr_32 }
-  - { id: 32, class: sreg_32_xm0 }
-  - { id: 33, class: sreg_32_xm0 }
-  - { id: 34, class: vgpr_32 }
-  - { id: 35, class: vgpr_32 }
 liveins:
   - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }
   - { reg: '$vgpr0', virtual-reg: '%2' }
-frameInfo:
-  isFrameAddressTaken: false
-  isReturnAddressTaken: false
-  hasStackMap:     false
-  hasPatchPoint:   false
-  stackSize:       0
-  offsetAdjustment: 0
-  maxAlignment:    0
-  adjustsStack:    false
-  hasCalls:        false
-  maxCallFrameSize: 0
-  hasOpaqueSPAdjustment: false
-  hasVAStart:      false
-  hasMustTailInVarArgFunc: false
 body:             |
   bb.0:
     liveins: $sgpr0_sgpr1, $vgpr0
 
-    %2 = COPY $vgpr0
-    %0 = COPY $sgpr0_sgpr1
-    %3 = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
-    %15 = V_ASHRREV_I32_e64 31, %2, implicit $exec
-    %16 = REG_SEQUENCE %2, 1, %15, 2
-    %17 = V_LSHLREV_B64 2, killed %16, implicit $exec
-    %9 = COPY %3.sub1
-    %21 = V_ADD_I32_e32 %3.sub0, %17.sub0, implicit-def $vcc, implicit $exec
-    %19 = COPY killed %9
-    %18 = V_ADDC_U32_e32 %17.sub1, %19, implicit-def $vcc, implicit $vcc, implicit $exec
-    %20 = REG_SEQUENCE %21, 1, killed %18, 2
-    %10 = V_MOV_B32_e32 999234234, implicit $exec
-    %24 = V_MOV_B32_e32 3871, implicit $exec
-    %6 = V_MOV_B32_e32 1000000, implicit $exec
-    %7 = S_MOV_B32 13424252
-    %8 = S_MOV_B32 4
-    %27 = S_MOV_B32 -4
-    %32 = S_MOV_B32 1
-    %33 = S_MOV_B32 3841
-    %34 = V_MOV_B32_e32 3841, implicit $exec
-    %35 = V_MOV_B32_e32 2, implicit $exec
-
-    %11 = V_LSHRREV_B32_e64 8, %10, implicit $exec
+    %2:vgpr_32 = COPY $vgpr0
+    %0:sgpr_64 = COPY $sgpr0_sgpr1
+    %3:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0, 0
+    %15:vgpr_32 = V_ASHRREV_I32_e64 31, %2, implicit $exec
+    %16:vreg_64 = REG_SEQUENCE %2, %subreg.hi16, %15, %subreg.lo16
+    %17:vreg_64 = V_LSHLREV_B64 2, killed %16, implicit $exec
+    %9:sreg_32_xm0 = COPY %3.sub1
+    %21:vgpr_32 = V_ADD_I32_e32 %3.sub0, %17.sub0, implicit-def $vcc, implicit $exec
+    %19:vgpr_32 = COPY killed %9
+    %18:vgpr_32 = V_ADDC_U32_e32 %17.sub1, %19, implicit-def $vcc, implicit $vcc, implicit $exec
+    %20:vreg_64 = REG_SEQUENCE %21, %subreg.hi16, killed %18, %subreg.lo16
+    %10:vgpr_32 = V_MOV_B32_e32 999234234, implicit $exec
+    %24:vgpr_32 = V_MOV_B32_e32 3871, implicit $exec
+    %6:vgpr_32 = V_MOV_B32_e32 1000000, implicit $exec
+    %7:sreg_32_xm0 = S_MOV_B32 13424252
+    %8:sreg_32_xm0 = S_MOV_B32 4
+    %27:sreg_32_xm0 = S_MOV_B32 -4
+    %29:sreg_32_xm0 = S_MOV_B32 1
+    %30:sreg_32_xm0 = S_MOV_B32 3841
+    %31:vgpr_32 = V_MOV_B32_e32 3841, implicit $exec
+    %32:vgpr_32 = V_MOV_B32_e32 2, implicit $exec
+
+    %11:vgpr_32 = V_LSHRREV_B32_e64 8, %10, implicit $exec
     FLAT_STORE_DWORD %20, %11, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %12 = V_LSHRREV_B32_e64 %8, %10, implicit $exec
+    %12:vgpr_32 = V_LSHRREV_B32_e64 %8, %10, implicit $exec
     FLAT_STORE_DWORD %20, %12, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %13 = V_LSHR_B32_e64 %7, 3, implicit $exec
+    %13:vgpr_32 = V_LSHR_B32_e64 %7, 3, implicit $exec
     FLAT_STORE_DWORD %20, %13, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %14 = V_LSHR_B32_e64 7, %32, implicit $exec
+    %14:vgpr_32 = V_LSHR_B32_e64 7, %29, implicit $exec
     FLAT_STORE_DWORD %20, %14, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %15 = V_LSHR_B32_e64 %27, %24, implicit $exec
+    %15:vgpr_32 = V_LSHR_B32_e64 %27, %24, implicit $exec
     FLAT_STORE_DWORD %20, %15, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %22 = V_LSHR_B32_e64 %6, 4, implicit $exec
+    %22:vgpr_32 = V_LSHR_B32_e64 %6, 4, implicit $exec
     FLAT_STORE_DWORD %20, %22, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %23 = V_LSHR_B32_e64 %6, %33, implicit $exec
+    %23:vgpr_32 = V_LSHR_B32_e64 %6, %30, implicit $exec
     FLAT_STORE_DWORD %20, %23, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %25 = V_LSHR_B32_e32 %34, %34, implicit $exec
+    %25:vgpr_32 = V_LSHR_B32_e32 %31, %31, implicit $exec
     FLAT_STORE_DWORD %20, %25, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %26 = V_LSHRREV_B32_e32 11, %10, implicit $exec
+    %26:vgpr_32 = V_LSHRREV_B32_e32 11, %10, implicit $exec
     FLAT_STORE_DWORD %20, %26, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
 
-    %28 = V_LSHR_B32_e32 %27, %35, implicit $exec
+    %28:vgpr_32 = V_LSHR_B32_e32 %27, %32, implicit $exec
     FLAT_STORE_DWORD %20, %28, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
-
     S_ENDPGM 0
 
 ...
@@ -787,20 +475,15 @@ body:             |
 
 # GCN-LABEL: name: undefined_vreg_operand{{$}}
 # GCN: bb.0
-# GCN-NEXT: FLAT_STORE_DWORD undef %3:vreg_64, undef %1:vgpr_32,
+# GCN-NEXT: FLAT_STORE_DWORD undef %3:vreg_64, undef %2:vgpr_32,
 # GCN-NEXT: S_ENDPGM 0
 name: undefined_vreg_operand
 tracksRegLiveness: true
-registers:
-  - { id: 0, class: vgpr_32, preferred-register: '' }
-  - { id: 1, class: vgpr_32, preferred-register: '' }
-  - { id: 2, class: vgpr_32, preferred-register: '' }
-  - { id: 3, class: vreg_64, preferred-register: '' }
 body:             |
   bb.0:
-    %0 = V_MOV_B32_e32 0, implicit $exec
-    %2 = V_XOR_B32_e64 killed %0, undef %1, implicit $exec
-    FLAT_STORE_DWORD undef %3, %2, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
+    %0:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
+    %2:vgpr_32 = V_XOR_B32_e64 killed %0, undef %1:vgpr_32, implicit $exec
+    FLAT_STORE_DWORD undef %3:vreg_64, %2, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
     S_ENDPGM 0
 
 ...
@@ -837,11 +520,6 @@ body:             |
 # GCN-NEXT: S_ENDPGM 0, implicit %2
 
 name: constant_fold_lshl_or_reg0_immreg_reg
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
 
 body:             |
@@ -862,11 +540,6 @@ body:             |
 # GCN-NEXT: S_ENDPGM 0, implicit %2
 
 name: constant_fold_lshl_or_reg0_immreg_imm
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
 
 body:             |
@@ -886,11 +559,6 @@ body:             |
 # GCN-NEXT: S_ENDPGM 0, implicit %3
 
 name: constant_fold_lshl_or_reg0_immreg_immreg
-alignment:       1
-exposesReturnsTwice: false
-legalized:       false
-regBankSelected: false
-selected:        false
 tracksRegLiveness: true
 
 body:             |


        


More information about the llvm-commits mailing list