# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -run-pass=amdgpu-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s

---
name: sext_inreg_s32_7_sextload_from_1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_s32_7_sextload_from_1
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[SEXTLOAD]], 7
    ; GCN: $vgpr0 = COPY [[SEXT_INREG]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 1)
    %2:_(s32) = G_SEXT_INREG %1, 7
    $vgpr0 = COPY %2

...

---
name: sext_inreg_s32_8_sextload_from_1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_s32_8_sextload_from_1
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: $vgpr0 = COPY [[SEXTLOAD]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 1)
    %2:_(s32) = G_SEXT_INREG %1, 8
    $vgpr0 = COPY %2

...

---
name: sext_inreg_s32_9_sextload_from_1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_s32_9_sextload_from_1
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: $vgpr0 = COPY [[SEXTLOAD]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 1)
    %2:_(s32) = G_SEXT_INREG %1, 9
    $vgpr0 = COPY %2

...

---
name: sext_inreg_s32_7_sext_from_s8
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_s32_7_sext_from_s8
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[SEXTLOAD]], 7
    ; GCN: $vgpr0 = COPY [[SEXT_INREG]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(s8) = G_LOAD %0 :: (load 1, addrspace 1)
    %2:_(s32) = G_SEXT %1
    %3:_(s32) = G_SEXT_INREG %2, 7
    $vgpr0 = COPY %3

...

---
name: sext_inreg_s32_8_sext_from_s8
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_s32_8_sext_from_s8
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: $vgpr0 = COPY [[SEXTLOAD]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(s8) = G_LOAD %0 :: (load 1, addrspace 1)
    %2:_(s32) = G_SEXT %1
    %3:_(s32) = G_SEXT_INREG %2, 8
    $vgpr0 = COPY %3

...

---
name: sext_inreg_s32_8_sext_from_s9
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_s32_8_sext_from_s9
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: $vgpr0 = COPY [[SEXTLOAD]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(s8) = G_LOAD %0 :: (load 1, addrspace 1)
    %2:_(s32) = G_SEXT %1
    %3:_(s32) = G_SEXT_INREG %2, 9
    $vgpr0 = COPY %3

...

---
name: sext_inreg_v2s32_7_sext_from_v2s8
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_v2s32_7_sext_from_v2s8
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[LOAD:%[0-9]+]]:_(<2 x s8>) = G_LOAD [[COPY]](p1) :: (load 2, addrspace 1)
    ; GCN: [[SEXT:%[0-9]+]]:_(<2 x s32>) = G_SEXT [[LOAD]](<2 x s8>)
    ; GCN: [[SEXT_INREG:%[0-9]+]]:_(<2 x s32>) = G_SEXT_INREG [[SEXT]], 7
    ; GCN: $vgpr0_vgpr1 = COPY [[SEXT_INREG]](<2 x s32>)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(<2 x s8>) = G_LOAD %0 :: (load 2, addrspace 1)
    %2:_(<2 x s32>) = G_SEXT %1
    %3:_(<2 x s32>) = G_SEXT_INREG %2, 7
    $vgpr0_vgpr1 = COPY %3

...

---
name: sext_inreg_v2s32_8_sext_from_v2s8
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_v2s32_8_sext_from_v2s8
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[LOAD:%[0-9]+]]:_(<2 x s8>) = G_LOAD [[COPY]](p1) :: (load 2, addrspace 1)
    ; GCN: [[SEXT:%[0-9]+]]:_(<2 x s32>) = G_SEXT [[LOAD]](<2 x s8>)
    ; GCN: $vgpr0_vgpr1 = COPY [[SEXT]](<2 x s32>)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(<2 x s8>) = G_LOAD %0 :: (load 2, addrspace 1)
    %2:_(<2 x s32>) = G_SEXT %1
    %3:_(<2 x s32>) = G_SEXT_INREG %2, 8
    $vgpr0_vgpr1 = COPY %3

...

---
name: sext_inreg_v2s32_9_sext_from_v2s8
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_v2s32_9_sext_from_v2s8
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[LOAD:%[0-9]+]]:_(<2 x s8>) = G_LOAD [[COPY]](p1) :: (load 2, addrspace 1)
    ; GCN: [[SEXT:%[0-9]+]]:_(<2 x s32>) = G_SEXT [[LOAD]](<2 x s8>)
    ; GCN: $vgpr0_vgpr1 = COPY [[SEXT]](<2 x s32>)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(<2 x s8>) = G_LOAD %0 :: (load 2, addrspace 1)
    %2:_(<2 x s32>) = G_SEXT %1
    %3:_(<2 x s32>) = G_SEXT_INREG %2, 9
    $vgpr0_vgpr1 = COPY %3

