# RUN: llc -mtriple=aarch64-- -run-pass=instruction-select -verify-machineinstrs -global-isel %s -o - | FileCheck %s

--- |
  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"

  define void @add_s32_gpr() { ret void }
  define void @add_s64_gpr() { ret void }

  define void @add_imm_s32_gpr() { ret void }
  define void @add_imm_s64_gpr() { ret void }

  define void @add_imm_s32_gpr_bb() { ret void }

  define void @sub_s32_gpr() { ret void }
  define void @sub_s64_gpr() { ret void }

  define void @or_s32_gpr() { ret void }
  define void @or_s64_gpr() { ret void }
  define void @or_v2s32_fpr() { ret void }

  define void @and_s32_gpr() { ret void }
  define void @and_s64_gpr() { ret void }

  define void @shl_s32_gpr() { ret void }
  define void @shl_s64_gpr() { ret void }

  define void @lshr_s32_gpr() { ret void }
  define void @lshr_s64_gpr() { ret void }

  define void @ashr_s32_gpr() { ret void }
  define void @ashr_s64_gpr() { ret void }

  define void @mul_s32_gpr() { ret void }
  define void @mul_s64_gpr() { ret void }

  define void @mulh_s64_gpr() { ret void }

  define void @sdiv_s32_gpr() { ret void }
  define void @sdiv_s64_gpr() { ret void }

  define void @udiv_s32_gpr() { ret void }
  define void @udiv_s64_gpr() { ret void }

  define void @fadd_s32_fpr() { ret void }
  define void @fadd_s64_fpr() { ret void }

  define void @fsub_s32_fpr() { ret void }
  define void @fsub_s64_fpr() { ret void }

  define void @fmul_s32_fpr() { ret void }
  define void @fmul_s64_fpr() { ret void }

  define void @fdiv_s32_fpr() { ret void }
  define void @fdiv_s64_fpr() { ret void }

...

---
# Check that we select a 32-bit GPR G_ADD into ADDWrr on GPR32.
# Also check that we constrain the register class of the COPY to GPR32.
# CHECK-LABEL: name: add_s32_gpr
name:            add_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = ADDWrr %0, %1
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_ADD %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s32_gpr, for 64-bit operations.
# CHECK-LABEL: name: add_s64_gpr
name:            add_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = ADDXrr %0, %1
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_ADD %0, %1
    %x0 = COPY %2(s64)
...

---
# CHECK-LABEL: name: add_imm_s32_gpr
name:            add_imm_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32sp, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32sp, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %2 = ADDWri %0, 1, 0
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = G_CONSTANT i32 1
    %2(s32) = G_ADD %0, %1
    %w0 = COPY %2(s32)
...

---
# CHECK-LABEL: name: add_imm_s64_gpr
name:            add_imm_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64sp, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64sp, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %2 = ADDXri %0, 1, 0
body:             |
  bb.0:
    liveins: %x0, %w1

    %0(s64) = COPY %x0
    %1(s64) = G_CONSTANT i32 1
    %2(s64) = G_ADD %0, %1
    %x0 = COPY %2(s64)
...

---
# CHECK-LABEL: name: add_imm_s32_gpr_bb
name:            add_imm_s32_gpr_bb
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32sp, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32sp, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:  bb.1:
# CHECK:    %2 = ADDWri %0, 1, 0
body:             |
  bb.0:
    liveins: %w0, %w1
    successors: %bb.1

    %0(s32) = COPY %w0
    %1(s32) = G_CONSTANT i32 1
    G_BR %bb.1

  bb.1:
    %2(s32) = G_ADD %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s32_gpr, for G_SUB operations.
# CHECK-LABEL: name: sub_s32_gpr
name:            sub_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = SUBSWrr %0, %1, implicit-def %nzcv
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_SUB %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s64_gpr, for G_SUB operations.
# CHECK-LABEL: name: sub_s64_gpr
name:            sub_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = SUBSXrr %0, %1, implicit-def %nzcv
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_SUB %0, %1
    %x0 = COPY %2(s64)
...

---
# Same as add_s32_gpr, for G_OR operations.
# CHECK-LABEL: name: or_s32_gpr
name:            or_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = ORRWrr %0, %1
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_OR %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s64_gpr, for G_OR operations.
# CHECK-LABEL: name: or_s64_gpr
name:            or_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = ORRXrr %0, %1
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_OR %0, %1
    %x0 = COPY %2(s64)
...

---
# 64-bit G_OR on vector registers.
# CHECK-LABEL: name: or_v2s32_fpr
name:            or_v2s32_fpr
legalized:       true
regBankSelected: true
#
# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: fpr64, preferred-register: '' }
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: fpr }