...

---
name: sext_inreg_s32_7_zextload_from_1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_s32_7_zextload_from_1
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[ZEXTLOAD]], 7
    ; GCN: $vgpr0 = COPY [[SEXT_INREG]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(s32) = G_ZEXTLOAD %0 :: (load 1, addrspace 1)
    %2:_(s32) = G_SEXT_INREG %1, 7
    $vgpr0 = COPY %2

...

---
name: sext_inreg_s32_8_zextload_from_1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_s32_8_zextload_from_1
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[ZEXTLOAD]], 8
    ; GCN: $vgpr0 = COPY [[SEXT_INREG]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(s32) = G_ZEXTLOAD %0 :: (load 1, addrspace 1)
    %2:_(s32) = G_SEXT_INREG %1, 8
    $vgpr0 = COPY %2

...

---
name: sext_inreg_s32_9_zextload_from_1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3

    ; GCN-LABEL: name: sext_inreg_s32_9_zextload_from_1
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: $vgpr0 = COPY [[ZEXTLOAD]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(s32) = G_ZEXTLOAD %0 :: (load 1, addrspace 1)
    %2:_(s32) = G_SEXT_INREG %1, 9
    $vgpr0 = COPY %2

...

---
name: sext_inreg_s32_select_sextload_from_1
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr4, $vgpr5

    ; GCN-LABEL: name: sext_inreg_s32_select_sextload_from_1
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr4, $vgpr5
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[COPY1:%[0-9]+]]:_(p1) = COPY $vgpr2_vgpr3
    ; GCN: [[COPY2:%[0-9]+]]:_(s32) = COPY $vgpr4
    ; GCN: [[COPY3:%[0-9]+]]:_(s32) = COPY $vgpr5
    ; GCN: [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]
    ; GCN: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: [[SEXTLOAD1:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY1]](p1) :: (load 1, addrspace 1)
    ; GCN: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s1), [[SEXTLOAD]], [[SEXTLOAD1]]
    ; GCN: $vgpr0 = COPY [[SELECT]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(p1) = COPY $vgpr2_vgpr3
    %2:_(s32) = COPY $vgpr4
    %3:_(s32) = COPY $vgpr5
    %4:_(s1) = G_ICMP intpred(eq), %2, %3
    %5:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 1)
    %6:_(s32) = G_SEXTLOAD %1 :: (load 1, addrspace 1)
    %7:_(s32) = G_SELECT %4, %5, %6
    %8:_(s32) = G_SEXT_INREG %7, 8
    $vgpr0 = COPY %8

...