# CHECK:  body:
# CHECK:    %0 = COPY %d0
# CHECK:    %1 = COPY %d1
# The actual OR does not matter as long as it is operating
# on 64-bit width vector.
# CHECK:    %2 = ORRv8i8 %0, %1
body:             |
  bb.0:
    liveins: %d0, %d1

      %0(<2 x s32>) = COPY %d0
      %1(<2 x s32>) = COPY %d1
      %2(<2 x s32>) = G_OR %0, %1
      %d0 = COPY %2(<2 x s32>)
...

---
# Same as add_s32_gpr, for G_AND operations.
# CHECK-LABEL: name: and_s32_gpr
name:            and_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = ANDWrr %0, %1
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_AND %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s64_gpr, for G_AND operations.
# CHECK-LABEL: name: and_s64_gpr
name:            and_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = ANDXrr %0, %1
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_AND %0, %1
    %x0 = COPY %2(s64)
...

---
# Same as add_s32_gpr, for G_SHL operations.
# CHECK-LABEL: name: shl_s32_gpr
name:            shl_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = LSLVWr %0, %1
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_SHL %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s64_gpr, for G_SHL operations.
# CHECK-LABEL: name: shl_s64_gpr
name:            shl_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = LSLVXr %0, %1
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_SHL %0, %1
    %x0 = COPY %2(s64)
...

---
# Same as add_s32_gpr, for G_LSHR operations.
# CHECK-LABEL: name: lshr_s32_gpr
name:            lshr_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = LSRVWr %0, %1
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_LSHR %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s64_gpr, for G_LSHR operations.
# CHECK-LABEL: name: lshr_s64_gpr
name:            lshr_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = LSRVXr %0, %1
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_LSHR %0, %1
    %x0 = COPY %2(s64)
...

---
# Same as add_s32_gpr, for G_ASHR operations.
# CHECK-LABEL: name: ashr_s32_gpr
name:            ashr_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = ASRVWr %0, %1
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_ASHR %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s64_gpr, for G_ASHR operations.
# CHECK-LABEL: name: ashr_s64_gpr
name:            ashr_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = ASRVXr %0, %1
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_ASHR %0, %1
    %x0 = COPY %2(s64)
...

---
# Check that we select s32 GPR G_MUL. This is trickier than other binops because
# there is only MADDWrrr, and we have to use the WZR physreg.
# CHECK-LABEL: name: mul_s32_gpr
name:            mul_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = MADDWrrr %0, %1, %wzr
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_MUL %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as mul_s32_gpr for the s64 type.
# CHECK-LABEL: name: mul_s64_gpr
name:            mul_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = MADDXrrr %0, %1, %xzr
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_MUL %0, %1
    %x0 = COPY %2(s64)
...

---
# Same as mul_s32_gpr for the s64 type.
# CHECK-LABEL: name: mulh_s64_gpr
name:            mulh_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 3, class: gpr64, preferred-register: '' }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = SMULHrr %0, %1
# CHECK:    %3 = UMULHrr %0, %1
body:             |
  bb.0:
    liveins: %x0, %x1

    %0:gpr(s64) = COPY %x0
    %1:gpr(s64) = COPY %x1
    %2:gpr(s64) = G_SMULH %0, %1
    %3:gpr(s64) = G_UMULH %0, %1
    %x0 = COPY %2(s64)
    %x0 = COPY %3(s64)
...

---
# Same as add_s32_gpr, for G_SDIV operations.
# CHECK-LABEL: name: sdiv_s32_gpr
name:            sdiv_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = SDIVWr %0, %1
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_SDIV %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s64_gpr, for G_SDIV operations.
# CHECK-LABEL: name: sdiv_s64_gpr
name:            sdiv_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = SDIVXr %0, %1
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_SDIV %0, %1
    %x0 = COPY %2(s64)
...

---
# Same as add_s32_gpr, for G_UDIV operations.
# CHECK-LABEL: name: udiv_s32_gpr
name:            udiv_s32_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr32, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %w0
# CHECK:    %1 = COPY %w1
# CHECK:    %2 = UDIVWr %0, %1
body:             |
  bb.0:
    liveins: %w0, %w1

    %0(s32) = COPY %w0
    %1(s32) = COPY %w1
    %2(s32) = G_UDIV %0, %1
    %w0 = COPY %2(s32)
...

---
# Same as add_s64_gpr, for G_UDIV operations.
# CHECK-LABEL: name: udiv_s64_gpr
name:            udiv_s64_gpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: gpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: gpr64, preferred-register: '' }
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }

# CHECK:  body:
# CHECK:    %0 = COPY %x0
# CHECK:    %1 = COPY %x1
# CHECK:    %2 = UDIVXr %0, %1
body:             |
  bb.0:
    liveins: %x0, %x1

    %0(s64) = COPY %x0
    %1(s64) = COPY %x1
    %2(s64) = G_UDIV %0, %1
    %x0 = COPY %2(s64)
...

---
# Check that we select a s32 FPR G_FADD into FADDSrr.
# CHECK-LABEL: name: fadd_s32_fpr
name:            fadd_s32_fpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: fpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: fpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: fpr32, preferred-register: '' }
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: fpr }