---
name: sext_inreg_s32_select_sextload_from_1_fail_lhs
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr4, $vgpr5

    ; GCN-LABEL: name: sext_inreg_s32_select_sextload_from_1_fail_lhs
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr4, $vgpr5
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[COPY1:%[0-9]+]]:_(p1) = COPY $vgpr2_vgpr3
    ; GCN: [[COPY2:%[0-9]+]]:_(s32) = COPY $vgpr4
    ; GCN: [[COPY3:%[0-9]+]]:_(s32) = COPY $vgpr5
    ; GCN: [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]
    ; GCN: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p1) :: (load 4, addrspace 1)
    ; GCN: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY1]](p1) :: (load 1, addrspace 1)
    ; GCN: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s1), [[LOAD]], [[SEXTLOAD]]
    ; GCN: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[SELECT]], 8
    ; GCN: $vgpr0 = COPY [[SEXT_INREG]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(p1) = COPY $vgpr2_vgpr3
    %2:_(s32) = COPY $vgpr4
    %3:_(s32) = COPY $vgpr5
    %4:_(s1) = G_ICMP intpred(eq), %2, %3
    %5:_(s32) = G_LOAD %0 :: (load 4, addrspace 1)
    %6:_(s32) = G_SEXTLOAD %1 :: (load 1, addrspace 1)
    %7:_(s32) = G_SELECT %4, %5, %6
    %8:_(s32) = G_SEXT_INREG %7, 8
    $vgpr0 = COPY %8

...

---
name: sext_inreg_s32_select_sextload_from_1_fail_rhs
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr4, $vgpr5

    ; GCN-LABEL: name: sext_inreg_s32_select_sextload_from_1_fail_rhs
    ; GCN: liveins: $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr4, $vgpr5
    ; GCN: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    ; GCN: [[COPY1:%[0-9]+]]:_(p1) = COPY $vgpr2_vgpr3
    ; GCN: [[COPY2:%[0-9]+]]:_(s32) = COPY $vgpr4
    ; GCN: [[COPY3:%[0-9]+]]:_(s32) = COPY $vgpr5
    ; GCN: [[ICMP:%[0-9]+]]:_(s1) = G_ICMP intpred(eq), [[COPY2]](s32), [[COPY3]]
    ; GCN: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
    ; GCN: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY1]](p1) :: (load 4, addrspace 1)
    ; GCN: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s1), [[SEXTLOAD]], [[LOAD]]
    ; GCN: [[SEXT_INREG:%[0-9]+]]:_(s32) = G_SEXT_INREG [[SELECT]], 8
    ; GCN: $vgpr0 = COPY [[SEXT_INREG]](s32)
    %0:_(p1) = COPY $vgpr0_vgpr1
    %1:_(p1) = COPY $vgpr2_vgpr3
    %2:_(s32) = COPY $vgpr4
    %3:_(s32) = COPY $vgpr5
    %4:_(s1) = G_ICMP intpred(eq), %2, %3
    %5:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 1)
    %6:_(s32) = G_LOAD %1 :: (load 4, addrspace 1)
    %7:_(s32) = G_SELECT %4, %5, %6
    %8:_(s32) = G_SEXT_INREG %7, 8
    $vgpr0 = COPY %8

...
---
name: assert_sext_s8
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0
    ; GCN-LABEL: name: assert_sext_s8
    ; GCN: liveins: $vgpr0
    ; GCN: %copy:_(s32) = COPY $vgpr0
    ; GCN: %assert_sext:_(s32) = G_ASSERT_SEXT %copy, 8
    ; GCN: $vgpr0 = COPY %assert_sext(s32)
    %copy:_(s32) = COPY $vgpr0
    %assert_sext:_(s32) = G_ASSERT_SEXT %copy, 8
    %sext_inreg:_(s32) = G_SEXT_INREG %assert_sext, 8
    $vgpr0 = COPY %sext_inreg

...
---
name: sext_inreg_s7_assert_sext_s8
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $vgpr0
    ; GCN-LABEL: name: sext_inreg_s7_assert_sext_s8
    ; GCN: liveins: $vgpr0
    ; GCN: %copy:_(s32) = COPY $vgpr0
    ; GCN: %assert_sext:_(s32) = G_ASSERT_SEXT %copy, 8
    ; GCN: %sext_inreg:_(s32) = G_SEXT_INREG %assert_sext, 7
    ; GCN: $vgpr0 = COPY %sext_inreg(s32)
    %copy:_(s32) = COPY $vgpr0
    %assert_sext:_(s32) = G_ASSERT_SEXT %copy, 8
    %sext_inreg:_(s32) = G_SEXT_INREG %assert_sext, 7
    $vgpr0 = COPY %sext_inreg