# CHECK:  body:
# CHECK:    %0 = COPY %s0
# CHECK:    %1 = COPY %s1
# CHECK:    %2 = FADDSrr %0, %1
body:             |
  bb.0:
    liveins: %s0, %s1

    %0(s32) = COPY %s0
    %1(s32) = COPY %s1
    %2(s32) = G_FADD %0, %1
    %s0 = COPY %2(s32)
...

---
# CHECK-LABEL: name: fadd_s64_fpr
name:            fadd_s64_fpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: fpr64, preferred-register: '' }
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: fpr }

# CHECK:  body:
# CHECK:    %0 = COPY %d0
# CHECK:    %1 = COPY %d1
# CHECK:    %2 = FADDDrr %0, %1
body:             |
  bb.0:
    liveins: %d0, %d1

    %0(s64) = COPY %d0
    %1(s64) = COPY %d1
    %2(s64) = G_FADD %0, %1
    %d0 = COPY %2(s64)
...

---
# CHECK-LABEL: name: fsub_s32_fpr
name:            fsub_s32_fpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: fpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: fpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: fpr32, preferred-register: '' }
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: fpr }

# CHECK:  body:
# CHECK:    %0 = COPY %s0
# CHECK:    %1 = COPY %s1
# CHECK:    %2 = FSUBSrr %0, %1
body:             |
  bb.0:
    liveins: %s0, %s1

    %0(s32) = COPY %s0
    %1(s32) = COPY %s1
    %2(s32) = G_FSUB %0, %1
    %s0 = COPY %2(s32)
...

---
# CHECK-LABEL: name: fsub_s64_fpr
name:            fsub_s64_fpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: fpr64, preferred-register: '' }
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: fpr }

# CHECK:  body:
# CHECK:    %0 = COPY %d0
# CHECK:    %1 = COPY %d1
# CHECK:    %2 = FSUBDrr %0, %1
body:             |
  bb.0:
    liveins: %d0, %d1

    %0(s64) = COPY %d0
    %1(s64) = COPY %d1
    %2(s64) = G_FSUB %0, %1
    %d0 = COPY %2(s64)
...

---
# CHECK-LABEL: name: fmul_s32_fpr
name:            fmul_s32_fpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: fpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: fpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: fpr32, preferred-register: '' }
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: fpr }

# CHECK:  body:
# CHECK:    %0 = COPY %s0
# CHECK:    %1 = COPY %s1
# CHECK:    %2 = FMULSrr %0, %1
body:             |
  bb.0:
    liveins: %s0, %s1

    %0(s32) = COPY %s0
    %1(s32) = COPY %s1
    %2(s32) = G_FMUL %0, %1
    %s0 = COPY %2(s32)
...

---
# CHECK-LABEL: name: fmul_s64_fpr
name:            fmul_s64_fpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: fpr64, preferred-register: '' }
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: fpr }

# CHECK:  body:
# CHECK:    %0 = COPY %d0
# CHECK:    %1 = COPY %d1
# CHECK:    %2 = FMULDrr %0, %1
body:             |
  bb.0:
    liveins: %d0, %d1

    %0(s64) = COPY %d0
    %1(s64) = COPY %d1
    %2(s64) = G_FMUL %0, %1
    %d0 = COPY %2(s64)
...

---
# CHECK-LABEL: name: fdiv_s32_fpr
name:            fdiv_s32_fpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: fpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: fpr32, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: fpr32, preferred-register: '' }
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: fpr }

# CHECK:  body:
# CHECK:    %0 = COPY %s0
# CHECK:    %1 = COPY %s1
# CHECK:    %2 = FDIVSrr %0, %1
body:             |
  bb.0:
    liveins: %s0, %s1

    %0(s32) = COPY %s0
    %1(s32) = COPY %s1
    %2(s32) = G_FDIV %0, %1
    %s0 = COPY %2(s32)
...

---
# CHECK-LABEL: name: fdiv_s64_fpr
name:            fdiv_s64_fpr
legalized:       true
regBankSelected: true

# CHECK:      registers:
# CHECK-NEXT:  - { id: 0, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 1, class: fpr64, preferred-register: '' }
# CHECK-NEXT:  - { id: 2, class: fpr64, preferred-register: '' }
registers:
  - { id: 0, class: fpr }
  - { id: 1, class: fpr }
  - { id: 2, class: fpr }

# CHECK:  body:
# CHECK:    %0 = COPY %d0
# CHECK:    %1 = COPY %d1
# CHECK:    %2 = FDIVDrr %0, %1
body:             |
  bb.0:
    liveins: %d0, %d1

    %0(s64) = COPY %d0
    %1(s64) = COPY %d1
    %2(s64) = G_FDIV %0, %1
    %d0 = COPY %2(s64)
...
